Generate standardized, structured technical course syllabi and dynamic learning paths with this powerful, Python-based CLI tool.
π€ AI Agent Directives (December 2025 Edition)
- Role: Senior Principal Software Architect, Master Technical Copywriter, DevOps Strategist with 40+ years of elite industry experience. Enforcing FAANG-level standards and the wisdom of "Managing the Unmanageable."
- Context: Current Date is December 2025. Building for the 2026 Standard.
- Output Standard: EXECUTION-ONLY. No plans, no "reporting"βonly executed code, updated docs, and applied fixes.
- Philosophy: "Zero-Defect, High-Velocity, Future-Proof."
- Speech-to-Text Interpretation Protocol:
- Context: User inputs may contain phonetic errors (homophones, typos).
- Semantic Correction: STRICTLY FORBIDDEN from executing literal typos. INFER technical intent based on project context.
- Logic Anchor: Treat the
README.mdas the Single Source of Truth (SSOT).
- Mandatory MCP Instrumentation:
- No Guessing: Do not hallucinate APIs.
- Research First: Use
linkup/braveto search for December 2025 Industry Standards, Security Threats, and 2026 UI Trends. - Validation: Use
docforkto verify every external API signature. - Reasoning: Engage
clear-thought-twoto architect complex flows before writing code.
- Project Type: DATA / SCRIPTS / AI (Python)
- Apex Toolchain: Python 3.10+, uv (Package Management), Ruff (Linting/Formatting), Pytest (Testing).
- Architecture: Modular Monolith. Clear separation of concerns, unified deployment.
- AI Integration: Leverages Google Gemini API (
gemini-3-proby default). Prioritize modular design, clear API contracts, and robust error handling for all AI model interactions. - CLI Framework:
Click(or similar) for intuitive command-line interface.
-
Clone Repository: bash git clone git@github.com:chirag127/CurriculumGen-Technical-Syllabus-Generator-CLI-Tool.git cd CurriculumGen-Technical-Syllabus-Generator-CLI-Tool
-
Environment Setup (uv): bash uv venv # Create a virtual environment uv pip install -r requirements.txt # Install dependencies (adjust if requirements.txt is not the primary source)
uv pip install -e .
-
Linting & Formatting (Ruff): bash ruff check . ruff format .
-
Testing (Pytest): bash pytest
-
Running the CLI Tool (Example): bash python -m curriculum_gen --help
- SOLID: Ensure each module has a single responsibility.
- DRY: Avoid redundancy in code and configurations.
- YAGNI: Implement only what is necessary; avoid premature optimization or feature creep.
- KISS: Keep it simple and maintainable.
CurriculumGen is a sophisticated command-line interface (CLI) tool engineered to automate the creation of comprehensive and standardized technical course syllabi and learning paths. Leveraging advanced AI capabilities, it can generate detailed educational outlines based on specified technologies, skill levels, and learning objectives. This tool is ideal for educators, training providers, and technical leads seeking to rapidly develop high-quality, consistent curriculum materials.
This project follows a Modular Monolith architecture, ensuring a clean separation of concerns while maintaining a cohesive and deployable unit. The core components interact through well-defined interfaces, promoting maintainability and scalability.
ascii CurriculumGen CLI Tool βββ CLI Interface (Click) β βββ Commands (generate, list, etc.) β βββ Argument Parsing βββ Core Logic β βββ Syllabus Generation Engine β β βββ Template Management β βββ Learning Path Builder βββ AI Integration Module β βββ Gemini API Client β βββ Prompt Engineering Layer βββ Data Models β βββ Course Structure β βββ Learning Path Structure βββ Utilities β βββ File I/O β βββ Configuration Management βββ Tests βββ Unit Tests (Pytest) βββ Integration Tests (Pytest)
- Project Overview
- Architecture
- Getting Started
- Usage
- Development & Testing
- Contributing
- License
- AI Agent Directives
- Python 3.10 or higher
uvinstalled (pip install uv)- (Optional) Google Cloud Account with Gemini API access
-
Clone the repository: bash git clone git@github.com:chirag127/CurriculumGen-Technical-Syllabus-Generator-CLI-Tool.git cd CurriculumGen-Technical-Syllabus-Generator-CLI-Tool
-
Set up the Python environment using
uv: bash uv venv uv pip install -r requirements.txt # Or use setup.py/pyproject.toml for editable installuv pip install -e .
-
Configure API Keys (if applicable): Ensure your Google Gemini API key is set as an environment variable
GOOGLE_API_KEY.
Run the CLI tool using Python's module execution.
bash python -m curriculum_gen --help
-
Generate a syllabus for a Senior Data Engineering course: bash python -m curriculum_gen generate --topic "Data Engineering" --level "Senior" --output "./data_engineering_syllabus.md"
-
Generate a learning path for a Junior Frontend Developer: bash python -m curriculum_gen generate --topic "Frontend Development" --level "Junior" --type "learning-path" --output "./frontend_learning_path.md"
-
List available syllabus templates: bash python -m curriculum_gen list-templates
Follow these steps to contribute or run tests:
-
Install Development Dependencies: Ensure you have installed the project in editable mode as described in
Getting Started. -
Linting and Formatting: The project uses
Rufffor lightning-fast linting and formatting. bash ruff check . ruff format . -
Running Tests: Execute the test suite using
Pytest. bash pytest
Contributions are welcome! Please refer to the CONTRIBUTING.md file for detailed guidelines.
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0). See the LICENSE file for more details.
You are kindly requested to Star β this Repo if you find it useful!