Phase 1: Next Steps for Aditi Implementation

✅ Phase 0 Completion Summary

You have successfully completed Phase 0! Here’s what’s been accomplished:

Implemented Components

  1. Vale Container Integration (src/aditi/vale_container.py)
    • Automatic Podman/Docker detection
    • Container lifecycle management
    • JSON output parsing
    • Comprehensive error handling
  2. Init Command (src/aditi/commands/init.py)
    • User-friendly initialization with Rich progress bars
    • Automatic Vale image pulling
    • AsciiDocDITA style downloading via Vale’s package system
  3. Testing Infrastructure
    • test_vale_integration.py - Validates container functionality
    • test_asciidocdita_rules.py - Tests AsciiDocDITA rule application
  4. Documentation
    • Container setup guide
    • Implementation documentation
    • Updated CLAUDE.md with current state

🚀 Phase 1: Core Infrastructure - What to Do Next

Step 1: Create pyproject.toml

Start your next session with:

Create a pyproject.toml file for the Aditi project with:
- Modern Python packaging configuration
- Dependencies: typer, rich, pydantic for config
- Dev dependencies: pytest, mypy, ruff, black
- Entry points for the CLI commands

Step 2: Implement Main CLI (cli.py)

Create src/aditi/cli.py that:
- Sets up the main Typer app
- Imports and registers the init command
- Adds placeholder commands for check, fix, and journey
- Configures logging

Step 3: Create Package Structure

Create src/aditi/__init__.py to make it a proper package
Set up version info and package metadata

Step 4: Configuration Manager (config.py)

Implement src/aditi/config.py with:
- Pydantic models for configuration schema
- Load/save functionality for ~/aditi-data/config.json
- Repository settings (root, branches, permissions)
- Session state management

Step 5: Git Guidance Module (git.py)

Create src/aditi/git.py that:
- Provides functions to guide users through git operations
- Generates git command suggestions
- Helps with branch naming
- Assists with commit message formatting

Step 6: Testing Setup

Set up the tests/ directory structure:
- tests/unit/ for unit tests
- tests/integration/ for integration tests
- Create pytest configuration
- Write tests for the new modules
  1. Start with pyproject.toml - This enables proper package installation and dependency management
  2. Create basic CLI structure - Get aditi --help working
  3. Wire up existing init command - Verify the CLI can call your existing code
  4. Add configuration management - Essential for subsequent features
  5. Implement git guidance - Needed for the full workflow
  6. Write tests - Ensure everything works together

💡 Tips for Phase 1

  1. Test Incrementally: After each component, run the CLI to ensure it works
  2. Use Type Hints: Leverage Typer’s type hint support for better CLI UX
  3. Keep It Simple: Focus on getting the structure right before adding features
  4. Document as You Go: Add docstrings to all functions and classes

🎯 Success Criteria for Phase 1

By the end of Phase 1, you should be able to:

  • Run pip install -e . to install Aditi in development mode
  • Execute aditi --help and see all commands
  • Run aditi init through the proper CLI structure
  • Have configuration load/save working
  • See placeholder messages for unimplemented commands

📚 Reference Implementation Pattern

When asking Claude to implement each component, use this pattern:

Implement [component] for the Aditi project following these requirements:
- [Specific requirements from the implementation plan]
- Use the existing ValeContainer class for Vale operations
- Follow the established patterns from Phase 0
- Include comprehensive error handling and user feedback
- Add appropriate type hints and docstrings
- Write unit tests for the module

🔄 After Phase 1

Once Phase 1 is complete, you’ll be ready for:

  • Phase 2: Rule Engine Implementation (parsing Vale output, applying fixes)
  • Phase 3: CLI Experience (journey command, interactive workflows)
  • Phase 4: Reporting and Distribution

Good luck with Phase 1! The foundation you’ve built in Phase 0 sets you up for success.


Copyright © 2025 Aditi. Distributed under the MIT License.