Write a Command Line Interface application to create, edit, delete, and manage notes. Notes are structured in a user defined folders structure as a Git repo. Each note is saved with the git commit command. The tool is and easily extendable with plugins.
- TypeScript
- oclif
- Git
with mermaid syntax
graph TD
CLI --> CLI:G(GitHub)
CLI --> CLI:A(Architecture)
CLI:A --> CLI:Lang(TypeScript)
CLI:A --> CLI:Git(Git)
CLI:A --> CLI:MD(Markdown)
CLI:A --> CLI:Overview(Frameworks Overview)
CLI:Overview -->
CLI:Overview:Article1>Basic CLI in Node.js]
CLI:Overview:Article1 -->
CLI:Overview:Article2>CLI Tools Overview]
CLI:Overview:Article2 -->
CLI:Overview:Article3>CLI in TypeScrpipt]
note
- single commit with text data
notebook
- a collection of notes inside a folder
- Add, edit, delete note and notebook
- List note with user interaction (add an item)
- Print a note to PDF
note notebook ideas "Store all ideas"
# add folder *ideas* with a file *README.md* title *Store all ideas*
# ideas
# ├── README.md
note ideas list "A list of ideas" idea
# add a list *idea* inside *ideas/README.md*
note ideas/idea "Write a CLI for notes"
# add an *idea* list item inside *ideas/README.md*
Where a content of a ideas/README.md file will be
# About
Store all ideas
# Table Of Contents
- [A list of ideas](#idea)
# <a href="#idea">Idea</a>
- Write a CLI for notes
Originally, a user can commit with an empty git repository modification
git commit --allow-empty -m "My Note"