UNPKG

create-saltic

Version:

Spec-Driven Development (SDD) framework for constitutional software development - inject into any project

147 lines (105 loc) 4.59 kB
# Saltic Spec-Driven Development (SDD) Framework A structured approach to software development through specifications, plans, and tasks. This framework provides tools and templates for following a constitutional development methodology. ## Installation ### Prerequisites - Node.js (v14 or higher) - npm (comes with Node.js) - Git - Claude Code with MCP tools enabled - Figma Dev Mode MCP - Context7 ### Setup with npx ```bash # Use npx to inject Saltic SDD Framework into any project npx create-saltic@latest # Or inject into a specific directory npx create-saltic@latest inject --dir /path/to/project # Initialize a new project with Saltic SDD Framework mkdir my-project && cd my-project npx create-saltic@latest ``` ## Quick Start ```bash # Inject framework into current project npx create-saltic@latest # Check framework status npx create-saltic@latest status # After injection, check CLAUDE.md for usage guidance ``` ## Using Claude Code with Saltic SDD Framework After injecting the Saltic SDD Framework into your project, you can use Claude Code's custom commands: ### Available Commands - **/specify** - Create feature specifications - **/plan** - Create technical implementation plan - **/tasks** - Break down and implement features ### Quick Start ```bash # 1. Initialize project npx create-saltic init my-project cd my-project # 2. Create specification /specify Build an application that can help me organize my photos in separate photo albums. # 3. Create technical plan /plan The application uses Vite with minimal libraries. Use vanilla HTML, CSS, and JavaScript. # 4. Generate tasks /tasks ``` ## Development Workflow The framework follows a strict Spec-Driven Development lifecycle: 1. **Specify**: Define feature requirements and user stories 2. **Plan**: Create implementation plan and design artifacts 3. **Tasks**: Generate numbered, ordered tasks from the plan 4. **Implement**: Execute tasks following constitutional principles 5. **Validate**: Run tests and verify acceptance criteria ## Key Commands ### Framework Management ```bash # Inject framework into current project npx create-saltic@latest inject # Check framework status npx create-saltic@latest status # Remove framework from project npx create-saltic@latest remove ``` ### Feature Management Check CLAUDE.md for usage guidance after injecting the framework. ## File Structure After Injection ``` your-project/ ├── .claude/ # Framework configuration and commands │ └── commands/ # Command definitions ├── memory/ # Constitution and governance documents ├── templates/ # Standardized templates ├── scripts/ # Feature management scripts ├── specs/ # Feature specifications │ └── [feature-branch]/ # Feature-specific files └── .gitignore # Updated to ignore .claude/ ``` ## Development Principles ### Constitutional Development All features must comply with the constitution (`memory/constitution.md`): - **Library-First**: Every feature starts as a standalone library - **CLI Interface**: All libraries expose functionality via CLI - **Test-First**: TDD is mandatory - tests must fail before implementation - **Integration Testing**: Required for new libraries, contract changes, and shared schemas - **Observability**: Structured logging and error context required - **Versioning**: MAJOR.MINOR.BUILD format with breaking change handling - **Context7 Documentation Integration**: Always use context7 tools for external library documentation ### Branch Naming Convention Feature branches must follow the pattern: `<git:branchname>-<git:name>-<featurename>` (e.g., `WEC0101-BUDI-authentication`) ## Framework Features ### What the CLI Does When you run `npx create-saltic@latest inject`, the CLI: 1. **Creates Directory Structure**: Sets up `.claude/`, `memory/`, `templates/`, and `scripts/` directories 2. **Copies Framework Files**: Injects all necessary templates, commands, and scripts to project root 3. **Updates Project Files**: - Adds `.claude/` to `.gitignore` - Creates `specs/` directory for feature specifications 4. **Sets Up Git**: Creates proper directory structure for feature branches ### Available Commands - `inject`/`init`: Inject framework into current project - `status`: Check framework installation status - `remove`: Remove framework from current project ### After Injection Once injected, use the framework through: - **Claude Code**: Use CLAUDE.md for AI-assisted development