nova-cli 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b37fc476c794b5d8ef65085970ceda162fb4e3be7460c621572f4196c2123706
4
- data.tar.gz: b301b2eaa9dbf98f9bc788353a7b6f124c3674a428a4692d2c9ca14fd7f1e5b5
3
+ metadata.gz: 4a92ecdbd773eb5b3be48411c1a947ad1cb8696f4ceeecba783c42cb2f740f1a
4
+ data.tar.gz: bc9a5f7ef3cdecac0c9b2083f131e5fdad280f918b3e9540a3aeab713a301416
5
5
  SHA512:
6
- metadata.gz: 4e3b7441eec4ee00b6fe79e63cc510fa40c75661401505ff1d8f0fac4bf270d393525abf2f94f7aa1c4f8196bb9a8db8702ec8ef3b1d9c0562a7cbd6bf7565e7
7
- data.tar.gz: 4fe249bd630cc14c9d8d7d42e80cc5313dff4a751bd0fb93464b7c501ba8718ae28197611280ef41e6f299781c9a2edc540ce79ee9020a3c82e69ae506035a35
6
+ metadata.gz: f4272e18a33a4e86617e7a433bff71c973b3d0f5e015ca1ae85bd430e94408bc3e4723c6f811a9fde0376631580bc32506c1500a3282e4a0b9d93aafdd4d90ef
7
+ data.tar.gz: 1d4da4a7794282337336560a1e79c5b73a75f11a54bf26db04e0ccc9278a89803bcc1094783acfcf7465434e2935b8de99bd7b739b03ef4b18cf0012ece8a696
data/README.md CHANGED
@@ -14,23 +14,84 @@ The Nova process guides product development through a series of steps, each buil
14
14
 
15
15
  Each step has its own directory with instructions and examples to guide your work.
16
16
 
17
+ ## Getting Started
18
+
19
+ ### Prerequisites for Product Managers
20
+
21
+ Before installing Nova, you'll need to set up your development environment. Don't worry - we'll walk you through each step!
22
+
23
+ #### 1. Install Cursor (Your AI-Powered Code Editor)
24
+
25
+ 1. Download Cursor from [cursor.com/downloads](https://www.cursor.com/downloads)
26
+ 2. Choose the version for **Mac Universal** (works on all Macs)
27
+ 3. Open the downloaded file and drag Cursor to your Applications folder
28
+ 4. Launch Cursor from your Applications
29
+
30
+ #### 2. Set Up Ruby & Node on Your Mac
31
+
32
+ Nova requires Ruby to run. Follow this excellent guide to set up your Mac:
33
+
34
+ **→ [gorails.com/setup/macos/15-sequoia](https://gorails.com/setup/macos/15-sequoia)**
35
+
36
+ The guide will walk you through:
37
+ - Installing Homebrew (a package manager for Mac)
38
+ - Setting up Ruby with all necessary dependencies
39
+ - Installing Node.js (optional but recommended)
40
+ - Verifying everything is working correctly
41
+
42
+ > **💡 Pro tip**: The guide takes about 30 minutes to complete. Each step has clear instructions and command examples that you can copy and paste into your Terminal.
43
+
44
+ That's it! Once you've completed the GoRails setup guide, your Mac will be ready for Nova.
45
+
17
46
  ## Installation
18
47
 
19
- You can install the gem directly from RubyGems:
48
+ Once you've completed the prerequisites above, you're ready to install Nova!
20
49
 
21
- ```bash
22
- gem install nova-cli
23
- ```
50
+ ### Installing Nova
51
+
52
+ 1. **Open Terminal in Cursor**:
53
+ - In Cursor, press ``Control+` `` to open the integrated terminal
54
+ - Or go to View → Terminal
24
55
 
25
- Once installed, you can run the command `nova` from your terminal.
56
+ 2. **Install the Nova gem**:
57
+ ```bash
58
+ gem install nova-cli
59
+ ```
26
60
 
61
+ 3. **Verify installation**:
62
+ ```bash
63
+ nova --version
64
+ ```
65
+
66
+ That's it! Nova is now installed and ready to use. 🚀
27
67
 
28
68
  ## Usage
29
69
 
30
- ```bash
31
- # Create a new project structure
32
- nova new [app_name]
33
- ```
70
+ ### Creating Your First Nova Project
71
+
72
+ 1. **Navigate to where you want to create your project**:
73
+ - In Cursor's terminal, navigate to your desired folder
74
+ - For example, to create projects in your Documents folder:
75
+ ```bash
76
+ cd ~/Documents
77
+ ```
78
+
79
+ 2. **Create a new Nova project**:
80
+ ```bash
81
+ nova new my_awesome_app
82
+ ```
83
+ Replace `my_awesome_app` with your actual project name (use underscores instead of spaces)
84
+
85
+ 3. **Open your new project in Cursor**:
86
+ ```bash
87
+ cd my_awesome_app
88
+ ```
89
+ Then in Cursor: File → Open Folder → Select your project folder
90
+
91
+ 4. **Start shaping your product**:
92
+ - Begin with `shape/1_big-picture/` to define your vision
93
+ - Work through each step in the Nova process
94
+ - Let Cursor's AI assist you at every stage!
34
95
 
35
96
  ## Generated Structure
36
97
 
@@ -60,7 +121,7 @@ When you run `nova new [app_name]`, it creates the following structure:
60
121
  Nova now includes two foundational tasks by default:
61
122
 
62
123
  ### Task 1: Generate Application
63
- - Sets up Rails 8 with PostgreSQL, Tailwind CSS, RSpec, and Cypress
124
+ - Sets up Rails 8 with PostgreSQL, Tailwind CSS, RSpec, and Capybara
64
125
  - Configures Flowbite for UI components
65
126
  - Creates a hello world page to verify setup
66
127
  - Based on battle-tested Rails application setup
@@ -97,34 +158,28 @@ The AI will understand the Nova workflow and help you maintain proper documentat
97
158
 
98
159
  ## Mermaid Flowcharts
99
160
 
100
- 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](https://open-vsx.org/vscode/item?itemName=bierner.markdown-mermaid) extension:
161
+ Nova includes support for creating flowcharts using Mermaid syntax in Markdown. To view and edit these flowcharts, you need to install the [Markdown Preview Mermaid Support](https://open-vsx.org/vscode/item?itemName=bierner.markdown-mermaid) extension:
101
162
 
102
- 1. Open VS Code
103
- 2. Go to the Extensions view (Ctrl+Shift+X or Cmd+Shift+X)
163
+ 1. Open Cursor
164
+ 2. Go to the Extensions view (Cmd+Shift+X)
104
165
  3. Search for "Markdown Preview Mermaid Support"
105
166
  4. Click Install
106
167
 
107
- You can also install it directly from the VS Marketplace:
108
- [Markdown Preview Mermaid Support](https://open-vsx.org/vscode/item?itemName=bierner.markdown-mermaid)
109
-
110
168
  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.
111
169
 
112
- ## License
113
-
114
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
170
+ Keyboard shortcut to open a preview: cmd+shift+v
115
171
 
116
- ## Best Practices
117
172
 
118
- - **Start with Why**: Always begin by understanding the strategic purpose behind the project from the PRD.
119
- - **Focus on User Value**: Keep the user's needs (from user stories) at the center of all planning and implementation.
120
- - **Task Granularity**: Break down features into small, manageable tasks.
121
- - **Iterate and Refine**: The process is iterative. Revisit and update documents in `shape/` and `progress.md` as you learn and make changes during development.
173
+ ## Cursor Settings
174
+ To be as effective as possible in the Nova process, enable the below settings:
175
+ 1. Enable Auto-run Mode: https://share.zight.com/ApuWPA1K
176
+ 2. Enable "Play sound on finish": https://share.zight.com/rRuKBlJZ
177
+ 3. Include project structure: https://share.zight.com/xQumQDen
122
178
 
123
- ---
124
179
 
125
- ## Prompt Library
180
+ ## License
126
181
 
127
- Explore a collection of example prompts for various development tasks in our [Prompt Library](./prompt-library/). These can be adapted for use with AI assistants to help with common setup and generation tasks.
182
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
128
183
 
129
184
  ---
130
185
 
@@ -14,12 +14,17 @@ alwaysApply: true
14
14
  You are working in a Nova project that follows a structured product development workflow from abstract ideas to concrete implementation.
15
15
 
16
16
  ## Project Structure
17
- - `shape/` - Product documentation (no code here)
17
+ - `shape/` - Product documentation (no code here) - **Has its own git repository**
18
18
  - `1_big-picture/` - PRD, flowchart
19
19
  - `2_user-stories/` - User stories and their acceptance criteria
20
20
  - `3_design-system/` - UI/UX standards and components
21
21
  - `4_tasks/` - Implementation tasks with progress tracking
22
- - `code/` - Application implementation
22
+ - `code/` - Application implementation - **Each app within has its own git repository**
23
+
24
+ ## Git Repository Structure
25
+ - The `shape/` folder maintains its own git repository for tracking product documentation changes
26
+ - Each application within the `code/` folder has its own separate git repository
27
+ - This separation allows for independent version control of documentation and individual applications
23
28
 
24
29
  ## Workflow
25
30
  1. **Big Picture**: Define PRD and flowchart
@@ -34,7 +39,7 @@ You are working in a Nova project that follows a structured product development
34
39
  - Don't write code - documentation only
35
40
  - Use Mermaid for diagrams
36
41
  - Reference previous sections for traceability
37
- - Delete example.md files once real files are generated in a given section
42
+ - Delete the example.md file in the current section once a real file is generated in that specific section (e.g., delete example.md in 1_big-picture/ when prd.md is created)
38
43
  - Do not advance to the next section until told to do so
39
44
 
40
45
  ### When in code/ (Implementation)
@@ -49,7 +54,7 @@ You are working in a Nova project that follows a structured product development
49
54
  - Keep methods under 10 lines (use POROs if needed)
50
55
  - Name POROs as verbs with single `call` method
51
56
  - Components should follow design system
52
- - Write E2E tests with Cypress
57
+ - Write E2E tests with Capybara
53
58
 
54
59
  ### Task Management
55
60
  - Work through tasks sequentially in /tasks
@@ -1,7 +1,7 @@
1
1
  # Generate Rails Application
2
2
 
3
3
  ## Task Overview
4
- In the code/ directory generate a Rails 8 application with PostgreSQL, Tailwind CSS, Rspec, Flowbite, and Cypress to serve as the foundation for the project.
4
+ In the code/ directory generate a Rails 8 application with PostgreSQL, Tailwind CSS, Rspec, Flowbite, and Capybara to serve as the foundation for the project.
5
5
 
6
6
  ## Prerequisites
7
7
  - Review PRD and technical requirements in ../1_big-picture/
@@ -39,14 +39,14 @@ In the code/ directory generate a Rails 8 application with PostgreSQL, Tailwind
39
39
  - [ ] 4.4 Add Flowbite tooltip component to test integration
40
40
  - [ ] 4.5 Verify page loads at `http://localhost:3000/hello`
41
41
 
42
- - [ ] 5.0 Set up Cypress for E2E Testing
43
- - [ ] 5.1 Install Cypress: `yarn add cypress start-server-and-test --dev`
44
- - [ ] 5.2 Create simple E2E test for Hello World page
45
- - [ ] 5.3 Add test scripts to package.json
46
- - [ ] 5.4 Verify tests run: `yarn test:e2e:open`
42
+ - [ ] 5.0 Set up Capybara for E2E Testing
43
+ - [ ] 5.1 Configure Capybara in `spec/rails_helper.rb`
44
+ - [ ] 5.2 Create simple system test for Hello World page in `spec/system/hello_world_spec.rb`
45
+ - [ ] 5.3 Add selenium-webdriver to Gemfile if not present: `bundle add selenium-webdriver --group test`
46
+ - [ ] 5.4 Verify tests run: `bundle exec rspec spec/system`
47
47
 
48
48
  - [ ] 6.0 Final Setup & Verification
49
- - [ ] 6.1 Verify all tests pass (RSpec and Cypress)
49
+ - [ ] 6.1 Verify all tests pass (RSpec including system tests)
50
50
  - [ ] 6.2 Verify server starts cleanly: `bin/dev`
51
51
  - [ ] 6.3 Create git commit for baseline setup
52
52
 
@@ -60,13 +60,13 @@ In the code/ directory generate a Rails 8 application with PostgreSQL, Tailwind
60
60
  | `app/javascript/application.js` | JS entry point | 3.2 | ⏳ |
61
61
  | `app/controllers/pages_controller.rb` | Static pages controller | 4.1 | ⏳ |
62
62
  | `app/views/pages/hello.html.erb` | Hello world view | 4.3 | ⏳ |
63
- | `cypress/e2e/hello_world_spec.cy.js` | E2E test | 5.2 | ⏳ |
64
- | `package.json` | Node.js scripts | 5.3 | ⏳ |
63
+ | `spec/system/hello_world_spec.rb` | System test | 5.2 | ⏳ |
65
64
 
66
65
  ### Files to Modify
67
66
  | File Path | Changes | Task Ref | Status |
68
67
  |-----------|---------|----------|--------|
69
68
  | `config/routes.rb` | Add hello route | 4.2 | ⏳ |
69
+ | `spec/rails_helper.rb` | Configure Capybara | 5.1 | ⏳ |
70
70
 
71
71
  ## Notes
72
72
  - Follow Tailwind v4 documentation as many conventions have changed from v3
@@ -105,7 +105,7 @@ These are NOT throwaway prototype pages. Create production-ready routes, control
105
105
  - [ ] 10.0 Testing and Validation
106
106
  - [ ] 10.1 Write controller tests
107
107
  - [ ] 10.2 Create system tests for user flows
108
- - [ ] 10.3 Add E2E tests with Cypress
108
+ - [ ] 10.3 Add E2E tests with Capybara
109
109
  - [ ] 10.4 Test all responsive breakpoints
110
110
  - [ ] 10.5 Validate accessibility
111
111
 
data/lib/nova.rb CHANGED
@@ -2,5 +2,5 @@ require_relative 'nova/cli'
2
2
  require_relative 'nova/generator'
3
3
 
4
4
  module Nova
5
- VERSION = '0.2.3'
5
+ VERSION = '0.2.5'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nova-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Francis