3.5 KiB
3.5 KiB
CascadingDev Project Overview
CascadingDev (CDev) is a Python project designed as a Git-native AI–human collaboration framework. It automates documentation, discussion summaries, and code review directly within a Git repository, enabling the creation of self-documenting projects. AI assists in generating and maintaining feature discussions, design documents, and implementation plans, all version-controlled alongside the code.
Key Features
- Git-Integrated Workflow: All discussions, decisions, and artifacts are version-controlled within Git.
- Cascading Rules System: Automation behavior is defined by the nearest
.ai-rules.ymlfile. - Stage-Per-Discussion Model: Uses separate files for different stages like feature, design, implementation, testing, and review.
- Pre-commit Hook: Automatically maintains summaries, diagrams, and vote tallies.
- Ramble GUI: A PySide6/PyQt5-based graphical user interface for capturing structured feature requests, integrating with AI providers like Claude.
- Deterministic Builds: Provides a reproducible installer bundle.
Technologies Used
- Python: Primary language for the project.
- PySide6/PyQt5: For the Ramble GUI.
- PlantUML: For generating diagrams.
- Claude CLI: An AI provider integrated with the Ramble GUI.
- Git: Core version control system.
Building and Running
The project uses setuptools for building. The main CLI entry point is cdev.
Installation and Setup
- Create and activate a virtual environment:
python3 -m venv .venv source .venv/bin/activate pip install --upgrade pip wheel PySide6 - Build the installer bundle:
python tools/build_installer.py - Test-install into a temporary folder:
python install/cascadingdev-*/setup_cascadingdev.py --target /tmp/myproject --no-ramble
CLI Commands
cdev --version: Show the project version.cdev doctor: Checks the environment and required templates.cdev smoke: Runs a smoke test.cdev build: Builds the installer bundle without bumping the version.cdev release --kind [major|minor|patch]: Bumps the project version (major, minor, or patch) and rebuilds the installer.cdev pack [--out <path>]: Zips the current installer bundle.cdev bundle-smoke [--keep] [--ramble] [--bundle <path>] [--target <path>]: Unpacks the zipped installer and runs it into a temporary directory for testing.cdev feature <name> [--title <title>] [--description <desc>] [--target <dir>] [--no-ramble] [...]: Creates a new feature scaffold. This command can optionally open a "Ramble" dialog for guided feature definition using an AI.
Development Conventions
- Git-centric: The workflow is heavily integrated with Git for version control and collaboration.
- AI-assisted: AI tools (like Claude via the Ramble GUI) are used to assist in generating documentation, summaries, and design elements.
- Rule-driven: The project uses a cascading rules system (
.ai-rules.yml) to define automation behavior. - Pre-commit hooks: Used to automate tasks before commits.
Further Exploration
docs/DESIGN.md: Design documentation template.docs/FEATURE_REQUEST.md: Feature request template.docs/USER_GUIDE.md: User guide template.assets/templates/rules/: Contains AI rule definitions.assets/hooks/pre-commit: The pre-commit hook script.assets/runtime/ramble.py: Source code for the Ramble GUI.