Skip to content

gustmrg/devlog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevLog

Go Version Latest Release License

A small command-line tool for developers to record daily work notes and generate simple Markdown summaries.

DevLog is intended to be useful both directly from the terminal and through coding-agent harnesses such as Pi, OpenCode, or similar tools. The CLI remains the source of truth; agent integrations can call the CLI to log work or create summaries.


Current Features

  • Initialize a local ~/.devlog/config.json
  • Add dated activity entries with project and tags
  • List entries for a specific day
  • Generate a basic Markdown summary for a specific day
  • Show a previously generated summary
  • List previously generated summaries with date-range filters
  • Store all data locally under ~/.devlog/
  • Report version/build info and self-update from GitHub releases

Quick Start

# Initialize DevLog data/config
devlog init

# Log an activity
devlog add "Fixed pagination bug on transactions list" -p bitfinance -t frontend --date 2026-04-14

# View today's entries
devlog list

# View entries for a specific day
devlog list --date 2026-04-14

# Generate today's summary
devlog summary create

# Generate a summary for a specific day
devlog summary create --date 2026-04-14

# Show a saved summary
devlog summary show --date 2026-04-14

Example summary output:

---
date: 2026-04-14
style: concise
projects: Echo, BitFinance
---
**Echo**
- Implemented JWT auth middleware
- Built refresh token rotation logic

**BitFinance**
- Fixed budget category filter bug

Installation

Download binary

Download the latest release for your platform from the releases page.

Build from source

Prerequisite: Go compatible with the version declared in go.mod.

git clone https://github.com/gustmrg/devlog
cd devlog
go build -o bin/devlog .

Then move the binary somewhere in your PATH, for example:

mv bin/devlog /usr/local/bin/

Initialize DevLog:

devlog init

Data Storage

DevLog stores data locally under:

~/.devlog/
├── config.json
├── entries/
│   └── 2026-04-14.json
└── summaries/
    └── 2026-04-14.md

Entry files are JSON. Summary files are Markdown with YAML frontmatter.


Commands

devlog init

Creates the ~/.devlog/ directory and a default config.json.

devlog init

Current note: this command uses safe config creation and will not overwrite an existing config file.


devlog add

Logs a new activity entry.

devlog add <description> [options]

Equivalent explicit form: devlog entry add <description> [options].

Options currently implemented:

Option Short Description
--project <name> -p Project name. Uses defaults.project from config if omitted.
--tags <list> -t Comma-separated tags.
--date <YYYY-MM-DD> Override entry date. Defaults to today.

Examples:

devlog add "Implemented refresh token rotation" -p echo -t backend,auth
devlog add "Reviewed checkout API" -p shop --date 2026-04-14

devlog list

Displays entries for today or for a specific date.

devlog list [options]

Equivalent explicit form: devlog entry list [options].

Options currently implemented:

Option Description
--date <YYYY-MM-DD> Show entries for a specific date. Defaults to today.

Examples:

devlog list
devlog list --date 2026-04-14

devlog summary create

Generates a basic Markdown summary from logged entries and saves it to ~/.devlog/summaries/.

devlog summary create [options]

Options currently implemented:

Option Description
--date <YYYY-MM-DD> Summarize a specific date. Defaults to today.

Examples:

devlog summary create
devlog summary create --date 2026-04-14

devlog summary list

Lists previously generated summaries. With no flags, shows summaries from the current week.

devlog summary list [options]

Options currently implemented:

Option Short Description
--week -w Show summaries from the current week (Monday–Sunday). This is the default when no flag is given.
--month -m Show summaries from the current month.
--from <YYYY-MM-DD> Start of date range.
--to <YYYY-MM-DD> End of date range.

Examples:

devlog summary list
devlog summary list --week
devlog summary list --month
devlog summary list --from 2026-04-01 --to 2026-04-14

devlog summary show

Displays a previously generated summary.

devlog summary show [options]

Options currently implemented:

Option Description
--date <YYYY-MM-DD> Show summary for a specific date. Defaults to today.

Examples:

devlog summary show
devlog summary show --date 2026-04-14

devlog version

Prints the installed version, commit, and build date.

devlog version [options]

Options currently implemented:

Option Description
--check Also query GitHub and report whether a newer release is available.

Examples:

devlog version
devlog version --check

devlog update

Checks GitHub for a newer release and, if found, downloads it, verifies its checksum, and replaces the running binary in place.

devlog update [options]

Options currently implemented:

Option Short Description
--yes -y Skip the confirmation prompt.

Examples:

devlog update
devlog update --yes

Configuration

Configuration is stored at:

~/.devlog/config.json

Default shape:

{
  "defaults": {
    "project": "default",
    "style": "concise",
    "language": "pt-BR"
  },
  "llm": {
    "enabled": false,
    "provider": "openrouter",
    "model": "openai/gpt-oss-120b:free",
    "apiKeyEnvVar": "OPENROUTER_API_KEY"
  }
}

The config command interface is planned but not fully implemented yet.


Planned Features

The following features are planned or partially scaffolded, but should not be treated as stable yet.

Entry Management

  • devlog add --duration <minutes> / -d <minutes>
  • devlog add -i interactive entry creation
  • devlog entry edit <id>
  • devlog entry delete <id>
  • devlog list --week
  • devlog list --project <name>
  • devlog list --tag <name>

Summaries

  • devlog summary create --week
  • devlog summary create --style concise|detailed|formal|impersonal
  • devlog summary create --format <template>
  • summary templates from ~/.devlog/templates/

Configuration

  • devlog config list
  • devlog config get <key>
  • devlog config set <key> <value>

AI-Enhanced Summaries

  • devlog summary create --ai
  • optional LLM narrative polishing
  • support for configured provider/model/API key
  • output language based on config, e.g. pt-BR or en-US

Built With


License

MIT

About

A command-line tool for developers to track daily activities and generate formatted timesheet summaries.

Resources

License

Stars

Watchers

Forks

Contributors

Languages