Nova
Nova is a command-line tool that generates a standardized project structure for product development and documentation. It guides teams through a structured workflow from strategic planning to code generation in an AI-driven environment.
The Nova Process
The Nova process guides product development through a series of steps, each building on the previous one to create a comprehensive plan for implementation:
- Big Picture → Define the strategic vision and goals
- User Stories → Break down the vision into specific user needs
- Design System → Establish the visual language and UI components
- Prompts → Create development prompts for implementation
Each step has its own directory with specialized templates and examples to guide your work.
Installation
You can install the gem directly from RubyGems:
gem install nova-cli
Once installed, you can run the command nova from your terminal.
If you want to build and install from source:
git clone https://github.com/LaunchPadLab/nova.git
cd nova
gem build nova-cli.gemspec
gem install nova-cli-0.1.0.gem
Usage
# Create a new project structure
nova new [app_name]
# Show version
nova version
# Show help
nova help
Generated Structure
When you run nova new [app_name], it creates the following structure:
[project_name]/
├── shape/
│ ├── README.md
│ ├── 1_big-picture/
│ │ ├── README.md
│ │ ├── prd_example.md
│ │ ├── flowchart.md
│ ├── 2_user-stories/
│ │ ├── README.md
│ │ └── example.md
│ ├── 3_design-system/
│ │ ├── README.md
│ │ └── design_decisions.md
│ ├── 4_prompts/
│ │ ├── README.md
│ │ └── example.md
├── code/
├── design-system/
shape/README.md: Comprehensive documentation on how to structure product requirements and featuresshape/1_big-picture/: High-level strategic documents that define the vision and directionshape/2_user-stories/: User-focused requirements that capture specific needs and acceptance criteriashape/3_design-system/: Visual language and UI component documentation to ensure consistencyshape/4_prompts/: Structured sequential tasks for AI-assisted implementationcode/: Directory for actual code implementationdesign-system/: Directory for implemented design system code and assets
Best Practices
- Start with Why: Always begin by understanding the strategic purpose behind the project
- Focus on User Value: Keep the user's needs at the center of all planning
- Be Specific: Include enough detail for implementation but avoid over-specification
- Maintain Traceability: Ensure each document references related documents from previous steps
- Collaborate Across Disciplines: Involve all relevant team members in the appropriate steps
- Iterate and Refine: The process is not strictly linear - revisit and update documents as you learn
- Follow TDD: Follow Test-Driven Development principles when implementing code
Working with AI
The Nova framework is designed to work seamlessly with AI development assistants:
- Define your product requirements in the big picture section
- Break down functionality into user stories
- Establish a design system for consistency
- Write sequential development prompts in the prompts directory
- Share these prompts with AI assistants to generate implementation code
Mermaid Flowcharts
Nova includes support for creating flowcharts using Mermaid syntax in Markdown. To view and edit these flowcharts in VS Code, you need to install the Markdown Preview Mermaid Support extension:
- Open VS Code
- Go to the Extensions view (Ctrl+Shift+X or Cmd+Shift+X)
- Search for "Markdown Preview Mermaid Support"
- Click Install
You can also install it directly from the VS Marketplace: Markdown Preview Mermaid Support
With this extension installed, you'll be able to preview Mermaid diagrams in the flowchart.md file and any other Markdown files containing Mermaid syntax.
License
The gem is available as open source under the terms of the MIT License.