This is a submission for the MLH x DEV Writing Challenge
What I Built
During fast-paced hackathons and daily coding sessions, it is easy to lose track of smaller bugfixes, architectural choices, and technical breakthroughs.
To solve this, I built copilot-devlog-cli—a lightweight, local-first Python command-line tool designed to record dev notes in real-time and export them into structured Markdown post-mortems (DEVLOG_SUMMARY.md).
Inspired by a challenge to use AI coding assistants to construct practical applications, I wanted to build something I could actually use while building future projects. It allows developers to quickly log entries directly from the terminal and export clean summaries without interrupting their flow.
Key Learnings & Features:
Subcommand CLI Interface: Implemented add, view, and export subcommands using Python's argparse.
Robust Storage Handling: Safely stores entries in devlog_entries.json, gracefully reporting unreadable or malformed files rather than failing silently.
Custom Exporting: Supports custom log file targeting (--log-file) and flexible export destinations (--output).
Demo
RiyaDhami13
/
copilot-devlog-cli
A lightweight terminal activity logger and Markdown exporter built in Python with GitHub Copilot.
copilot-devlog-cli
A lightweight Python CLI to record daily development logs and export them to Markdown.
Requirements
- Python 3.8+
Usage
From the repository root, run:
python devlog.py <command> [options]
Use --log-file before the subcommand to store entries in a different JSON
file. Missing log files start empty; malformed or unreadable files are reported
as CLI errors instead of being silently replaced.
Add a log entry
python devlog.py add --title "Fix auth bug" --category "Bugfix" --notes "Resolved token refresh issue"
View all entries
python devlog.py view
Export Markdown summary
python devlog.py export
To write the Markdown summary somewhere else, use --output:
python devlog.py export --output reports/devlog.md
Output files
-
devlog_entries.json: local JSON storage for all entries -
DEVLOG_SUMMARY.md: generated Markdown summary document
Here is copilot-devlog-cli in action inside the terminal:
1. Add a log entry
python devlog.py add --title "Fix auth token refresh" --category "Bugfix" --notes "Resolved silent 401 response on expired JWT"
2. Viewing Recent Dev Notes
python devlog.py view
3. Exporting Markdown Summary
python devlog.py export --output reports/devlog.md
🛠️ Development Log Summary
[Bugfix] Fix auth token refresh
- Notes: Resolved silent 401 response on expired JWT
- Timestamp: 2026-10-22 14:30
Partner Technologies
GitHub Copilot
I leveraged GitHub Copilot as my primary pair programmer throughout the development process.
How it was implemented:
CLI Scaffolding: Copilot helped generate the boilerplate for complex argparse subcommand structures and optional flag parser rules (--log-file, --output).
Error & Edge-Case Handling: Guided the implementation of safe JSON parsing logic—ensuring missing files start gracefully as empty datasets while corrupted files trigger informative CLI error messages.
Markdown Formatter: Assisted in writing string serialization routines to convert raw JSON logs into clean, readable Markdown documents.
Working with Copilot significantly accelerated the build phase, allowing me to focus on UX and error handling rather than syntax lookup.
Hackathon Experience
Building this tool during the MLH challenge window was an incredible learning curve!
The experience highlighted how AI assistants can transform simple prompt challenges into functional developer utilities. Interacting with the global hacker community and seeing the creative ways developers solve everyday friction points inspired me to focus on local-first, developer-centric tooling. What I'll remember most is the satisfaction of using the tool I built to log the process of building it!
Thanks for reading!













