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:

  1. Big Picture → Define the strategic vision and goals
  2. User Stories → Break down the vision into specific user needs
  3. Design System → Establish the visual language and UI components
  4. 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 features
  • shape/1_big-picture/: High-level strategic documents that define the vision and direction
  • shape/2_user-stories/: User-focused requirements that capture specific needs and acceptance criteria
  • shape/3_design-system/: Visual language and UI component documentation to ensure consistency
  • shape/4_prompts/: Structured sequential tasks for AI-assisted implementation
  • code/: Directory for actual code implementation
  • design-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:

  1. Define your product requirements in the big picture section
  2. Break down functionality into user stories
  3. Establish a design system for consistency
  4. Write sequential development prompts in the prompts directory
  5. 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:

  1. Open VS Code
  2. Go to the Extensions view (Ctrl+Shift+X or Cmd+Shift+X)
  3. Search for "Markdown Preview Mermaid Support"
  4. 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.