@quanvo99/ai-rules 0.1.2 → 0.1.4
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 +67 -105
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +16 -9
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/index.js +1 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/lib/prompts.d.ts.map +1 -1
- package/dist/cli/lib/prompts.js +22 -10
- package/dist/cli/lib/prompts.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,72 +5,78 @@ A command-line tool that helps developers pull curated AI agent rules from a cen
|
|
|
5
5
|
## Quick Start
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
#
|
|
8
|
+
# Interactive mode - walk through prompts
|
|
9
9
|
npx @quanvo99/ai-rules init
|
|
10
10
|
|
|
11
|
-
#
|
|
12
|
-
npx @quanvo99/ai-rules
|
|
11
|
+
# Non-interactive mode - specify options directly
|
|
12
|
+
npx @quanvo99/ai-rules init --agent cursor --categories typescript,react-hooks --overwrite-strategy force
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 🌐 Interactive Rule Selection
|
|
16
|
+
|
|
17
|
+
**Prefer a visual interface?** Use our web UI to browse, search, and select rules interactively:
|
|
18
|
+
|
|
19
|
+
👉 **[Open Rule Selector at https://ai-rules-setup.vercel.app/](https://ai-rules-setup.vercel.app/)**
|
|
20
|
+
|
|
21
|
+
The web interface allows you to:
|
|
13
22
|
|
|
14
|
-
|
|
15
|
-
|
|
23
|
+
- Browse all available rules with descriptions and tags
|
|
24
|
+
- Search rules using keywords
|
|
25
|
+
- Select multiple rules interactively
|
|
26
|
+
- Generate a non-interactive CLI command with your selections
|
|
27
|
+
- Copy and paste the command to install rules instantly
|
|
28
|
+
|
|
29
|
+
Example generated command:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx @quanvo99/ai-rules init --agent cursor --categories typescript-conventions,react-hooks --overwrite-strategy force
|
|
16
33
|
```
|
|
17
34
|
|
|
18
35
|
## What is AI Rules CLI?
|
|
19
36
|
|
|
20
37
|
AI Rules CLI solves the problem of scattered, hard-to-find AI agent rule files across different projects. Instead of manually copying rules from various sources, you can:
|
|
21
38
|
|
|
22
|
-
- **Discover** rules by
|
|
39
|
+
- **Discover** rules by browsing categories and tags
|
|
23
40
|
- **Install** only the rules you need for your specific project
|
|
24
|
-
- **
|
|
25
|
-
- **Refine** your selection through intelligent questioning
|
|
41
|
+
- **Choose** between interactive CLI prompts or web-based selection
|
|
26
42
|
|
|
27
43
|
## Supported AI Agents
|
|
28
44
|
|
|
29
45
|
- **Cursor** - `.cursor/rules/` directory with `.cursorrules` files
|
|
30
|
-
- **
|
|
31
|
-
- **More coming soon** - Aider, Continue, Cody, and others
|
|
46
|
+
- **More coming soon** - Windsurf, Aider, Continue, Cody, and others
|
|
32
47
|
|
|
33
48
|
## Key Features
|
|
34
49
|
|
|
35
|
-
### 🎯
|
|
36
|
-
|
|
37
|
-
Use natural language to find relevant rules:
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
npx @quanvo99/ai-rules search "nextjs 15 server components tailwind"
|
|
41
|
-
```
|
|
50
|
+
### 🎯 Interactive or Command-Line Driven
|
|
42
51
|
|
|
43
|
-
|
|
52
|
+
Choose your preferred workflow:
|
|
44
53
|
|
|
45
|
-
|
|
54
|
+
- **Interactive CLI** - Guided prompts for agent and category selection
|
|
55
|
+
- **Non-Interactive CLI** - Direct command with all options specified
|
|
56
|
+
- **Web UI** - Visual interface at https://ai-rules-setup.vercel.app/
|
|
46
57
|
|
|
47
|
-
|
|
48
|
-
- "What's your primary data fetching strategy?"
|
|
49
|
-
- "Do you prefer Tailwind or styled-components?"
|
|
58
|
+
### 📦 Multiple AI Agent Support
|
|
50
59
|
|
|
51
|
-
|
|
60
|
+
Works with:
|
|
52
61
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
npx @quanvo99/ai-rules status
|
|
62
|
+
- **Cursor** - `.cursor/rules/` directory
|
|
63
|
+
- More agents coming soon
|
|
56
64
|
|
|
57
|
-
|
|
58
|
-
npx @quanvo99/ai-rules add nextjs database
|
|
65
|
+
### ⚙️ Flexible Conflict Resolution
|
|
59
66
|
|
|
60
|
-
|
|
61
|
-
npx @quanvo99/ai-rules remove old-framework
|
|
67
|
+
Handle existing files your way:
|
|
62
68
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
69
|
+
- `prompt` - Ask for each conflict (default)
|
|
70
|
+
- `force` - Overwrite all existing files
|
|
71
|
+
- `skip` - Keep existing files, skip new ones
|
|
66
72
|
|
|
67
73
|
## How It Works
|
|
68
74
|
|
|
69
|
-
1. **
|
|
70
|
-
2. **
|
|
71
|
-
3. **
|
|
72
|
-
4. **
|
|
73
|
-
5. **
|
|
75
|
+
1. **Choose Your Interface** - Use the CLI in interactive mode or the web UI at https://ai-rules-setup.vercel.app/
|
|
76
|
+
2. **Select Agent** - Choose your AI agent (Cursor, Windsurf, etc.)
|
|
77
|
+
3. **Pick Categories** - Select rule categories that match your tech stack
|
|
78
|
+
4. **Handle Conflicts** - Decide how to handle existing files (prompt, force, or skip)
|
|
79
|
+
5. **Install** - Rules are automatically placed in the correct locations
|
|
74
80
|
|
|
75
81
|
## Project Structure
|
|
76
82
|
|
|
@@ -85,7 +91,7 @@ your-project/
|
|
|
85
91
|
└── package.json
|
|
86
92
|
```
|
|
87
93
|
|
|
88
|
-
##
|
|
94
|
+
## Example Rule Categories
|
|
89
95
|
|
|
90
96
|
### Languages
|
|
91
97
|
|
|
@@ -122,19 +128,9 @@ The CLI creates a `.ai-rules.json` file in your project root:
|
|
|
122
128
|
|
|
123
129
|
```json
|
|
124
130
|
{
|
|
131
|
+
"version": "1.0.0",
|
|
125
132
|
"agent": "cursor",
|
|
126
|
-
"
|
|
127
|
-
{
|
|
128
|
-
"id": "typescript-strict",
|
|
129
|
-
"category": "typescript",
|
|
130
|
-
"installedAt": "2024-01-15T10:30:00Z",
|
|
131
|
-
"source": "github.com/votrungquan1999/AI-rules-setup"
|
|
132
|
-
}
|
|
133
|
-
],
|
|
134
|
-
"preferences": {
|
|
135
|
-
"autoUpdate": false,
|
|
136
|
-
"conflictResolution": "prompt"
|
|
137
|
-
}
|
|
133
|
+
"categories": ["typescript-conventions", "react-hooks", "meta-rules"]
|
|
138
134
|
}
|
|
139
135
|
```
|
|
140
136
|
|
|
@@ -142,77 +138,43 @@ The CLI creates a `.ai-rules.json` file in your project root:
|
|
|
142
138
|
|
|
143
139
|
### `npx @quanvo99/ai-rules init`
|
|
144
140
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
- AI agent selection
|
|
148
|
-
- Tech stack identification
|
|
149
|
-
- Rule discovery and selection
|
|
150
|
-
- Installation configuration
|
|
141
|
+
Initialize AI rules for your project. Can be used in interactive or non-interactive mode.
|
|
151
142
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
Add specific rule categories to your project:
|
|
143
|
+
**Interactive Mode:**
|
|
155
144
|
|
|
156
145
|
```bash
|
|
157
|
-
npx @quanvo99/ai-rules
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
### `npx @quanvo99/ai-rules remove <categories...>`
|
|
161
|
-
|
|
162
|
-
Remove rule categories from your project:
|
|
163
|
-
|
|
164
|
-
```bash
|
|
165
|
-
npx @quanvo99/ai-rules remove old-framework
|
|
146
|
+
npx @quanvo99/ai-rules init
|
|
166
147
|
```
|
|
167
148
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
Update all installed rules to their latest versions:
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
npx @quanvo99/ai-rules update
|
|
174
|
-
```
|
|
149
|
+
Walks you through:
|
|
175
150
|
|
|
176
|
-
|
|
151
|
+
- AI agent selection (cursor, windsurf, etc.)
|
|
152
|
+
- Category selection with descriptions and tags
|
|
153
|
+
- File conflict resolution
|
|
177
154
|
|
|
178
|
-
|
|
155
|
+
**Non-Interactive Mode:**
|
|
179
156
|
|
|
180
157
|
```bash
|
|
181
|
-
npx @quanvo99/ai-rules
|
|
158
|
+
npx @quanvo99/ai-rules init [options]
|
|
182
159
|
```
|
|
183
160
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
Show currently installed rules and their status:
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
|
-
npx @quanvo99/ai-rules status
|
|
190
|
-
```
|
|
161
|
+
**Options:**
|
|
191
162
|
|
|
192
|
-
|
|
163
|
+
- `--agent <name>` - Specify the AI agent (cursor, windsurf, etc.)
|
|
164
|
+
- `--categories <list>` - Comma-separated category IDs (use "all" for all categories)
|
|
165
|
+
- `--overwrite-strategy <strategy>` - Conflict resolution: `prompt` (default), `force`, or `skip`
|
|
193
166
|
|
|
194
|
-
|
|
167
|
+
**Examples:**
|
|
195
168
|
|
|
196
169
|
```bash
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
### `npx @quanvo99/ai-rules refine`
|
|
201
|
-
|
|
202
|
-
Re-run the refinement process for better rule selection:
|
|
170
|
+
# Install specific categories for Cursor
|
|
171
|
+
npx @quanvo99/ai-rules init --agent cursor --categories typescript-conventions,react-hooks
|
|
203
172
|
|
|
204
|
-
|
|
205
|
-
npx @quanvo99/ai-rules
|
|
206
|
-
```
|
|
173
|
+
# Install all categories with force overwrite
|
|
174
|
+
npx @quanvo99/ai-rules init --agent cursor --categories all --overwrite-strategy force
|
|
207
175
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
You can configure the API endpoint if needed:
|
|
211
|
-
|
|
212
|
-
```bash
|
|
213
|
-
# Set custom API URL (optional)
|
|
214
|
-
export AI_RULES_API_URL=https://your-api-domain.com
|
|
215
|
-
npx @quanvo99/ai-rules init
|
|
176
|
+
# Skip existing files
|
|
177
|
+
npx @quanvo99/ai-rules init --agent cursor --categories meta-rules --overwrite-strategy skip
|
|
216
178
|
```
|
|
217
179
|
|
|
218
180
|
## License
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAmB,WAAW,EAAE,MAAM,cAAc,CAAC;AAEjE;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAmB,WAAW,EAAE,MAAM,cAAc,CAAC;AAEjE;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6J1E"}
|
|
@@ -48,16 +48,23 @@ async function initCommand(options = {}) {
|
|
|
48
48
|
// Category selection: use provided options or prompt
|
|
49
49
|
let selectedCategories;
|
|
50
50
|
if (options.categories && options.categories.length > 0) {
|
|
51
|
-
//
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
51
|
+
// Check if "all" is specified
|
|
52
|
+
if (options.categories.includes("all")) {
|
|
53
|
+
selectedCategories = manifests.map((m) => m.id);
|
|
54
|
+
console.log(chalk_1.default.green(`✓ Selected all categories: ${selectedCategories.join(", ")}\n`));
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
// Validate provided categories
|
|
58
|
+
const validCategories = manifests.map((m) => m.id);
|
|
59
|
+
const invalidCategories = options.categories.filter((cat) => !validCategories.includes(cat));
|
|
60
|
+
if (invalidCategories.length > 0) {
|
|
61
|
+
console.log(chalk_1.default.red(`❌ Invalid categories: ${invalidCategories.join(", ")}`));
|
|
62
|
+
console.log(chalk_1.default.yellow(`Available categories: ${validCategories.join(", ")}`));
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
selectedCategories = options.categories;
|
|
66
|
+
console.log(chalk_1.default.green(`✓ Selected categories: ${selectedCategories.join(", ")}\n`));
|
|
58
67
|
}
|
|
59
|
-
selectedCategories = options.categories;
|
|
60
|
-
console.log(chalk_1.default.green(`✓ Selected categories: ${selectedCategories.join(", ")}\n`));
|
|
61
68
|
}
|
|
62
69
|
else {
|
|
63
70
|
selectedCategories = await (0, prompts_1.promptCategorySelection)(manifests);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":";;;;;AAYA,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -27,8 +27,7 @@ program
|
|
|
27
27
|
overwriteStrategy: options.overwriteStrategy,
|
|
28
28
|
};
|
|
29
29
|
// Validate overwrite strategy
|
|
30
|
-
if (parsedOptions.overwriteStrategy &&
|
|
31
|
-
!["prompt", "force", "skip"].includes(parsedOptions.overwriteStrategy)) {
|
|
30
|
+
if (parsedOptions.overwriteStrategy && !["prompt", "force", "skip"].includes(parsedOptions.overwriteStrategy)) {
|
|
32
31
|
console.error(chalk_1.default.red(`❌ Invalid overwrite strategy: ${parsedOptions.overwriteStrategy}`));
|
|
33
32
|
console.log(chalk_1.default.yellow("Valid options: prompt, force, skip"));
|
|
34
33
|
process.exit(1);
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":";;;;;;AAEA,kDAA0B;AAC1B,yCAAoC;AACpC,0CAA8C;AAE9C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACL,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CACX,yHAAyH,CACzH;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnB,OAAO;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,gBAAgB,EAAE,+CAA+C,CAAC;KACzE,MAAM,CAAC,qBAAqB,EAAE,iDAAiD,CAAC;KAChF,MAAM,CACN,iCAAiC,EACjC,wFAAwF,EACxF,QAAQ,CACR;KACA,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACzB,IAAI,CAAC;QACJ,+CAA+C;QAC/C,MAAM,aAAa,GAAG;YACrB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YACvG,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC5C,CAAC;QAEF,8BAA8B;QAC9B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/prompts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAmCxC;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB5E;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/prompts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAmCxC;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB5E;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiDtF;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAaxE;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWjF"}
|
package/dist/cli/lib/prompts.js
CHANGED
|
@@ -72,16 +72,24 @@ async function promptCategorySelection(manifests) {
|
|
|
72
72
|
if (manifests.length === 0) {
|
|
73
73
|
return [];
|
|
74
74
|
}
|
|
75
|
+
const ALL_OPTION = "__ALL__";
|
|
75
76
|
// Format choices with enhanced visual hierarchy
|
|
76
|
-
const choices =
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
77
|
+
const choices = [
|
|
78
|
+
{
|
|
79
|
+
name: chalk_1.default.bold.green("📦 Select All"),
|
|
80
|
+
value: ALL_OPTION,
|
|
81
|
+
short: "All",
|
|
82
|
+
},
|
|
83
|
+
...manifests.map((manifest) => {
|
|
84
|
+
const tagLine = chalk_1.default.gray(`[${manifest.tags.slice(0, 3).join(", ")}]`);
|
|
85
|
+
const descLine = manifest.description.length > 60 ? `${manifest.description.slice(0, 60)}…` : manifest.description;
|
|
86
|
+
return {
|
|
87
|
+
name: `${chalk_1.default.cyan.bold(manifest.id)} ${tagLine}\n ${chalk_1.default.dim(descLine)}`,
|
|
88
|
+
value: manifest.id,
|
|
89
|
+
short: manifest.id,
|
|
90
|
+
};
|
|
91
|
+
}),
|
|
92
|
+
];
|
|
85
93
|
const { categories } = await inquirer_1.default.prompt([
|
|
86
94
|
{
|
|
87
95
|
type: "checkbox",
|
|
@@ -97,7 +105,11 @@ async function promptCategorySelection(manifests) {
|
|
|
97
105
|
},
|
|
98
106
|
},
|
|
99
107
|
]);
|
|
100
|
-
|
|
108
|
+
// Handle "Select All" option
|
|
109
|
+
if (categories.includes(ALL_OPTION)) {
|
|
110
|
+
return manifests.map((m) => m.id);
|
|
111
|
+
}
|
|
112
|
+
return categories.filter((cat) => cat !== ALL_OPTION);
|
|
101
113
|
}
|
|
102
114
|
/**
|
|
103
115
|
* Prompts user to preview a specific manifest
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../../src/cli/lib/prompts.ts"],"names":[],"mappings":";;;;;AA0CA,oDAoBC;AAOD,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../../src/cli/lib/prompts.ts"],"names":[],"mappings":"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"}
|