Co-Pilot
Updated 2 months ago

hanoi-rainbow

DDauQuangThanh
0.0k
dauquangthanh/hanoi-rainbow
80
Agent Score

πŸ’‘ Summary

Hanoi Rainbow enables specification-driven development to streamline project creation and management with AI assistance.

🎯 Target Audience

Software developers looking for structured project management.Project managers seeking to improve development workflows.Teams transitioning from traditional coding to AI-assisted development.Startups aiming for rapid MVP development.Educators teaching software development methodologies.

πŸ€– AI Roast: β€œPowerful, but the setup might scare off the impatient.”

Security AnalysisMedium Risk

Risk: Medium. Review: shell/CLI command execution; outbound network access (SSRF, data egress); API keys/tokens handling and storage; filesystem read/write scope and path traversal. Run with least privilege and audit before enabling in production.

🌈 Hanoi Rainbow

Drive Quality Together with AI-Powered Framework

Stop guessing. Start specifying.
Turn your ideas into production-ready applications through clear specifications, not trial-and-error coding.

Release GitHub stars License Documentation


Table of Contents

πŸ’‘ What is Spec-Driven Development?

Traditional approach: Write code first, figure it out as you go.
Spec-Driven approach: Define what you want first, then let AI build it right.

For decades, we treated specifications as throwaway notesβ€”just a formality before the "real" coding began. Spec-Driven Development flips this around: your specification becomes the blueprint that directly generates working code, not just a suggestion.

Think of it like architecture: You wouldn't build a house without blueprints. Why build software without clear specifications?

Development Approaches

Hanoi Rainbow supports both Greenfield (new projects) and Brownfield (existing projects) development:

flowchart LR Start([Project Type?]) Start --> Greenfield[🌱 Greenfield<br/>New Project] Start --> Brownfield[πŸ—οΈ Brownfield<br/>Existing Project] Greenfield --> GF1[πŸ“‹ Regulate<br/>Set Principles] GF1 --> GF2[🎯 Specify<br/>Define Features] GF2 --> GF3[πŸ” Clarify<br/>Refine Requirements] GF3 --> GF4[πŸ“ Architect<br/>System Design] GF4 --> GF5[πŸ“ Standardize<br/>Coding Rules] GF5 --> GF6[πŸ› οΈ Design<br/>Technical Plan] GF6 --> GF7[πŸ“‹ Taskify<br/>Break Down Tasks] GF7 --> GF8[⚑ Implement<br/>Build Features] GF8 --> GF9[βœ… Test & Deploy] Brownfield --> BF1[πŸ“š Assess Context<br/>Analyze Codebase] BF1 --> BF2[πŸ“‹ Regulate<br/>Update Principles] BF2 --> BF3[🎯 Specify<br/>New Feature] BF3 --> BF4[πŸ” Clarify<br/>Requirements] BF4 --> BF5[πŸ› οΈ Design<br/>Integration Plan] BF5 --> BF6[πŸ“‹ Taskify<br/>Task Breakdown] BF6 --> BF7[⚑ Implement<br/>Add Feature] BF7 --> BF8[βœ… Test & Deploy] style Greenfield fill:#90EE90 style Brownfield fill:#87CEEB style GF8 fill:#FFD700 style BF7 fill:#FFD700

Greenfield projects start with establishing principles, architecture, and standards before building features. Brownfield projects begin with /rainbow.assess-context to understand existing architecture and patterns, then follow a streamlined workflow to add new features while maintaining consistency.

Key Differences:

| Aspect | 🌱 Greenfield | πŸ—οΈ Brownfield | |--------|--------------|---------------| | Starting Point | Empty project | Existing codebase | | Setup Phase | /rainbow.regulate | /rainbow.assess-context (once per project) | | Focus | Establish foundations first | Integrate with existing patterns | | Timeline | 2-4 weeks (MVP) | 1-2 weeks per feature | | Flexibility | Complete freedom in design | Must maintain consistency | | Commands Used | Full workflow (8 core commands) | Streamlined (6 core commands) |

Install Rainbow CLI

Recommended: Install once, use everywhere

uv tool install rainbow-cli --from git+https://github.com/dauquangthanh/hanoi-rainbow.git

Then use it anywhere:

rainbow init <PROJECT_NAME> rainbow check

Need to upgrade? See the Upgrade Guide or run:

uv tool install rainbow-cli --force --from git+https://github.com/dauquangthanh/hanoi-rainbow.git
uv tool install rainbow-cli --force --native-tls --from git+https://github.com/dauquangthanh/hanoi-rainbow.git
uvx --from git+https://github.com/dauquangthanh/hanoi-rainbow.git rainbow init <PROJECT_NAME>
uvx --native-tls --from git+https://github.com/dauquangthanh/hanoi-rainbow.git rainbow init <PROJECT_NAME>

Why install?

  • βœ… Available everywhere in your terminal
  • βœ… Easy to upgrade with uv tool upgrade
  • βœ… Cleaner than shell aliases
  • βœ… Better tool management

Your First Project in 8 Steps

πŸ’‘ Automatic Version Control: All Rainbow commands automatically generate appropriate git commit messages and commit changes upon completion. Commands use semantic commit prefixes (docs:, feat:, test:, chore:) to maintain a clear project history.

1️⃣ Set Project Rules

Launch your AI assistant in the project. You'll see /rainbow.* commands available.

Create your project's guiding principles:

/rainbow.regulate Create principles for code quality, testing, user experience, and performance

2️⃣ Write the Specification

Describe what you want to build and why (not the tech stack yet):

/rainbow.specify Build a photo organizer with albums grouped by date. Users can drag-and-drop albums to reorganize them. Albums show photos in a tile view. No nested albums allowed.

3️⃣ Design System Architecture (Optional)

Document your system architecture once per product:

/rainbow.architect Create C4 diagrams, document tech stack decisions and architecture patterns

4️⃣ Set Coding Standards (Optional)

Create coding standards for your team:

/rainbow.standardize Define naming conventions, file organization, and best practices

5️⃣ Create Technical Design

Now specify how to build it (tech stack and architecture):

/rainbow.design Use Vite with vanilla HTML, CSS, and JavaScript. Keep libraries minimal. Store metadata in local SQLite. No image uploads.

6️⃣ Break Down Tasks

Generate an actionable task list:

/rainbow.taskify

7️⃣ Build It

Execute all tasks automatically:

/rainbow.implement

8️⃣ Test & Iterate

Run your application and fix any issues. Your AI assistant will help debug.


Want more details? Read our complete guide.

πŸ€– Supported AI Agents

| Agent | Support | Notes | | ----------------------------------------------------------- | --------- |---------------------------------------------------| | Amazon Q Developer CLI | ⚠️ | Amazon Q Developer CLI does not support custom arguments for slash commands. | | Amp | βœ… | | | Auggie CLI | βœ… | | | Claude Code | βœ… | | | CodeBuddy CLI | βœ… | | | Codex CLI | βœ… | | | Cursor | βœ… | | | Gemini CLI | βœ… | | | GitHub Copilot | βœ… | | | Google Antigravity | βœ… | IDE-based agent with slash command support | | IBM Bob | βœ… | IDE-based agent with slash command support | | Jules | βœ… | | | Kilo Code | βœ… | | | opencode | βœ… | | | Qoder CLI | βœ… | | | Qwen Code | βœ… | | | Roo Code | βœ… | | | SHAI (OVHcloud) | βœ… | | | Windsurf | βœ… | |

πŸ”§ Rainbow CLI Reference

The rainbow command supports the following options:

Commands

| Command | Description | | ------------- | ---------------------------------------------------------------- | | `init

5-Dim Analysis
Clarity8/10
Novelty8/10
Utility9/10
Completeness8/10
Maintainability7/10
Pros & Cons

Pros

  • Facilitates clear project specifications.
  • Integrates AI assistance for development.
  • Supports both new and existing projects.
  • Automates version control and task management.

Cons

  • May require a learning curve for new users.
  • Dependency on AI may limit creativity.
  • Complexity in managing existing codebases.
  • Potential for over-reliance on automation.

Related Skills

pytorch

S
toolCode Lib
92/ 100

β€œIt's the Swiss Army knife of deep learning, but good luck figuring out which of the 47 installation methods is the one that won't break your system.”

agno

S
toolCode Lib
90/ 100

β€œIt promises to be the Kubernetes for agents, but let's see if developers have the patience to learn yet another orchestration layer.”

nuxt-skills

S
toolCo-Pilot
90/ 100

β€œIt's essentially a well-organized cheat sheet that turns your AI assistant into a Nuxt framework parrot.”

Disclaimer: This content is sourced from GitHub open source projects for display and rating purposes only.

Copyright belongs to the original author DauQuangThanh.