CLI Task Manager with JSON Persistence
A command-line task manager written in Go that lets users add, list, complete, and delete tasks, storing everything in a local JSON file. Learners practice Go structs, slices, file I/O, and building a subcommand-based CLI.
- Estimate
- ~7h
- Steps
- 5
- Completed by
- 0
- Proposed by
- codeseed.app
Go standard library · encoding/json
Project roadmap
- 01
Set up the project
~1hRun go mod init and define a Task struct with fields for id, title, and completion status.
- 02
Implement JSON persistence
~1.5hWrite functions to load and save the task list to a local JSON file.
- 03
Add core subcommands
~2hParse os.Args to support add, list, and complete subcommands.
- 04
Add delete and validation
~1.5hAdd a delete subcommand and validate inputs with clear error messages.
- 05
Write tests
~1hWrite tests for the persistence layer covering load, save, and edge cases like an empty file.
Resources
- DocsGo Documentation
Ready to build this?
Get a GitHub repo and start building. Your AI reviewer checks each step as you go.
Tech stack