69 lines
3.5 KiB
Markdown
69 lines
3.5 KiB
Markdown
# 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.yml` file.
|
||
* **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
|
||
|
||
1. **Create and activate a virtual environment:**
|
||
```bash
|
||
python3 -m venv .venv
|
||
source .venv/bin/activate
|
||
pip install --upgrade pip wheel PySide6
|
||
```
|
||
2. **Build the installer bundle:**
|
||
```bash
|
||
python tools/build_installer.py
|
||
```
|
||
3. **Test-install into a temporary folder:**
|
||
```bash
|
||
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.
|