Thanks for your interest in contributing to the Design Driven Development Tool!
- Use GitHub Issues to report bugs or suggest features
- Include your OS, app version, and steps to reproduce for bug reports
- Screenshots or screen recordings are very helpful for UI issues
- Fork the repository
- Create a feature branch (
git checkout -b fix-drag-glitch) - Make your changes
- Run
npm run buildto verify TypeScript compiles - Submit a pull request with a clear description
Prerequisites: Node.js 20+, Rust (latest stable), platform-specific Tauri dependencies
# macOS
xcode-select --install
# Clone and run
git clone https://github.com/cybersoloss/ddd-tool.git
cd ddd-tool
npm install
npm run tauri devSee the Tauri prerequisites guide for Linux and Windows setup.
src/ # React frontend
components/
SystemMap/ # L1 — system overview
DomainMap/ # L2 — domain map with flow blocks
FlowCanvas/ # L3 — flow graph editor (React Flow)
nodes/ # 30 node type components
SpecPanel/ # YAML spec editor sidebar
Validation/ # Validation engine UI
GitPanel/ # Git integration
Navigation/ # Breadcrumb, search, toolbar
stores/ # Zustand state management
types/ # TypeScript type definitions
utils/ # Validators, helpers
src-tauri/ # Rust backend (Tauri)
src/
lib.rs # Tauri commands (file I/O, git, hashing)
- Bug fixes — especially platform-specific issues (Linux, Windows)
- Node type components — new node types that match the DDD Usage Guide spec
- UI improvements — accessibility, keyboard navigation, responsive layout
- Performance — canvas rendering with large flow graphs
- Validation rules — new checks for spec correctness
- Follow existing code patterns — Zustand stores, React functional components, Tailwind CSS
- Node components must implement the correct sourceHandle IDs as defined in the Usage Guide
- Keep dependencies minimal — check if existing deps can solve the problem before adding new ones
- No runtime CSS frameworks — use Tailwind utility classes
- State: Zustand (not Redux, not Context) — one store per concern
- Canvas: React Flow (@xyflow/react) for the flow graph editor
- Backend: Tauri commands for file I/O, git operations, and file hashing
- Styling: Tailwind CSS v4 with CSS custom properties for theming
- Design Driven Development — methodology docs, spec format reference, templates
- claude-commands — Claude Code slash commands (
/ddd-create,/ddd-implement, etc.)
This project follows the Contributor Covenant Code of Conduct. By participating, you agree to uphold this code.