@hossam954074/cli_project
v1.0.2
Published
A simple CLI tool for managing programming courses with add, list, and delete functionality
Maintainers
Readme
CLI Course Manager
A simple command-line interface (CLI) tool for managing programming courses. Built with Node.js using Commander.js and Inquirer.js.
📦 Installation
You can install this package globally from npm:
npm install -g @hossam954074/cli_projectOr run it directly with npx:
npx @hossam954074/cli_project🚀 Usage
Available Commands
The CLI provides the following commands to manage your course collection:
Add a Course
cli_project add
# or use the alias
cli_project aThis command will prompt you to enter:
- Programming language (default: JavaScript)
- Course title (default: js)
- Course price (default: 100)
- Course discount (default: 0)
List All Courses
cli_project list
# or use the alias
cli_project lDisplays all saved courses in a nice table format.
Delete a Course
cli_project delete
# or use the alias
cli_project dPrompts you to enter the index of the course you want to delete.
Help
cli_project --helpShows all available commands and their descriptions.
Version
cli_project --versionShows the current version of the CLI tool.
📋 Example Workflow
# Add a new course
$ cli_project add
? What is your favorite programming language? Python
? What is course title? Advanced Python Programming
? What is course price? 150
? What is course discount? 10
Course was added
# List all courses
$ cli_project list
┌─────────┬──────────────────────┬─────────────────────────────┬─────────────────┬────────────────────┐
│ (index) │ PROGRAMMING_LANGUAGE │ COURSE_TITLE │ COURSE_PRICE │ COURSE_DISCOUNT │
├─────────┼──────────────────────┼─────────────────────────────┼─────────────────┼────────────────────┤
│ 0 │ 'Python' │ 'Advanced Python Programming' │ '150' │ '10' │
└─────────┴──────────────────────┴─────────────────────────────┴─────────────────┴────────────────────┘
# Delete a course
$ cli_project delete
? Enter the index of the course to delete: 0
Course deleted successfully.🛠️ Development
Prerequisites
- Node.js (version 14 or higher)
- npm
Dependencies
Project Structure
cli_project/
├── index.js # Main CLI entry point
├── inquirer.js # Interactive prompts logic
├── manage_file.js # File operations (save, list, delete)
├── data.json # Course data storage
├── package.json # Project configuration
└── README.md # DocumentationLocal Development
- Clone the repository
- Install dependencies:
npm install - Link the package locally:
npm link - Now you can use
cli_projectcommand locally
📄 Data Storage
Course data is stored in a local data.json file in JSON format. Each course contains:
PROGRAMMING_LANGUAGE: The programming languageCOURSE_TITLE: The title of the courseCOURSE_PRICE: The price of the courseCOURSE_DISCOUNT: Any discount applied
🔄 Version History
- 1.0.1 - Current version with scoped package name
- 1.0.0 - Initial release
📝 License
ISC
👤 Author
@hossam954074
🤝 Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📞 Support
If you encounter any issues or have questions, please create an issue on the repository.
Happy course managing! 🎓
