A simple command-line interface (CLI) tool to manage your notes. This project is beginner-friendly and perfect for learning Python, open source, and contributing during Hacktoberfest.
- Add new notes
- List all notes
- Search notes by keyword
- Delete notes by ID
- Persistent storage using JSON
notes-cli/
├── notes\_cli/
│ ├── **init**.py
│ ├── main.py \# CLI entry point
│ ├── notes.py \# Core notes functions
│ ├── storage.py \# Handles reading/writing JSON
│ └── utils.py \# Helper functions
├── data/
│ └── notes.json \# Stores notes persistently
├── tests/
│ ├── test\_notes.py \# Unit tests for notes.py
│ └── test\_storage.py \# Unit tests for storage.py
├── requirements.txt \# Dependencies (if any)
└── README.md
- Clone the repository:
git clone [https://github.com/your-username/notes-cli.git](https://github.com/your-username/notes-cli.git)
cd notes-cli- (Optional) Create a virtual environment:
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows- Install dependencies (if any):
pip install -r requirements.txtRun the CLI using Python:
python -m notes_cli.main <command> [options]Add a note
python -m notes_cli.main add "Buy groceries"List all notes
python -m notes_cli.main listSearch notes
python -m notes_cli.main search "groceries"Delete a note
python -m notes_cli.main delete 1We welcome contributions! Here’s how to get started:
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature-name - Make your changes
- Commit your changes:
git commit -m "Add your descriptive message" - Push to the branch:
git push origin feature/your-feature-name - Create a pull request
Check out our [issues] for good first issues.
This project is licensed under the MIT License. See the LICENSE file for details.
- Inspired by beginner-friendly Python projects
- Perfect for Hacktoberfest contributions