noah-cursor 1.5.9 → 1.5.11
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.
- package/README.md +259 -188
- package/assets/qr-code.png +0 -0
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +2 -1
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/analyze.d.ts +3 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +48 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/auth.d.ts +3 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +67 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/bootstrap.d.ts +3 -0
- package/dist/commands/bootstrap.d.ts.map +1 -0
- package/dist/commands/bootstrap.js +92 -0
- package/dist/commands/bootstrap.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +109 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/dashboard.d.ts +3 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +21 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +3 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/explain.d.ts +3 -0
- package/dist/commands/explain.d.ts.map +1 -0
- package/dist/commands/explain.js +27 -0
- package/dist/commands/explain.js.map +1 -0
- package/dist/commands/favorite.d.ts +3 -0
- package/dist/commands/favorite.d.ts.map +1 -0
- package/dist/commands/favorite.js +64 -0
- package/dist/commands/favorite.js.map +1 -0
- package/dist/commands/install.d.ts +3 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +83 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/new.d.ts +3 -0
- package/dist/commands/new.d.ts.map +1 -0
- package/dist/commands/new.js +27 -0
- package/dist/commands/new.js.map +1 -0
- package/dist/commands/plugin.d.ts +3 -0
- package/dist/commands/plugin.d.ts.map +1 -0
- package/dist/commands/plugin.js +39 -0
- package/dist/commands/plugin.js.map +1 -0
- package/dist/commands/preview.d.ts +3 -0
- package/dist/commands/preview.d.ts.map +1 -0
- package/dist/commands/preview.js +25 -0
- package/dist/commands/preview.js.map +1 -0
- package/dist/commands/publish.d.ts +3 -0
- package/dist/commands/publish.d.ts.map +1 -0
- package/dist/commands/publish.js +22 -0
- package/dist/commands/publish.js.map +1 -0
- package/dist/commands/recent.d.ts +3 -0
- package/dist/commands/recent.d.ts.map +1 -0
- package/dist/commands/recent.js +27 -0
- package/dist/commands/recent.js.map +1 -0
- package/dist/commands/remove.d.ts.map +1 -1
- package/dist/commands/remove.js +2 -1
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +39 -2
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/try.d.ts +3 -0
- package/dist/commands/try.d.ts.map +1 -0
- package/dist/commands/try.js +22 -0
- package/dist/commands/try.js.map +1 -0
- package/dist/commands/undo.d.ts +3 -0
- package/dist/commands/undo.d.ts.map +1 -0
- package/dist/commands/undo.js +24 -0
- package/dist/commands/undo.js.map +1 -0
- package/dist/commands/uninstall.d.ts +3 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +52 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +2 -1
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/wizard.d.ts +3 -0
- package/dist/commands/wizard.d.ts.map +1 -0
- package/dist/commands/wizard.js +61 -0
- package/dist/commands/wizard.js.map +1 -0
- package/dist/commands/workspace.d.ts +3 -0
- package/dist/commands/workspace.d.ts.map +1 -0
- package/dist/commands/workspace.js +84 -0
- package/dist/commands/workspace.js.map +1 -0
- package/dist/constants/ides.d.ts +2 -2
- package/dist/constants/ides.d.ts.map +1 -1
- package/dist/constants/ides.js +47 -3
- package/dist/constants/ides.js.map +1 -1
- package/dist/constants/index.d.ts +4 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +4 -0
- package/dist/constants/index.js.map +1 -1
- package/dist/core/program.d.ts.map +1 -1
- package/dist/core/program.js +38 -5
- package/dist/core/program.js.map +1 -1
- package/dist/index.js +36 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata/user-store.d.ts +16 -0
- package/dist/metadata/user-store.d.ts.map +1 -0
- package/dist/metadata/user-store.js +99 -0
- package/dist/metadata/user-store.js.map +1 -0
- package/dist/noah-registry/manifest.json +129 -16
- package/dist/services/doctor-service.d.ts.map +1 -1
- package/dist/services/doctor-service.js +74 -7
- package/dist/services/doctor-service.js.map +1 -1
- package/dist/services/ecosystem.d.ts +17 -0
- package/dist/services/ecosystem.d.ts.map +1 -0
- package/dist/services/ecosystem.js +136 -0
- package/dist/services/ecosystem.js.map +1 -0
- package/dist/services/extras.d.ts +29 -0
- package/dist/services/extras.d.ts.map +1 -0
- package/dist/services/extras.js +164 -0
- package/dist/services/extras.js.map +1 -0
- package/dist/services/install-service.d.ts +12 -0
- package/dist/services/install-service.d.ts.map +1 -1
- package/dist/services/install-service.js +169 -12
- package/dist/services/install-service.js.map +1 -1
- package/dist/services/intelligence.d.ts +20 -0
- package/dist/services/intelligence.d.ts.map +1 -0
- package/dist/services/intelligence.js +146 -0
- package/dist/services/intelligence.js.map +1 -0
- package/dist/services/lockfile-service.d.ts +7 -0
- package/dist/services/lockfile-service.d.ts.map +1 -0
- package/dist/services/lockfile-service.js +36 -0
- package/dist/services/lockfile-service.js.map +1 -0
- package/dist/services/project-awareness.d.ts +12 -0
- package/dist/services/project-awareness.d.ts.map +1 -0
- package/dist/services/project-awareness.js +200 -0
- package/dist/services/project-awareness.js.map +1 -0
- package/dist/services/workspace-service.d.ts +49 -0
- package/dist/services/workspace-service.d.ts.map +1 -0
- package/dist/services/workspace-service.js +92 -0
- package/dist/services/workspace-service.js.map +1 -0
- package/dist/types/index.d.ts +508 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +72 -0
- package/dist/types/index.js.map +1 -1
- package/dist/ui/banner.d.ts.map +1 -1
- package/dist/ui/banner.js +2 -3
- package/dist/ui/banner.js.map +1 -1
- package/dist/ui/homeMenu.d.ts +6 -0
- package/dist/ui/homeMenu.d.ts.map +1 -0
- package/dist/ui/homeMenu.js +72 -0
- package/dist/ui/homeMenu.js.map +1 -0
- package/dist/ui/preview.d.ts +3 -0
- package/dist/ui/preview.d.ts.map +1 -0
- package/dist/ui/preview.js +36 -0
- package/dist/ui/preview.js.map +1 -0
- package/dist/utils/assets.d.ts +7 -0
- package/dist/utils/assets.d.ts.map +1 -1
- package/dist/utils/assets.js +18 -14
- package/dist/utils/assets.js.map +1 -1
- package/dist/utils/fuzzy.d.ts +6 -0
- package/dist/utils/fuzzy.d.ts.map +1 -0
- package/dist/utils/fuzzy.js +51 -0
- package/dist/utils/fuzzy.js.map +1 -0
- package/dist/utils/registry.d.ts +8 -1
- package/dist/utils/registry.d.ts.map +1 -1
- package/dist/utils/registry.js +13 -5
- package/dist/utils/registry.js.map +1 -1
- package/dist/utils/semver.d.ts +11 -0
- package/dist/utils/semver.d.ts.map +1 -0
- package/dist/utils/semver.js +41 -0
- package/dist/utils/semver.js.map +1 -0
- package/package.json +6 -4
package/README.md
CHANGED
|
@@ -3,122 +3,227 @@
|
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<strong>The
|
|
7
|
-
|
|
6
|
+
<strong>The package manager and intelligent project bootstrapper for AI-assisted software development.</strong><br />
|
|
7
|
+
Bootstrap your AI development environment in one command — Noah understands your project and configures the best Skills, Rules, and workflows for Cursor, Claude Code, Windsurf, and more.
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
|
+
> **Continuous improvement.** Noah is under active development. The CLI, registry, and DX keep evolving — expect frequent updates, new packages, and polish as the roadmap ships.
|
|
11
|
+
|
|
10
12
|
<p align="center">
|
|
11
13
|
<a href="https://www.npmjs.com/package/noah-cursor"><img src="https://img.shields.io/npm/v/noah-cursor.svg" alt="npm version" /></a>
|
|
12
14
|
<a href="https://www.npmjs.com/package/noah-cursor"><img src="https://img.shields.io/npm/dm/noah-cursor.svg" alt="npm downloads" /></a>
|
|
13
15
|
<a href="LICENSE"><img src="https://img.shields.io/npm/l/noah-cursor.svg" alt="license" /></a>
|
|
14
16
|
<img src="https://img.shields.io/node/v/noah-cursor.svg" alt="node" />
|
|
15
|
-
<a href="https://
|
|
17
|
+
<a href="https://ko-fi.com/itsmenoahpoli"><img src="https://img.shields.io/badge/Ko--fi-F16061?style=flat&logo=ko-fi&logoColor=white" alt="Ko-fi" /></a>
|
|
16
18
|
</p>
|
|
17
19
|
|
|
18
20
|
```bash
|
|
19
|
-
npx noah-cursor
|
|
21
|
+
npx noah-cursor bootstrap
|
|
22
|
+
# or: npx noah bootstrap
|
|
20
23
|
```
|
|
21
24
|
|
|
22
|
-
|
|
25
|
+
**Recommended for first-time users.** Clone a repo, run bootstrap, and Noah detects your stack, scores project health, and shows recommended packages — then asks before installing. Confirm to install and write `noah.config.json`, or skip and choose packages yourself.
|
|
23
26
|
|
|
24
|
-
|
|
27
|
+
---
|
|
25
28
|
|
|
26
|
-
##
|
|
29
|
+
## Intelligent Project Bootstrap
|
|
27
30
|
|
|
28
|
-
|
|
31
|
+
One command prepares your entire AI development environment.
|
|
29
32
|
|
|
30
|
-
|
|
33
|
+
```bash
|
|
34
|
+
noah bootstrap
|
|
35
|
+
```
|
|
31
36
|
|
|
32
|
-
|
|
33
|
-
| --- | ---- | -------------- |
|
|
34
|
-
| **Cursor** | `--ide cursor` **(default)** | `.cursor/` |
|
|
35
|
-
| Windsurf | `--ide windsurf` | `.windsurf/` |
|
|
36
|
-
| Claude Code | `--ide claude-code` | `.claude/` |
|
|
37
|
-
| Continue | `--ide continue` | `.continue/` |
|
|
38
|
-
| VS Code | `--ide vscode` | `.vscode/` |
|
|
39
|
-
| Cline | `--ide cline` | `.cline/` |
|
|
37
|
+
Noah automatically:
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
- ✓ Detects your framework and tooling
|
|
40
|
+
- ✓ Analyses project architecture
|
|
41
|
+
- ✓ Scores project health
|
|
42
|
+
- ✓ Recommends the best Rules and Skills
|
|
43
|
+
- ✓ Installs AI workflow packages
|
|
44
|
+
- ✓ Generates `noah.config.json`
|
|
45
|
+
- ✓ Configures your AI assistant
|
|
44
46
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
No searching. No manual configuration. Just clone your project and bootstrap.
|
|
48
|
+
|
|
49
|
+
### Example
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
$ noah bootstrap
|
|
53
|
+
|
|
54
|
+
────────────────────────────
|
|
55
|
+
Scanning repository...
|
|
56
|
+
|
|
57
|
+
✓ Laravel 12
|
|
58
|
+
✓ Vue 3
|
|
59
|
+
✓ PostgreSQL
|
|
60
|
+
✓ Docker
|
|
61
|
+
✓ GitHub Actions
|
|
62
|
+
|
|
63
|
+
Project Health
|
|
64
|
+
Architecture 92%
|
|
65
|
+
Security 88%
|
|
66
|
+
Testing 34%
|
|
67
|
+
Documentation 26%
|
|
68
|
+
|
|
69
|
+
Recommended Packages
|
|
70
|
+
✓ Laravel Enterprise
|
|
71
|
+
✓ Testing Workflow
|
|
72
|
+
✓ Security Standards
|
|
73
|
+
✓ Docker Optimisation
|
|
74
|
+
|
|
75
|
+
? Install 4 recommended package(s)? (Y/n)
|
|
76
|
+
|
|
77
|
+
Installing...
|
|
78
|
+
Done.
|
|
79
|
+
Workspace ready.
|
|
48
80
|
```
|
|
49
81
|
|
|
50
|
-
|
|
82
|
+
### How it works
|
|
51
83
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
84
|
+
```text
|
|
85
|
+
Clone Repository
|
|
86
|
+
↓
|
|
87
|
+
noah bootstrap
|
|
88
|
+
↓
|
|
89
|
+
Detect Stack
|
|
90
|
+
↓
|
|
91
|
+
Analyse Project
|
|
92
|
+
↓
|
|
93
|
+
Recommend Packages
|
|
94
|
+
↓
|
|
95
|
+
Install AI Workflows
|
|
96
|
+
↓
|
|
97
|
+
Generate noah.config.json
|
|
98
|
+
↓
|
|
99
|
+
Ready to Develop
|
|
100
|
+
```
|
|
55
101
|
|
|
56
|
-
|
|
57
|
-
<img src="https://img.shields.io/badge/Cursor-000000?style=flat-square&logo=cursor&logoColor=white" alt="Cursor" />
|
|
58
|
-
<img src="https://img.shields.io/badge/Node.js-339933?style=flat-square&logo=nodedotjs&logoColor=white" alt="Node.js" />
|
|
59
|
-
<img src="https://img.shields.io/badge/TypeScript-3178C6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript" />
|
|
60
|
-
<img src="https://img.shields.io/badge/React-61DAFB?style=flat-square&logo=react&logoColor=black" alt="React" />
|
|
61
|
-
<img src="https://img.shields.io/badge/Next.js-000000?style=flat-square&logo=nextdotjs&logoColor=white" alt="Next.js" />
|
|
62
|
-
<img src="https://img.shields.io/badge/Nuxt-00DC82?style=flat-square&logo=nuxt&logoColor=black" alt="Nuxt" />
|
|
63
|
-
<img src="https://img.shields.io/badge/NestJS-E0234E?style=flat-square&logo=nestjs&logoColor=white" alt="NestJS" />
|
|
64
|
-
<img src="https://img.shields.io/badge/Laravel-FF2D20?style=flat-square&logo=laravel&logoColor=white" alt="Laravel" />
|
|
65
|
-
</p>
|
|
102
|
+
---
|
|
66
103
|
|
|
67
|
-
|
|
104
|
+
## Why Noah Cursor?
|
|
68
105
|
|
|
69
|
-
|
|
106
|
+
Unlike traditional prompt registries, Noah understands your project before installing anything.
|
|
70
107
|
|
|
71
|
-
|
|
72
|
-
| ---- | ----------- |
|
|
73
|
-
| Rebuilding the same Cursor setup on every project | One command installs a full workflow into `.cursor/` |
|
|
74
|
-
| Vague AI prompts that drift between teammates | Versioned Skills & Rules from a real registry |
|
|
75
|
-
| Hunting docs every time you switch stacks | Stack-specific rules for React, Laravel, Next, Nuxt |
|
|
76
|
-
| Manual QA loops with lint/doctor tools | Fix Skills that run → fix → verify |
|
|
108
|
+
With a single command, Noah can:
|
|
77
109
|
|
|
78
|
-
|
|
110
|
+
- Detect your technology stack
|
|
111
|
+
- Analyse project health
|
|
112
|
+
- Recommend the best AI workflow packages
|
|
113
|
+
- Configure your AI coding assistant
|
|
114
|
+
- Generate a reproducible workspace configuration
|
|
79
115
|
|
|
80
|
-
|
|
116
|
+
### Why it's different
|
|
81
117
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
118
|
+
| Traditional Registry | Noah Cursor |
|
|
119
|
+
| -------------------- | ----------- |
|
|
120
|
+
| Browse packages manually | Automatically understands your project |
|
|
121
|
+
| Search for prompts | Recommends the right packages |
|
|
122
|
+
| Install one resource at a time | Bootstraps the entire AI development environment |
|
|
123
|
+
| Static downloads | Intelligent project analysis |
|
|
124
|
+
| Manual configuration | Zero-configuration onboarding |
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Features
|
|
85
129
|
|
|
86
|
-
|
|
130
|
+
1. **Intelligent Project Bootstrap** — detect, recommend, install, ready
|
|
131
|
+
2. **Interactive Terminal UI** — browse Skills, Rules, Prompts, MCP, Presets
|
|
132
|
+
3. **Project Detection** — frameworks, tooling, CI, Docker, AI config
|
|
133
|
+
4. **AI Workflow Package Manager** — install / update / uninstall / lockfile
|
|
134
|
+
5. **Smart Recommendations** — stack-aware package suggestions
|
|
135
|
+
6. **Multi-AI Assistant Support** — Cursor, Claude Code, Windsurf, and more
|
|
136
|
+
7. **Registry Browser** — fuzzy search, preview, trending
|
|
137
|
+
8. **Skills & Rules Installation** — battle-tested agent workflows
|
|
138
|
+
9. **Team Workspace Configuration** — `noah.config.json` + `sync`
|
|
139
|
+
10. **Versioned AI Packages** — pins, presets, dependencies
|
|
140
|
+
|
|
141
|
+
---
|
|
87
142
|
|
|
88
143
|
## Quick start
|
|
89
144
|
|
|
90
145
|
Requires **Node.js 20+**.
|
|
91
146
|
|
|
92
147
|
```bash
|
|
93
|
-
#
|
|
94
|
-
npx noah-cursor
|
|
148
|
+
# Recommended — bootstrap your AI environment from the project
|
|
149
|
+
npx noah-cursor bootstrap
|
|
95
150
|
|
|
96
151
|
# Or install globally
|
|
97
152
|
npm install -g noah-cursor
|
|
98
|
-
noah
|
|
153
|
+
noah bootstrap
|
|
99
154
|
```
|
|
100
155
|
|
|
101
|
-
The registry ships inside the package. Nothing to clone
|
|
156
|
+
The registry ships inside the package. Nothing to clone for official assets.
|
|
102
157
|
|
|
103
|
-
###
|
|
158
|
+
### Other ways to install packages
|
|
104
159
|
|
|
105
160
|
```bash
|
|
106
|
-
#
|
|
107
|
-
npx noah-cursor
|
|
161
|
+
# Interactive browse (Skills / Rules / Prompts / MCP / Presets)
|
|
162
|
+
npx noah-cursor browse
|
|
163
|
+
|
|
164
|
+
# Install by package name
|
|
165
|
+
npx noah-cursor install commit-push
|
|
166
|
+
npx noah-cursor install laravel-api --target claude
|
|
167
|
+
npx noah-cursor install laravel-enterprise
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Demo
|
|
173
|
+
|
|
174
|
+
<p align="center">
|
|
175
|
+
<img src="https://cdn.jsdelivr.net/npm/noah-cursor@latest/assets/noah-cursor-demo.gif" alt="Noah Cursor CLI demo" width="100%" />
|
|
176
|
+
</p>
|
|
177
|
+
|
|
178
|
+
Marketing site: [GitHub Pages](https://itsmenoahpoli.github.io/noah-cursor/)
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Built for your stack
|
|
183
|
+
|
|
184
|
+
<p align="center">
|
|
185
|
+
<img src="https://skillicons.dev/icons?i=nodejs,typescript,react,nextjs,vue,nuxtjs,nestjs,laravel,php,git&perline=10" alt="Tech stack" />
|
|
186
|
+
</p>
|
|
187
|
+
|
|
188
|
+
<p align="center">
|
|
189
|
+
<img src="https://img.shields.io/badge/Cursor-000000?style=flat-square&logo=cursor&logoColor=white" alt="Cursor" />
|
|
190
|
+
<img src="https://img.shields.io/badge/Node.js-339933?style=flat-square&logo=nodedotjs&logoColor=white" alt="Node.js" />
|
|
191
|
+
<img src="https://img.shields.io/badge/TypeScript-3178C6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript" />
|
|
192
|
+
<img src="https://img.shields.io/badge/React-61DAFB?style=flat-square&logo=react&logoColor=black" alt="React" />
|
|
193
|
+
<img src="https://img.shields.io/badge/Next.js-000000?style=flat-square&logo=nextdotjs&logoColor=white" alt="Next.js" />
|
|
194
|
+
<img src="https://img.shields.io/badge/Nuxt-00DC82?style=flat-square&logo=nuxt&logoColor=black" alt="Nuxt" />
|
|
195
|
+
<img src="https://img.shields.io/badge/NestJS-E0234E?style=flat-square&logo=nestjs&logoColor=white" alt="NestJS" />
|
|
196
|
+
<img src="https://img.shields.io/badge/Laravel-FF2D20?style=flat-square&logo=laravel&logoColor=white" alt="Laravel" />
|
|
197
|
+
</p>
|
|
108
198
|
|
|
109
|
-
|
|
110
|
-
npx noah-cursor add --skill commit-push --ide windsurf
|
|
199
|
+
Curated Skills & Rules for React dashboards, Laravel APIs, Next/Nuxt marketing sites, NestJS, and Node — selected automatically when you bootstrap, or installed by name when you prefer.
|
|
111
200
|
|
|
112
|
-
|
|
113
|
-
npx noah-cursor add --skill generate-readme
|
|
201
|
+
---
|
|
114
202
|
|
|
115
|
-
|
|
116
|
-
|
|
203
|
+
## Works with your IDE
|
|
204
|
+
|
|
205
|
+
Built for **Cursor** first. Same registry, different project folder via `--ide` or `--target`.
|
|
206
|
+
|
|
207
|
+
| IDE | Flag | Project folder |
|
|
208
|
+
| --- | ---- | -------------- |
|
|
209
|
+
| **Cursor** | `--ide cursor` **(default)** | `.cursor/` |
|
|
210
|
+
| Windsurf | `--ide windsurf` | `.windsurf/` |
|
|
211
|
+
| Claude Code | `--ide claude-code` / `--target claude` | `.claude/` |
|
|
212
|
+
| Continue | `--ide continue` | `.continue/` |
|
|
213
|
+
| VS Code | `--ide vscode` | `.vscode/` |
|
|
214
|
+
| Cline | `--ide cline` | `.cline/` |
|
|
215
|
+
| Gemini CLI | `--ide gemini` | `.gemini/` |
|
|
216
|
+
| Codex CLI | `--ide codex` | `.codex/` |
|
|
217
|
+
| Roo Code | `--ide roo` | `.roo/` |
|
|
218
|
+
| Aider | `--ide aider` | `.aider/` |
|
|
117
219
|
|
|
118
|
-
|
|
119
|
-
|
|
220
|
+
```bash
|
|
221
|
+
noah bootstrap --target claude
|
|
222
|
+
noah install commit-push --ide windsurf
|
|
120
223
|
```
|
|
121
224
|
|
|
225
|
+
---
|
|
226
|
+
|
|
122
227
|
## What you get
|
|
123
228
|
|
|
124
229
|
### Skills — agent workflows you can reuse
|
|
@@ -142,189 +247,155 @@ npx noah-cursor add --rule laravel-api --rule react-spa-dashboard
|
|
|
142
247
|
| `nextjs-marketing` | Next.js | Next.js App Router marketing / branding sites |
|
|
143
248
|
| `nuxt-marketing` | Nuxt | Nuxt 3+ marketing / branding sites |
|
|
144
249
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
## Commands
|
|
148
|
-
|
|
149
|
-
| Command | Description |
|
|
150
|
-
| ------- | ----------- |
|
|
151
|
-
| `browse` | Pick IDE → browse categories → install assets |
|
|
152
|
-
| `add` | Install Skills, Rules, Prompts, MCP, or Presets |
|
|
153
|
-
| `search` | Search the registry |
|
|
154
|
-
| `list` | List registry or installed assets |
|
|
155
|
-
| `remove` | Uninstall an asset |
|
|
156
|
-
| `update` | Re-fetch and update installed assets |
|
|
157
|
-
| `doctor` | Diagnose environment health |
|
|
250
|
+
### Presets — one install, many packages
|
|
158
251
|
|
|
159
|
-
|
|
252
|
+
| Preset | Includes |
|
|
253
|
+
| ------ | -------- |
|
|
254
|
+
| `laravel-enterprise` | Laravel API + Larastan + README + git + architecture |
|
|
255
|
+
| `react-performance` | React SPA rules + react-doctor + git + architecture |
|
|
160
256
|
|
|
161
|
-
|
|
162
|
-
Select IDE → Select categories → Select assets → Confirm → Install
|
|
163
|
-
```
|
|
257
|
+
Prompts and MCP configs are supported by the CLI — more shipping as the registry grows.
|
|
164
258
|
|
|
165
|
-
|
|
166
|
-
noah-cursor browse
|
|
167
|
-
noah-cursor browse --ide windsurf
|
|
168
|
-
noah-cursor browse --browse-skills
|
|
169
|
-
noah-cursor browse --browse-rules
|
|
170
|
-
noah-cursor browse --browse-prompts
|
|
171
|
-
noah-cursor browse --browse-mcp
|
|
172
|
-
noah-cursor browse --browse-presets
|
|
173
|
-
```
|
|
259
|
+
---
|
|
174
260
|
|
|
175
|
-
|
|
261
|
+
## Commands
|
|
176
262
|
|
|
177
|
-
|
|
263
|
+
| Command | Description |
|
|
264
|
+
| ------- | ----------- |
|
|
265
|
+
| **`bootstrap`** | **Detect stack → recommend → confirm → install → write workspace (flagship)** |
|
|
266
|
+
| `analyze` / `doctor` | Project analysis and health scores |
|
|
267
|
+
| `wizard` | Interactive “what are you building?” setup |
|
|
268
|
+
| `browse` | Interactive Skills / Rules / Prompts / MCP / Presets |
|
|
269
|
+
| `install` / `i` | Install by package name (`id`, `type/id`, `@version`) |
|
|
270
|
+
| `add` | Install via `--skill` / `--rule` / … flags |
|
|
271
|
+
| `search` / `preview` | Fuzzy search and package preview |
|
|
272
|
+
| `list` / `update` / `uninstall` | Manage installed packages |
|
|
273
|
+
| `workspace` / `sync` | Team `noah.config.json` + sync |
|
|
274
|
+
| `explain` / `upgrade` | Package explain + upgrade assistant |
|
|
275
|
+
| `publish` / `trending` | Scaffold packages / trending list |
|
|
276
|
+
| `dashboard` / `diff` / `try` / `undo` / `new` | DX extras |
|
|
277
|
+
| `login` / `config` / `audit` | Auth, settings, audit log |
|
|
278
|
+
|
|
279
|
+
Use `--ide` or `--target` on install / bootstrap / doctor. Default: `cursor`.
|
|
280
|
+
|
|
281
|
+
### Bootstrap & project-aware flow
|
|
178
282
|
|
|
179
283
|
```bash
|
|
180
|
-
noah
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
--all
|
|
188
|
-
--force
|
|
189
|
-
--dry-run
|
|
190
|
-
--yes
|
|
191
|
-
--verbose
|
|
284
|
+
noah bootstrap # recommended entrypoint (asks before install)
|
|
285
|
+
noah bootstrap -y # skip confirmation and install
|
|
286
|
+
noah bootstrap --all # recommend all matches (not just top 5)
|
|
287
|
+
noah bootstrap --dry-run
|
|
288
|
+
noah analyze
|
|
289
|
+
noah doctor
|
|
290
|
+
noah wizard
|
|
192
291
|
```
|
|
193
292
|
|
|
194
|
-
|
|
293
|
+
### Browse & install
|
|
195
294
|
|
|
196
295
|
```bash
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
296
|
+
noah browse
|
|
297
|
+
noah browse --browse-skills
|
|
298
|
+
noah install laravel-api
|
|
299
|
+
noah install rule/laravel-api@1.0.0 --target claude
|
|
300
|
+
noah install laravel-enterprise
|
|
201
301
|
```
|
|
202
302
|
|
|
203
|
-
###
|
|
204
|
-
|
|
205
|
-
Pass `--ide` when managing installs for a non-Cursor target (default: `cursor`).
|
|
303
|
+
### Team sync
|
|
206
304
|
|
|
207
305
|
```bash
|
|
208
|
-
noah
|
|
209
|
-
noah-
|
|
210
|
-
noah
|
|
211
|
-
noah
|
|
212
|
-
noah-cursor remove skill test --yes
|
|
213
|
-
noah-cursor remove skill test --ide windsurf --yes
|
|
214
|
-
noah-cursor update --yes
|
|
215
|
-
noah-cursor doctor
|
|
216
|
-
noah-cursor doctor --ide claude-code
|
|
306
|
+
noah workspace init
|
|
307
|
+
noah workspace add rule/laravel-api
|
|
308
|
+
noah sync -y
|
|
309
|
+
# noah.config.json + noah.lock stay in sync on install
|
|
217
310
|
```
|
|
218
311
|
|
|
219
|
-
|
|
312
|
+
---
|
|
220
313
|
|
|
221
|
-
|
|
314
|
+
## Project layout after bootstrap
|
|
222
315
|
|
|
223
316
|
```
|
|
224
317
|
your-project/
|
|
225
|
-
.cursor/
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
.
|
|
230
|
-
.
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
Inside the IDE root (e.g. `.cursor/`):
|
|
234
|
-
|
|
318
|
+
.cursor/ # AI assets (or .claude/, .windsurf/, …)
|
|
319
|
+
skills/
|
|
320
|
+
rules/
|
|
321
|
+
noah.json # per-IDE install ledger
|
|
322
|
+
noah.config.json # team workspace package list
|
|
323
|
+
noah.lock # pinned versions
|
|
235
324
|
```
|
|
236
|
-
skills/
|
|
237
|
-
rules/
|
|
238
|
-
prompts/
|
|
239
|
-
mcp/
|
|
240
|
-
noah.json # tracks installed assets + ide
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
Example after a default browse install:
|
|
244
325
|
|
|
245
|
-
|
|
246
|
-
.cursor/
|
|
247
|
-
skills/commit-push/
|
|
248
|
-
rules/laravel-api/
|
|
249
|
-
noah.json
|
|
250
|
-
```
|
|
326
|
+
User preferences (favorites, recent, auth) live in `~/.noah/`.
|
|
251
327
|
|
|
252
|
-
|
|
328
|
+
---
|
|
253
329
|
|
|
254
330
|
## Build your own registry assets
|
|
255
331
|
|
|
256
|
-
This repo is both the **CLI** and the **registry
|
|
332
|
+
This repo is both the **CLI** and the **registry**:
|
|
257
333
|
|
|
258
334
|
```
|
|
259
335
|
manifest.json
|
|
260
|
-
skills/
|
|
261
|
-
rules/
|
|
262
|
-
prompts/
|
|
263
|
-
mcp/
|
|
264
|
-
presets/
|
|
336
|
+
skills/ rules/ prompts/ mcp/ presets/
|
|
265
337
|
```
|
|
266
338
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
{
|
|
271
|
-
"name": "noah-registry",
|
|
272
|
-
"version": "1.0.0",
|
|
273
|
-
"description": "My AI IDE assets",
|
|
274
|
-
"skills": [
|
|
275
|
-
{
|
|
276
|
-
"id": "my-workflow",
|
|
277
|
-
"version": "1.0.0",
|
|
278
|
-
"description": "What this skill does",
|
|
279
|
-
"tags": ["git"]
|
|
280
|
-
}
|
|
281
|
-
],
|
|
282
|
-
"rules": [],
|
|
283
|
-
"prompts": [],
|
|
284
|
-
"mcp": [],
|
|
285
|
-
"presets": []
|
|
286
|
-
}
|
|
339
|
+
```bash
|
|
340
|
+
noah login
|
|
341
|
+
noah publish
|
|
287
342
|
```
|
|
288
343
|
|
|
344
|
+
Manifest entries can include `tags`, `downloads`, `rating`, `verified`, `dependsOn`, and `changelog`.
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
289
348
|
## Development
|
|
290
349
|
|
|
291
350
|
```bash
|
|
292
351
|
npm install
|
|
293
352
|
npm run build # TypeScript + bundle registry → dist
|
|
294
353
|
npm test
|
|
295
|
-
npm run dev --
|
|
354
|
+
npm run dev -- bootstrap
|
|
296
355
|
```
|
|
297
356
|
|
|
298
|
-
`npm run build` copies
|
|
357
|
+
`npm run build` copies the registry into `dist/noah-registry/` so published installs never need GitHub access for official assets.
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
## Vision
|
|
362
|
+
|
|
363
|
+
> Noah Cursor isn't just a package installer.
|
|
364
|
+
>
|
|
365
|
+
> It is an intelligent developer experience platform that understands your project, recommends best practices, and prepares your AI coding assistant automatically.
|
|
366
|
+
|
|
367
|
+
The long-term vision is to become **the package manager for AI-assisted software development** — project-aware, workflow-focused, and zero-config for teams who ship with AI every day.
|
|
368
|
+
|
|
369
|
+
---
|
|
299
370
|
|
|
300
371
|
## Contributing
|
|
301
372
|
|
|
302
|
-
Ideas for Skills, Rules, or MCP configs? Open an issue or PR. The best assets are ones you already use on real projects
|
|
373
|
+
Ideas for Skills, Rules, or MCP configs? Open an issue or PR. The best assets are ones you already use on real projects.
|
|
303
374
|
|
|
304
|
-
|
|
375
|
+
Noah is continuously improved; feedback and PRs shape what ships next.
|
|
305
376
|
|
|
306
|
-
|
|
377
|
+
## Feedback & requests
|
|
307
378
|
|
|
308
379
|
📧 **Email:** [patrickpolicarpio08@gmail.com](mailto:patrickpolicarpio08@gmail.com)
|
|
309
380
|
|
|
310
|
-
Whether it's a Skill you want added, a Rule for your stack, a bug report, or an idea to improve
|
|
381
|
+
Whether it's a Skill you want added, a Rule for your stack, a bug report, or an idea to improve bootstrap — send a note.
|
|
311
382
|
|
|
312
383
|
## Support
|
|
313
384
|
|
|
314
|
-
If Noah
|
|
385
|
+
If Noah saves you time, consider supporting on Ko-fi — it helps keep the CLI and registry maintained.
|
|
315
386
|
|
|
316
387
|
<p align="center">
|
|
317
|
-
<a href="https://
|
|
318
|
-
<img src="https://
|
|
388
|
+
<a href="https://ko-fi.com/itsmenoahpoli">
|
|
389
|
+
<img src="https://storage.ko-fi.com/cdn/kofi2.png?v=3" alt="Support me on Ko-fi" height="45" />
|
|
319
390
|
</a>
|
|
320
391
|
</p>
|
|
321
392
|
|
|
322
393
|
<p align="center">
|
|
323
|
-
<a href="https://
|
|
324
|
-
<img src="https://cdn.jsdelivr.net/npm/noah-cursor@latest/assets/qr-code.png" alt="
|
|
394
|
+
<a href="https://ko-fi.com/itsmenoahpoli">
|
|
395
|
+
<img src="https://cdn.jsdelivr.net/npm/noah-cursor@latest/assets/qr-code.png" alt="Ko-fi QR code" width="220" />
|
|
325
396
|
</a>
|
|
326
397
|
<br />
|
|
327
|
-
<sub>Scan to support on
|
|
398
|
+
<sub>Scan to support on Ko-fi</sub>
|
|
328
399
|
</p>
|
|
329
400
|
|
|
330
401
|
## License
|
package/assets/qr-code.png
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6DzD"}
|
package/dist/commands/add.js
CHANGED
|
@@ -13,6 +13,7 @@ export function registerAddCommand(program) {
|
|
|
13
13
|
.option("--preset <name>", "Install a preset (expands to included assets)")
|
|
14
14
|
.option("--all", "Install all assets from the registry", false)
|
|
15
15
|
.option("--ide <name>", `Target IDE (${IDE_IDS.join("|")})`, "cursor")
|
|
16
|
+
.option("--target <name>", "Alias for --ide")
|
|
16
17
|
.option("--force", "Overwrite existing assets", false)
|
|
17
18
|
.option("--dry-run", "Show what would be installed without writing files", false)
|
|
18
19
|
.option("-y, --yes", "Skip confirmation prompts", false)
|
|
@@ -20,7 +21,7 @@ export function registerAddCommand(program) {
|
|
|
20
21
|
.action(async (opts) => {
|
|
21
22
|
const spinner = createSpinner("Loading registry…");
|
|
22
23
|
try {
|
|
23
|
-
const ide = parseIdeId(opts.ide);
|
|
24
|
+
const ide = parseIdeId(opts.target ?? opts.ide);
|
|
24
25
|
spinner.start();
|
|
25
26
|
const options = {
|
|
26
27
|
skill: opts.skill,
|
package/dist/commands/add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;SACjD,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;SAC/C,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;SACnD,MAAM,CAAC,cAAc,EAAE,6BAA6B,CAAC;SACrD,MAAM,CAAC,iBAAiB,EAAE,+CAA+C,CAAC;SAC1E,MAAM,CAAC,OAAO,EAAE,sCAAsC,EAAE,KAAK,CAAC;SAC9D,MAAM,CACL,cAAc,EACd,eAAe,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EACnC,QAAQ,CACT;SACA,MAAM,CAAC,SAAS,EAAE,2BAA2B,EAAE,KAAK,CAAC;SACrD,MAAM,CAAC,WAAW,EAAE,oDAAoD,EAAE,KAAK,CAAC;SAChF,MAAM,CAAC,WAAW,EAAE,2BAA2B,EAAE,KAAK,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,gBAAgB,EAAE,KAAK,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4C7D"}
|