dev-log: Weekly Developer Work Log Tool
A command-line utility to help developers create and edit weekly work logs, persisting them as structured markdown files. Track project accomplishments and delivery status week by week, all without leaving your terminal.
Overview
dev-log is a lightweight .NET global tool built for developers who want a simple, structured way to record what they accomplished each week. Instead of digging through commit history or recall what you did last Tuesday, dev-log gives you a consistent place to capture it as you go.
Logs are saved as plain markdown files organized by week, making them easy to read, share, or check into source control. Whether you're filling out a weekly status report, preparing for a retrospective, or just keeping yourself accountable, dev-log keeps it fast and frictionless.
Installation
dotnet tool install --global dev-log
To update the tool to the latest version:
dotnet tool update --global dev-log
Because the tool is installed globally, you can run dev-log from any directory in your terminal.
Features
Weekly Log Organization
Logs are automatically organized by week. Each weekly log is saved as a markdown file named
dev-log-YYYYMMDD.md, where the date is the Sunday that starts the week.
You never have to think about file naming or folder structure — dev-log handles it for you.
Project-Based Entries
Each log is organized by project name. Add accomplishments for as many projects as you're working on in a given week, and they'll be grouped cleanly in the output markdown file. This makes it easy to see at a glance what you shipped across all your work.
Interactive Accomplishment Entry
When adding a log entry, dev-log prompts you for accomplishments one at a time. Enter each one on its own line and press Enter on an empty line when you're done. No editors to open, no files to navigate — just type what you did and move on.
Enter accomplishments (one per line, empty line to finish): > Implemented the OAuth integration with full test coverage > Fixed the cache invalidation bug blocking the release >
In-Place Editing
Made a typo or need to refine an accomplishment? The edit command lets you
update individual lines from the current week's log interactively. It shows your current
entries with line numbers and prompts you to pick which one to update.
Current accomplishments: [1] Implemented the OAuth integration with full test coverage [2] Fixed the cache invalidation bug blocking the release Enter line number to edit (empty to finish): > 2 New text: Resolved the cache invalidation bug, unblocking the v2.1 release Enter line number to edit (empty to finish): >
Interactive REPL Mode
Running dev-log with no arguments starts an interactive session where you can run multiple
commands without re-launching the tool. Type exit to quit or
--help to list available commands.
log> add MyProject -f ./devlogs log> view -f ./devlogs log> list -f ./devlogs log> exit
Readable Markdown Output
Every log is saved as clean, readable markdown. You can open the files in any editor, drop them into documentation, or check them into a repo. The format is consistent and human-friendly — no proprietary formats or locked-in data.
## Week of January 5, 2025 ### MyProject - Implemented the OAuth integration with full test coverage - Resolved the cache invalidation bug, unblocking the v2.1 release - Refactored the service layer to improve readability and reduce duplication ### AnotherProject - Reviewed and merged six pull requests - Upgraded dependencies to the latest stable versions - Wrote design doc for the upcoming data migration feature
Commands
USAGE:
dev-log [COMMAND] [OPTIONS]
OPTIONS:
-h, --help Prints help information
COMMANDS:
add <PROJECT> Add a project entry to this week's dev-log (alias: a)
edit <PROJECT> Edit an existing project entry in the dev-log (alias: e)
view View the full dev-log for a given week (alias: v)
list List all available dev-log files (alias: ls)add
Add accomplishments for a project to this week's log. Prompts interactively for each
accomplishment. Use -d to target a prior week and -f to specify
a custom folder.
# Add to this week's log dev-log add MyProject # Add to a specific folder for a prior week dev-log add MyProject -f ./devlogs -d 01-08-2025
edit
Update individual accomplishment lines in an existing log entry. The tool displays current
entries with numbered lines and prompts for which to change. Supports the same
-d and -f options as add.
# Edit this week's entry for MyProject dev-log edit MyProject # Edit a prior week's entry dev-log edit MyProject -d 01-08-2025 -f ./devlogs
view
Display the full dev-log for the current or a specified week. Useful for reviewing what you've recorded before wrapping up or sharing a status update.
# View this week's log dev-log view # View a specific week stored in a custom folder dev-log view -d 01-08-2025 -f ./devlogs
list
List all available dev-log files, showing each file name alongside its corresponding week date. Great for quickly finding a past week's log.
# List logs in the current directory dev-log list # List logs in a specific folder dev-log list -f ./devlogs
Example output:
dev-log-20250112.md (Week of January 12, 2025) dev-log-20250105.md (Week of January 5, 2025) dev-log-20241229.md (Week of December 29, 2024)
Getting Started
Install the tool, navigate to your working directory, and run your first add
command. dev-log will create the weekly log file automatically if it doesn't exist yet.
dotnet tool install --global dev-log dev-log add MyProject
From there, add entries throughout the week as you complete work. At the end of the week,
run dev-log view to see a full summary of everything you accomplished.
If you have feedback, bugs, or feature suggestions, please file them in the Issues section of the repository.
Ready to start logging your development work?