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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4a92ecdbd773eb5b3be48411c1a947ad1cb8696f4ceeecba783c42cb2f740f1a
|
4
|
+
data.tar.gz: bc9a5f7ef3cdecac0c9b2083f131e5fdad280f918b3e9540a3aeab713a301416
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
48
|
+
Once you've completed the prerequisites above, you're ready to install Nova!
|
20
49
|
|
21
|
-
|
22
|
-
|
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
|
-
|
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
|
-
|
31
|
-
|
32
|
-
|
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
|
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
|
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
|
103
|
-
2. Go to the Extensions view (
|
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
|
-
|
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
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
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
|
-
##
|
180
|
+
## License
|
126
181
|
|
127
|
-
|
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
|
|
data/lib/nova/templates/nova.mdc
CHANGED
@@ -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
|
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
|
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
|
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
|
43
|
-
- [ ] 5.1
|
44
|
-
- [ ] 5.2 Create simple
|
45
|
-
- [ ] 5.3 Add
|
46
|
-
- [ ] 5.4 Verify tests run: `
|
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
|
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
|
-
| `
|
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
|
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