nova-cli 0.2.4 ā 0.2.6
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 +4 -4
- data/README.md +83 -22
- data/lib/nova/generator.rb +29 -0
- data/lib/nova/templates/nova.mdc +8 -3
- data/lib/nova.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 151c2a58346e1260b2c7a2248e84e4fa89a72a9226ebcf2773b7b9e79f0a01f2
|
4
|
+
data.tar.gz: 9a43f7115da40d8be57576b01b733e747f2af8bac40cabc96875caca863220fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abc1c15c0e9ed2ab91e03febdf970a7fa5897adf4d85fd5e31eb1efba08fc911291cd349ff4e1de295cc5f2707bd791fa671367eed8073800f9567b49e003618
|
7
|
+
data.tar.gz: e41105ee6c2a22717f8f0c1196266304ec904e4363491bc842c0f903b3c0f1531e8d9fc9e45b8fb39377a04f682cdeade4ffcf99474554989f200f414ad8178c
|
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
|
|
@@ -97,28 +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
|
-
|
170
|
+
Keyboard shortcut to open a preview: cmd+shift+v
|
113
171
|
|
114
|
-
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
115
172
|
|
116
|
-
##
|
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
|
178
|
+
|
117
179
|
|
118
|
-
|
119
|
-
|
120
|
-
|
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.
|
180
|
+
## License
|
181
|
+
|
182
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
122
183
|
|
123
184
|
---
|
124
185
|
|
data/lib/nova/generator.rb
CHANGED
@@ -51,6 +51,7 @@ module Nova
|
|
51
51
|
def generate
|
52
52
|
create_main_directories
|
53
53
|
create_all_files_and_directories
|
54
|
+
initialize_shape_git_repo
|
54
55
|
display_success_message
|
55
56
|
end
|
56
57
|
|
@@ -149,5 +150,33 @@ module Nova
|
|
149
150
|
create_file_from_template(File.join(app_name, file_entry[:path]), file_entry[:template])
|
150
151
|
end
|
151
152
|
end
|
153
|
+
|
154
|
+
def initialize_shape_git_repo
|
155
|
+
shape_path = File.join(app_name, 'shape')
|
156
|
+
|
157
|
+
# Initialize git repository in shape directory
|
158
|
+
Dir.chdir(shape_path) do
|
159
|
+
system('git init', out: File::NULL, err: File::NULL)
|
160
|
+
|
161
|
+
# Configure git user for initial commit (using system defaults)
|
162
|
+
# This ensures the commit works even if global git config is not set
|
163
|
+
system('git config user.email "nova-cli@example.com"', out: File::NULL, err: File::NULL)
|
164
|
+
system('git config user.name "Nova CLI"', out: File::NULL, err: File::NULL)
|
165
|
+
|
166
|
+
# Add all files
|
167
|
+
system('git add .', out: File::NULL, err: File::NULL)
|
168
|
+
|
169
|
+
# Make initial commit
|
170
|
+
system('git commit -m "Initial nova shape documentation structure"', out: File::NULL, err: File::NULL)
|
171
|
+
|
172
|
+
# Remove the local git config so user's global config takes over
|
173
|
+
system('git config --unset user.email', out: File::NULL, err: File::NULL)
|
174
|
+
system('git config --unset user.name', out: File::NULL, err: File::NULL)
|
175
|
+
end
|
176
|
+
|
177
|
+
puts "\nā Git repository initialized in shape/ directory with initial commit"
|
178
|
+
rescue => e
|
179
|
+
puts "\nā Warning: Could not initialize git repository in shape/ directory: #{e.message}"
|
180
|
+
end
|
152
181
|
end
|
153
182
|
end
|
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)
|
data/lib/nova.rb
CHANGED