Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

61 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ Notes Manager CLI

A powerful, feature-rich, and professional command-line Notes Manager built with Node.js, Commander.js, and SQLite.

npm npm Downloads License Node.js SQLite Jest


πŸ“– Overview

Notes Manager CLI is a modern command-line application designed to help developers, students, and professionals manage notes efficiently without leaving the terminal.

Unlike a basic CRUD project, Notes Manager CLI provides a complete productivity toolkit including:

  • βœ… Smart note management
  • βœ… Categories
  • βœ… Favorites
  • βœ… Pinning
  • βœ… Locking
  • βœ… Tags
  • βœ… Due dates
  • βœ… Recurring notes
  • βœ… Advanced searching
  • βœ… Statistics
  • βœ… Productivity reports
  • βœ… History tracking
  • βœ… Backup & Restore
  • βœ… Import & Export
  • βœ… SQLite persistence

The project follows professional software engineering principles and demonstrates clean architecture, modular development, automated testing, and scalable code organization.


πŸš€ Why Notes Manager CLI?

Managing notes from the terminal should be fast, intuitive, and reliable.

Notes Manager CLI was built with the following goals:

  • Improve developer productivity
  • Keep notes stored locally
  • No internet connection required
  • Fast SQLite database
  • Simple yet powerful commands
  • Clean architecture
  • Easy maintenance
  • Open-source

Whether you're managing daily tasks, project ideas, study notes, or reminders, Notes Manager CLI provides an efficient workflow directly from your terminal.


✨ Highlights

  • πŸš€ 35+ CLI Commands
  • πŸ“¦ 20+ Major Features
  • πŸ—„ SQLite Database
  • πŸ“Š Statistics Dashboard
  • πŸ“ˆ Productivity Reports
  • πŸ“‚ Categories & Tags
  • ⭐ Favorites
  • πŸ“Œ Pin Notes
  • πŸ”’ Lock Notes
  • πŸ—‘ Trash Management
  • β™» Undo Operations
  • πŸ“œ History Tracking
  • πŸ’Ύ Backup & Restore
  • πŸ“€ Import & Export
  • πŸ” Advanced Search
  • πŸ§ͺ 117 Automated Tests
  • ⚑ Modular Architecture
  • πŸ“¦ Published on npm

πŸ“Έ Demo

$ notes list

β”Œβ”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ ID β”‚ Note                         β”‚ Priority β”‚ Status   β”‚
β”œβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 1  β”‚ Learn Node.js                β”‚ HIGH     β”‚ Pending  β”‚
β”‚ 2  β”‚ Finish React Project         β”‚ MEDIUM   β”‚ Done     β”‚
β”‚ 3  β”‚ Prepare Interview Questions  β”‚ LOW      β”‚ Pending  β”‚
β””β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“¦ Installation

Requirements

Before installing, make sure you have:

  • Node.js 20 or later
  • npm
  • Windows, macOS, or Linux

Verify your installation:

node -v
npm -v

⚑ Install from npm (Recommended)

Install globally:

npm install -g notes-manager-cli

Verify installation:

notes --version

Expected output:

1.0.2

View all available commands:

notes --help

πŸš€ Your First Note

Create a note:

notes add "Learn Node.js"

List notes:

notes list

Complete a note:

notes complete 1

Generate statistics:

notes stats

Generate productivity report:

notes report

Check database health:

notes doctor

πŸ‘¨β€πŸ’» Developer Installation

If you'd like to contribute or modify the source code:

Clone the repository:

git clone https://github.com/Rudra070707/notes-manager-cli.git

Navigate into the project:

cd notes-manager-cli

Install dependencies:

npm install

Run the application locally:

node index.js --help

Run tests:

npm test

πŸ“ Data Storage

Notes Manager CLI stores all data locally using SQLite.

Your notes remain on your computer.

No cloud storage.

No account required.

No internet connection required.

For additional safety, backups can be created anytime:

notes backup

and restored using:

notes restore-db <backup-file>

🎯 Designed For

Notes Manager CLI is useful for:

  • πŸ‘¨β€πŸ’» Software Developers
  • πŸŽ“ Students
  • πŸ“š Self-learners
  • πŸ“‹ Project Managers
  • πŸ’Ό Professionals
  • πŸ§‘β€πŸ’Ό Freelancers
  • 🧠 Daily Task Management

⭐ Key Features

Notes Manager CLI is much more than a basic note-taking application. It combines task management, productivity tools, organization features, and database persistence into a single command-line experience.


βœ… Core Note Management

Efficiently create and manage your notes.

Features

  • Create unlimited notes
  • Update existing notes
  • Delete notes
  • List all notes
  • Mark notes as completed
  • Mark completed notes as pending
  • Undo the last operation
  • Trash support
  • Archive support

Example

notes add "Complete Java Assignment"

notes list

notes update 1 "Complete Java Assignment before Friday"

notes complete 1

notes uncomplete 1

notes delete 1

notes undo

πŸ“‚ Organization

Organize notes exactly the way you want.

Categories

Group notes into categories.

Examples:

  • Personal
  • College
  • Work
  • Projects
  • Ideas
notes add "Finish DBMS Assignment" --category College

notes list --category College

notes categories

notes rename-category College Academics

Tags

Attach multiple tags to any note.

Example:

notes add "Build REST API" --tag backend,nodejs,express

Search using tags.

notes search --tag backend

Priority Levels

Every note can have a priority.

Supported priorities:

  • Low
  • Medium
  • High

Example:

notes add "Finish Project" --priority high

Filter:

notes list --priority high

Sort:

notes list --sort priority

Pin Notes

Pin important notes to keep them at the top.

notes pin 2

notes unpin 2

Favorite Notes

Mark frequently used notes as favorites.

notes favorite 3

notes favorites

notes unfavorite 3

Lock Notes

Protect sensitive notes.

notes lock 5

notes unlock 5

πŸ“… Due Dates

Assign deadlines to notes.

notes add "Submit Final Report" --due 2026-08-15

Filter by due dates.

notes today

notes upcoming

notes overdue

πŸ” Recurring Notes

Create recurring reminders.

Supported recurrence:

  • Daily
  • Weekly
  • Monthly

Examples

notes add "Drink Water" --daily

notes add "Weekly Team Meeting" --weekly

notes add "Pay Rent" --monthly

πŸ“ˆ Productivity Features

Stay organized and productive with built-in productivity commands.

Today's Tasks

notes today

Upcoming Tasks

notes upcoming

Overdue Tasks

notes overdue

Recent Notes

notes recent

Next Priority Task

notes next

Statistics Dashboard

View overall statistics.

notes stats

Example output:

Total Notes:          18
Completed:             9
Pending:               9
High Priority:         4
Favorites:             6
Archived:              2
Locked:                3

Productivity Report

Generate a detailed productivity report.

notes report

The report summarizes:

  • Completed tasks
  • Pending tasks
  • Completion percentage
  • Priority distribution
  • Category distribution
  • Overall productivity

πŸ” Search & Filtering

Quickly find the notes you need.

Search by keyword.

notes search project

Search by priority.

notes search --priority high

Search by category.

notes search --category Work

Search favorites.

notes search --favorite

Search locked notes.

notes search --locked

Search pinned notes.

notes search --pinned

Search completed notes.

notes search --completed

Search pending notes.

notes search --pending

⚑ Sorting

Sort notes by different fields.

notes list --sort created

notes list --sort priority

notes list --sort due

notes list --sort status

πŸ“Š Feature Summary

Feature Supported
Create Notes βœ…
Update Notes βœ…
Delete Notes βœ…
Complete Notes βœ…
Archive Notes βœ…
Trash βœ…
Categories βœ…
Tags βœ…
Favorites βœ…
Pin Notes βœ…
Lock Notes βœ…
Due Dates βœ…
Recurring Notes βœ…
Search βœ…
Sorting βœ…
Statistics βœ…
Productivity Reports βœ…

πŸš€ Quick Start Workflow

A typical workflow looks like this:

notes add "Learn Node.js" --priority high --category Study

notes add "Finish React Project" --priority medium --due 2026-08-10

notes list

notes complete 1

notes stats

notes report

πŸ“š Complete Command Reference

This section provides a comprehensive overview of every command available in Notes Manager CLI.


βž• Add Notes

Create a new note.

Syntax

notes add "<note>"

Options

Option Description
--priority Set priority (low, medium, high)
--category Assign category
--tag Add comma-separated tags
--due Set due date
--daily Repeat daily
--weekly Repeat weekly
--monthly Repeat monthly

Examples

notes add "Learn Node.js"

notes add "Complete Project" --priority high

notes add "Study DBMS" --category College

notes add "Practice DSA" --tag coding,dsa

notes add "Submit Assignment" --due 2026-08-10

notes add "Drink Water" --daily

πŸ“‹ List Notes

Display all notes.

Syntax

notes list

Alias

notes ls

Options

Option Description
--sort created Sort by creation date
--sort priority Sort by priority
--sort due Sort by due date
--sort status Sort by completion status
--priority Filter by priority
--tag Filter by tag
--category Filter by category
--completed Show completed notes
--pending Show pending notes
--today Show today's notes
--this-week Show notes due this week
--overdue Show overdue notes
--upcoming Show upcoming notes
--favorite Show favorites only

Examples

notes list

notes list --priority high

notes list --category Work

notes list --tag backend

notes list --completed

notes list --sort priority

✏ Update Notes

Update an existing note.

notes update 2 "Finish React Project"

❌ Delete Notes

Delete one or more notes.

notes delete 3

notes delete 3 4 5

Alias

notes rm 3

βœ… Complete Notes

Mark notes as completed.

notes complete 2

notes complete 2 3 4

Alias

notes done 2

↩ Mark Pending

Convert completed notes back to pending.

notes uncomplete 2

β™» Undo

Undo the previous action.

notes undo

πŸ“¦ Archive Notes

Archive notes without deleting them.

notes archive 2

Alias

notes arc 2

View archived notes

notes archived

Restore

notes restore 2

Alias

notes res 2

Delete all archived notes

notes clear-archived

πŸ—‘ Trash

View trash

notes trash

Restore

notes restore-trash 3

Empty trash

notes empty-trash

πŸ“Œ Pin Notes

Pin important notes.

notes pin 2

Remove pin

notes unpin 2

⭐ Favorites

Add favorite

notes favorite 2

Remove favorite

notes unfavorite 2

List favorites

notes favorites

πŸ”’ Lock Notes

Lock

notes lock 2

Unlock

notes unlock 2

πŸ” Search

Search by keyword.

notes search project

Alias

notes find project

Available filters

Filter Description
--priority Priority filter
--category Category filter
--tag Tag filter
--favorite Favorites only
--locked Locked notes
--pinned Pinned notes
--completed Completed notes
--pending Pending notes

Examples

notes search react

notes search --priority high

notes search --category College

notes search --favorite

notes search --locked

πŸ“Š Statistics

Display statistics.

notes stats

Alias

notes stat

πŸ“ˆ Productivity Report

Generate a productivity report.

notes report

πŸ“… Productivity Commands

Today's tasks

notes today

Upcoming tasks

notes upcoming

Overdue tasks

notes overdue

Recent notes

notes recent

Next recommended task

notes next

πŸ“‚ Categories

View categories

notes categories

Rename category

notes rename-category College Academics

Delete category

notes delete-category Ideas

πŸ“œ History

View activity history.

notes history

Limit records

notes history --limit 20

Search history

notes history --search update

Today's history

notes history --today

Filter by action

notes history --type ADD

Clear history

notes history --clear

πŸ’Ύ Backup & Restore

Create backup

notes backup

List backups

notes backups

Restore backup

notes restore-db backup-2026-08-01.db

πŸ“€ Export

Supported formats

  • JSON
  • CSV
  • Markdown

Examples

notes export json

notes export csv

notes export md

πŸ“₯ Import

Import JSON data.

notes import json notes.json

βš™ Configuration

View configuration

notes config show

Change configuration

notes config set theme dark

Reset configuration

notes config reset

πŸ›‘ Security

Manage security features.

notes security enable

notes security disable

🩺 Doctor

Run diagnostics.

notes doctor

The Doctor command checks:

  • Database health
  • Missing tables
  • Corrupted records
  • Configuration issues
  • Backup status

❓ Help

Display built-in help.

notes --help

Custom help

notes help-custom

πŸ— Architecture & Project Structure

Notes Manager CLI follows a clean layered architecture that separates responsibilities into independent modules. This makes the project easier to maintain, extend, and test.

The application flow is:

                 User
                   β”‚
                   β–Ό
        Commander.js CLI Interface
                   β”‚
                   β–Ό
             Command Layer
                   β”‚
                   β–Ό
             Service Layer
                   β”‚
                   β–Ό
          Repository Layer
                   β”‚
                   β–Ό
            SQLite Database

Every layer has a single responsibility and communicates only with the layer below it.


πŸ“‚ Project Structure

notes-manager-cli/
β”‚
β”œβ”€β”€ commands/
β”‚   β”œβ”€β”€ add.js
β”‚   β”œβ”€β”€ archive.js
β”‚   β”œβ”€β”€ backup.js
β”‚   β”œβ”€β”€ categories.js
β”‚   β”œβ”€β”€ category.js
β”‚   β”œβ”€β”€ clear.js
β”‚   β”œβ”€β”€ clearArchived.js
β”‚   β”œβ”€β”€ complete.js
β”‚   β”œβ”€β”€ config.js
β”‚   β”œβ”€β”€ delete.js
β”‚   β”œβ”€β”€ deleteCategory.js
β”‚   β”œβ”€β”€ doctor.js
β”‚   β”œβ”€β”€ emptyTrash.js
β”‚   β”œβ”€β”€ export.js
β”‚   β”œβ”€β”€ favorite.js
β”‚   β”œβ”€β”€ favorites.js
β”‚   β”œβ”€β”€ help.js
β”‚   β”œβ”€β”€ history.js
β”‚   β”œβ”€β”€ import.js
β”‚   β”œβ”€β”€ list.js
β”‚   β”œβ”€β”€ lock.js
β”‚   β”œβ”€β”€ next.js
β”‚   β”œβ”€β”€ overdue.js
β”‚   β”œβ”€β”€ pin.js
β”‚   β”œβ”€β”€ recent.js
β”‚   β”œβ”€β”€ renameCategory.js
β”‚   β”œβ”€β”€ report.js
β”‚   β”œβ”€β”€ restore.js
β”‚   β”œβ”€β”€ restoreBackup.js
β”‚   β”œβ”€β”€ restoreTrash.js
β”‚   β”œβ”€β”€ search.js
β”‚   β”œβ”€β”€ security.js
β”‚   β”œβ”€β”€ stats.js
β”‚   β”œβ”€β”€ today.js
β”‚   β”œβ”€β”€ trash.js
β”‚   β”œβ”€β”€ uncomplete.js
β”‚   β”œβ”€β”€ undo.js
β”‚   β”œβ”€β”€ unfavorite.js
β”‚   β”œβ”€β”€ unlock.js
β”‚   β”œβ”€β”€ unpin.js
β”‚   β”œβ”€β”€ upcoming.js
β”‚   └── update.js
β”‚
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ database.js
β”‚   β”œβ”€β”€ noteRepository.js
β”‚   β”œβ”€β”€ logRepository.js
β”‚   β”œβ”€β”€ configRepository.js
β”‚   β”œβ”€β”€ securityRepository.js
β”‚   └── undoRepository.js
β”‚
β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ backupService.js
β”‚   β”œβ”€β”€ configService.js
β”‚   β”œβ”€β”€ exportService.js
β”‚   β”œβ”€β”€ historyService.js
β”‚   β”œβ”€β”€ importService.js
β”‚   β”œβ”€β”€ loggerService.js
β”‚   β”œβ”€β”€ noteService.js
β”‚   β”œβ”€β”€ securityService.js
β”‚   └── undoService.js
β”‚
β”œβ”€β”€ validators/
β”œβ”€β”€ filters/
β”œβ”€β”€ sorters/
β”œβ”€β”€ helpers/
β”œβ”€β”€ ui/
β”œβ”€β”€ config/
β”œβ”€β”€ tests/
β”œβ”€β”€ package.json
β”œβ”€β”€ index.js
β”œβ”€β”€ README.md
└── LICENSE

πŸ“ Folder Responsibilities

Folder Purpose
commands/ CLI command implementations
database/ SQLite database access
services/ Business logic
validators/ Input validation
filters/ Search & filtering
sorters/ Sorting algorithms
helpers/ Shared helper functions
ui/ Console formatting
config/ Default configuration
tests/ Automated testing

βš™ Technology Stack

Technology Purpose
Node.js JavaScript runtime
Commander.js Command-line interface
SQLite Local database
sqlite3 SQLite driver
Jest Automated testing
Chalk Terminal colors
cli-table3 Beautiful CLI tables
Prompt Sync Interactive prompts
bcrypt Security features
Git Version control
GitHub Source code hosting
npm Package distribution

🧠 Design Principles

This project follows several software engineering principles to ensure scalability and maintainability.

Separation of Concerns

Every module has one responsibility.

Examples:

  • Commands execute CLI actions.
  • Services contain business logic.
  • Repositories communicate with SQLite.
  • Validators verify user input.

Layered Architecture

Instead of writing all logic inside commands, the application is divided into multiple layers.

Benefits:

  • Easier testing
  • Better code organization
  • Reusable logic
  • Easier debugging
  • Simpler maintenance

Repository Pattern

All database operations are isolated inside repository modules.

Instead of:

Command
    ↓
SQLite

The application uses:

Command
    ↓
Service
    ↓
Repository
    ↓
SQLite

Advantages:

  • Database-independent business logic
  • Easier future migrations
  • Cleaner codebase

Service Layer

The Service Layer contains all application logic.

Examples include:

  • Creating notes
  • Completing notes
  • Searching
  • Statistics generation
  • Productivity reports
  • Import & export
  • Backup management

This keeps command files small and focused.


πŸ—„ Database

Notes Manager CLI uses SQLite as its storage engine.

Benefits include:

  • Lightweight
  • Fast
  • Serverless
  • Reliable
  • Cross-platform
  • No installation required

All data is stored locally on your machine.


πŸ“Š Database Features

The application stores:

  • Notes
  • Categories
  • Tags
  • Priority levels
  • Due dates
  • Recurring schedules
  • Favorites
  • Pin status
  • Lock status
  • History logs
  • Configuration
  • Backup information

πŸ”’ Security

Several features improve data safety.

Supported features include:

  • Password hashing with bcrypt
  • Locked notes
  • Confirmation prompts before destructive operations
  • Backup system
  • Undo support
  • Restore functionality

πŸ“ˆ Performance

The application is optimized for fast execution.

Performance characteristics:

  • Fast startup
  • SQLite indexing
  • Lightweight architecture
  • Efficient searching
  • Minimal memory usage

Even large note collections remain responsive.


πŸ§ͺ Code Quality

The project emphasizes maintainable, production-ready code.

Practices include:

  • Modular structure
  • Reusable functions
  • Clear naming conventions
  • Input validation
  • Error handling
  • Automated testing
  • Consistent formatting

πŸ”„ Development Workflow

Development follows a structured workflow.

Feature Idea
      β”‚
      β–Ό
Implementation
      β”‚
      β–Ό
Testing
      β”‚
      β–Ό
Linting
      β”‚
      β–Ό
Formatting
      β”‚
      β–Ό
Git Commit
      β”‚
      β–Ό
GitHub Push
      β”‚
      β–Ό
npm Publish

πŸ“¦ Release Process

Each release follows semantic versioning.

Example:

1.0.0
β”‚ β”‚ β”‚
β”‚ β”‚ └── Patch
β”‚ └──── Minor
└────── Major

Releases are published through npm and tracked with Git.


πŸš€ Continuous Integration

The project includes automated quality checks.

Current pipeline includes:

  • Code formatting
  • Linting
  • Automated tests
  • Build verification

Every push helps ensure the codebase remains stable and production-ready.


πŸ§ͺ Testing & Quality Assurance

Maintaining reliability is a key goal of Notes Manager CLI.

The project uses Jest for automated testing to ensure that new features do not break existing functionality.

Current testing includes:

  • βœ… CRUD Operations
  • βœ… Search
  • βœ… Categories
  • βœ… Favorites
  • βœ… Pinning
  • βœ… Locking
  • βœ… Import & Export
  • βœ… Backup & Restore
  • βœ… Statistics
  • βœ… Productivity Commands
  • βœ… Validation
  • βœ… Repository Layer
  • βœ… Service Layer

β–Ά Running Tests

Run the complete test suite:

npm test

Run tests with coverage:

npm test -- --coverage

Run a specific test:

npm test -- add.test.js

πŸ“Š Project Statistics

Metric Value
CLI Commands 35+
Major Features 20+
Service Modules 10+
Repository Modules 5+
Validators Multiple
Tests 117+
Database SQLite
License MIT
Package Manager npm

🧹 Code Quality

The project follows professional coding standards.

Quality tools include:

  • ESLint
  • Prettier
  • Husky
  • GitHub Actions
  • Jest

Run ESLint:

npm run lint

Automatically fix problems:

npm run lint:fix

Format the project:

npm run format

πŸš€ CI/CD

GitHub Actions automatically checks every push and pull request.

The workflow verifies:

  • Install dependencies
  • Run tests
  • Check formatting
  • Verify project integrity

This helps maintain a stable and production-ready codebase.


πŸ“¦ npm Package

Notes Manager CLI is available on npm.

Install globally:

npm install -g notes-manager-cli

Update to the latest version:

npm update -g notes-manager-cli

Check installed version:

notes --version

🀝 Contributing

Contributions are welcome!

Whether you're fixing bugs, improving documentation, or adding features, your help is appreciated.

Development Setup

Clone the repository:

git clone https://github.com/Rudra070707/notes-manager-cli.git

Move into the project:

cd notes-manager-cli

Install dependencies:

npm install

Run tests:

npm test

Create a new feature branch:

git checkout -b feature/my-feature

After making your changes:

git add .

git commit -m "feat: add amazing feature"

git push origin feature/my-feature

Finally, open a Pull Request on GitHub.


πŸ“œ Contribution Guidelines

Please follow these guidelines:

  • Write clean code
  • Follow existing coding style
  • Keep commits meaningful
  • Add tests for new features
  • Update documentation when necessary
  • Ensure all tests pass before submitting

πŸ›£ Roadmap

βœ… Completed

  • CRUD Operations
  • SQLite Integration
  • Categories
  • Favorites
  • Pin Notes
  • Lock Notes
  • Due Dates
  • Recurring Notes
  • Statistics Dashboard
  • Productivity Report
  • Advanced Search
  • Import
  • Export
  • Backup
  • Restore
  • Undo
  • History
  • Doctor Command
  • Configuration System
  • npm Publishing
  • GitHub Actions CI
  • Automated Testing

πŸš€ Planned Features

The following improvements are planned for future releases.

v1.1

  • Shell Autocomplete
  • Improved Search Filters
  • Better CLI Output
  • Enhanced History
  • Performance Improvements

v1.2

  • Markdown Preview
  • Rich Text Export
  • Theme Support
  • Better Configuration Management

v2.0

  • Interactive Terminal UI (TUI)
  • Plugin System
  • Cloud Synchronization
  • End-to-End Encryption
  • Multi-Profile Support
  • Workspace Management

❓ Frequently Asked Questions

Is Notes Manager CLI free?

Yes.

It is completely free and open-source under the MIT License.


Does it require an internet connection?

No.

Everything works locally.


Does it use a cloud database?

No.

It uses SQLite stored on your local machine.


Is my data private?

Yes.

Your notes remain on your own computer unless you explicitly export or share them.


Can I back up my notes?

Absolutely.

notes backup

Restore them later:

notes restore-db <backup-file>

Can I import existing notes?

Yes.

notes import json notes.json

Can I export my notes?

Yes.

Supported formats:

  • JSON
  • CSV
  • Markdown

Example:

notes export json

πŸ› Troubleshooting

Command not found

If notes is not recognized:

  1. Verify Node.js is installed.
  2. Reinstall globally.
npm install -g notes-manager-cli

Wrong Version

Update to the latest version.

npm install -g notes-manager-cli@latest

Verify:

notes --version

Dependency Problems

Delete dependencies:

rm -rf node_modules

Install again:

npm install

Database Problems

Run diagnostics:

notes doctor

If necessary, restore from backup.


πŸ’‘ Best Practices

To get the most out of Notes Manager CLI:

  • Use categories to organize projects.
  • Add priorities to important tasks.
  • Use due dates for deadlines.
  • Create regular backups.
  • Review statistics regularly.
  • Use history to track activity.
  • Keep the application updated.

❀️ Acknowledgements

This project is made possible by the excellent open-source ecosystem, including:

  • Node.js
  • Commander.js
  • SQLite
  • Jest
  • Chalk
  • cli-table3
  • GitHub
  • npm

πŸ“„ License

This project is licensed under the MIT License.

The MIT License is a permissive open-source license that allows anyone to:

  • βœ… Use the software commercially
  • βœ… Modify the source code
  • βœ… Distribute copies
  • βœ… Use it privately
  • βœ… Publish modified versions

See the LICENSE file for the complete license text.


πŸ”– Versioning

This project follows Semantic Versioning (SemVer).

MAJOR.MINOR.PATCH

Example:

1.0.2
β”‚ β”‚ β”‚
β”‚ β”‚ └── Bug fixes
β”‚ └──── New features (backward compatible)
└────── Breaking changes

Examples:

Version Meaning
1.0.0 Initial Release
1.0.1 Bug Fix
1.0.2 Patch Update
1.1.0 New Features
2.0.0 Major Changes

🌍 Compatibility

Notes Manager CLI is designed to work across multiple operating systems.

Platform Supported
Windows βœ…
Linux βœ…
macOS βœ…

Requirements:

  • Node.js 20+
  • npm

πŸ“¦ Dependencies

Major dependencies used by the project:

  • Commander.js
  • SQLite3
  • Chalk
  • cli-table3
  • Prompt Sync
  • bcrypt
  • Jest

All dependencies are managed using npm.


πŸ“š Learning Objectives

This project demonstrates practical software engineering concepts including:

  • Command-Line Interface (CLI) Development
  • Node.js Application Development
  • SQLite Database Integration
  • Repository Pattern
  • Service Layer Architecture
  • Modular Programming
  • Input Validation
  • Error Handling
  • Unit Testing
  • Git Version Control
  • GitHub Workflow
  • npm Package Publishing
  • Software Documentation
  • Semantic Versioning

It serves as a strong portfolio project for students and developers looking to showcase backend development skills.


🎯 Who Should Use This?

Notes Manager CLI is suitable for:

  • πŸ‘¨β€πŸ’» Software Developers
  • πŸŽ“ Students
  • πŸ“š Self-Learners
  • πŸ’Ό Professionals
  • πŸ“‹ Project Managers
  • πŸ§‘β€πŸ’Ό Freelancers
  • πŸš€ Open Source Contributors
  • 🧠 Productivity Enthusiasts

Whether you're managing personal notes, project tasks, study material, or daily reminders, Notes Manager CLI provides a fast and reliable workflow directly from your terminal.


πŸ’¬ Feedback

Found a bug?

Have a feature request?

Want to improve the project?

Please open an issue on GitHub describing:

  • The problem
  • Steps to reproduce
  • Expected behavior
  • Actual behavior
  • Your operating system
  • Node.js version

Constructive feedback is always welcome.


⭐ Support the Project

If you find this project useful, consider supporting it by:

⭐ Starring the GitHub repository

🍴 Forking the project

πŸ› Reporting bugs

πŸ’‘ Suggesting new features

πŸ“’ Sharing it with others

Every contribution helps improve the project.


πŸ‘¨β€πŸ’» Author

Rudra Bandekar

Computer Engineering Student β€’ Backend Developer β€’ Open Source Enthusiast

GitHub

https://github.com/Rudra070707

npm

https://www.npmjs.com/~rudrabandekar


πŸ“¬ Connect

If you'd like to discuss the project, suggest improvements, or collaborate on future development, feel free to reach out through GitHub.

Contributions, feedback, and ideas are always appreciated.


πŸš€ Future Vision

The goal of Notes Manager CLI is to evolve into a comprehensive command-line productivity suite.

Future releases aim to include:

  • Interactive Terminal UI (TUI)
  • Plugin Ecosystem
  • Workspace Support
  • AI-powered Smart Search
  • Markdown Rendering
  • Shell Autocomplete
  • Cloud Synchronization
  • Encryption Enhancements
  • Cross-device Synchronization
  • Advanced Analytics

The project will continue to focus on simplicity, performance, and developer productivity.


πŸ™ Acknowledgements

Special thanks to the creators and maintainers of the open-source technologies that made this project possible.

  • Node.js
  • Commander.js
  • SQLite
  • Jest
  • Chalk
  • cli-table3
  • Git
  • GitHub
  • npm

Their work enables developers around the world to build amazing software.


⭐ If You Like This Project...

Please consider giving the repository a Star ⭐ on GitHub.

It helps the project gain visibility and encourages future development.


πŸ“ Notes Manager CLI

Professional β€’ Fast β€’ Reliable β€’ Open Source

Made with ❀️ using Node.js, Commander.js, and SQLite

Β© 2026 Rudra Bandekar. All Rights Reserved.

About

A command-line Notes Manager built with Node.js.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages