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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 53123f326f497bb337df7002d55935867e2f00fc9b19160cd9069c8a42fe4343
4
- data.tar.gz: 4041e88ce82242013e0ca9099b042968cf287002b3e359b0491c08863913f939
3
+ metadata.gz: 151c2a58346e1260b2c7a2248e84e4fa89a72a9226ebcf2773b7b9e79f0a01f2
4
+ data.tar.gz: 9a43f7115da40d8be57576b01b733e747f2af8bac40cabc96875caca863220fc
5
5
  SHA512:
6
- metadata.gz: 81696123b344b64628625ed5771a75fcfaa785757926ff78eb731d9c81f46ef0a5204095cccdbd14cf310f430c8001eddca915b7738a7fe03706f675d6041aa4
7
- data.tar.gz: 4e966b66be6933036997e6e9c83783c0ea02dc62550f16a26b1a264f4a2a86293df3aad0a9a1de70f67f2f9282845eb3506bd919493595e060101cb0c9fe2b3c
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
- 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
 
@@ -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 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
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
- ## Best Practices
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
- - **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.
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
 
@@ -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
@@ -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)
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.4'
5
+ VERSION = '0.2.6'
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.4
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Francis