fasterdev 0.1.0
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 +269 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +1915 -0
- package/package.json +50 -0
package/README.md
ADDED
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
# @faster.dev/cli
|
|
2
|
+
|
|
3
|
+
Install AI coding assistant skills and rules from faster.dev to Claude Code, Cursor, Codex, Cline, Roo Code, Continue, Aider, Gemini CLI, Amp, and OpenCode — all with a single command.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @faster.dev/cli
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Authenticate with faster.dev
|
|
15
|
+
faster login
|
|
16
|
+
|
|
17
|
+
# Install a rule to all detected tools
|
|
18
|
+
faster install api-conventions
|
|
19
|
+
|
|
20
|
+
# Install to specific tools only
|
|
21
|
+
faster install api-conventions --tools claude-code,cursor
|
|
22
|
+
|
|
23
|
+
# Install as a skill (for tools that support skills)
|
|
24
|
+
faster install docx-generator --as-skill
|
|
25
|
+
|
|
26
|
+
# Install globally
|
|
27
|
+
faster install api-conventions --global
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Supported Tools
|
|
31
|
+
|
|
32
|
+
| Tool | Rules | Skills | Format |
|
|
33
|
+
|------|-------|--------|--------|
|
|
34
|
+
| Claude Code | ✅ | ✅ | `.claude/rules/*.md`, `.claude/skills/*/SKILL.md` |
|
|
35
|
+
| OpenAI Codex | ✅ | ✅ | `AGENTS.md`, `.codex/skills/*/SKILL.md` |
|
|
36
|
+
| Cursor | ✅ | ❌ | `.cursor/rules/*.mdc` |
|
|
37
|
+
| Cline | ✅ | ❌ | `.clinerules/*.md` |
|
|
38
|
+
| Roo Code | ✅ | ❌ | `.roo/rules/*.md` |
|
|
39
|
+
| Continue.dev | ✅ | ❌ | `.continue/rules/*.md` |
|
|
40
|
+
| Aider | ✅ | ❌ | `CONVENTIONS.md` + `.aider.conf.yml` |
|
|
41
|
+
| Gemini CLI | ✅ | ❌ | `GEMINI.md` |
|
|
42
|
+
| Amp | ✅ | ✅ | `AGENTS.md`, `.agents/skills/*/SKILL.md` |
|
|
43
|
+
| OpenCode | ✅ | ✅ | `.opencode/rules/*.md`, `.opencode/skill/*/SKILL.md` |
|
|
44
|
+
|
|
45
|
+
## Commands
|
|
46
|
+
|
|
47
|
+
### Authentication
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Log in to faster.dev
|
|
51
|
+
faster login
|
|
52
|
+
|
|
53
|
+
# Check authentication status
|
|
54
|
+
faster whoami
|
|
55
|
+
|
|
56
|
+
# Log out
|
|
57
|
+
faster logout
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
`faster login` opens your browser and uses a device code flow.
|
|
61
|
+
Use `--no-browser` if you want to copy the URL manually.
|
|
62
|
+
|
|
63
|
+
### Installing Packages
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# Install a package
|
|
67
|
+
faster install <package-name>
|
|
68
|
+
|
|
69
|
+
# Install from local directory
|
|
70
|
+
faster install . --from-file ./my-package
|
|
71
|
+
|
|
72
|
+
# Options:
|
|
73
|
+
# -g, --global Install globally instead of to project
|
|
74
|
+
# -t, --tools Comma-separated list of tools to install to
|
|
75
|
+
# --as-skill Install as a skill (where supported)
|
|
76
|
+
# -f, --force Overwrite existing installations
|
|
77
|
+
# --dry-run Show what would be installed without making changes
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Removing Packages
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Remove a package from all tools
|
|
84
|
+
faster remove <package-name>
|
|
85
|
+
|
|
86
|
+
# Remove from global installation
|
|
87
|
+
faster remove <package-name> --global
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Listing & Searching
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# List installed packages
|
|
94
|
+
faster list
|
|
95
|
+
|
|
96
|
+
# List global installations
|
|
97
|
+
faster list --global
|
|
98
|
+
|
|
99
|
+
# Search faster.dev
|
|
100
|
+
faster search "api conventions"
|
|
101
|
+
|
|
102
|
+
# Show package info
|
|
103
|
+
faster info api-conventions
|
|
104
|
+
|
|
105
|
+
# Show outdated packages
|
|
106
|
+
faster outdated
|
|
107
|
+
|
|
108
|
+
# Update packages
|
|
109
|
+
faster update
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Tool Detection
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# Show detected AI coding tools in current directory
|
|
116
|
+
faster detect
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Configuration
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Show current configuration
|
|
123
|
+
faster config
|
|
124
|
+
|
|
125
|
+
# Set default tools (only install to these)
|
|
126
|
+
faster config --set-tools claude-code,cursor
|
|
127
|
+
|
|
128
|
+
# Clear default tools
|
|
129
|
+
faster config --clear-tools
|
|
130
|
+
|
|
131
|
+
# Show config file path
|
|
132
|
+
faster config --path
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Creating Packages
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Initialize a new package in current directory
|
|
139
|
+
faster init
|
|
140
|
+
|
|
141
|
+
# Publish to faster.dev
|
|
142
|
+
faster publish
|
|
143
|
+
|
|
144
|
+
# Validate without publishing
|
|
145
|
+
faster publish --dry-run
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Package Format
|
|
149
|
+
|
|
150
|
+
A faster.dev package consists of:
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
my-package/
|
|
154
|
+
├── manifest.json # Package metadata
|
|
155
|
+
├── rule.md # Rule content (for type: rule or both)
|
|
156
|
+
├── SKILL.md # Skill content (for type: skill or both)
|
|
157
|
+
├── cursor.mdc # Optional tool-specific override
|
|
158
|
+
└── assets/ # Optional supporting files
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### manifest.json
|
|
162
|
+
|
|
163
|
+
```json
|
|
164
|
+
{
|
|
165
|
+
"name": "api-conventions",
|
|
166
|
+
"version": "1.0.0",
|
|
167
|
+
"type": "rule",
|
|
168
|
+
"description": "REST API design conventions for consistent API development",
|
|
169
|
+
"compatibility": {
|
|
170
|
+
"rules": ["claude-code", "cursor", "cline", "roo-code", "continue", "aider", "gemini", "codex", "amp", "opencode"],
|
|
171
|
+
"skills": ["claude-code", "codex", "amp", "opencode"]
|
|
172
|
+
},
|
|
173
|
+
"install": {
|
|
174
|
+
"cursor": { "file": "cursor.mdc" },
|
|
175
|
+
"aider": { "action": "add-to-read-config" }
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### rule.md
|
|
181
|
+
|
|
182
|
+
```markdown
|
|
183
|
+
---
|
|
184
|
+
name: api-conventions
|
|
185
|
+
description: REST API design conventions
|
|
186
|
+
globs: "**/*.ts"
|
|
187
|
+
paths:
|
|
188
|
+
- "src/api/**/*"
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
# API Conventions
|
|
192
|
+
|
|
193
|
+
- Use kebab-case for URL paths
|
|
194
|
+
- Use camelCase for JSON properties
|
|
195
|
+
- Return consistent error formats
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### SKILL.md
|
|
199
|
+
|
|
200
|
+
```markdown
|
|
201
|
+
---
|
|
202
|
+
name: api-conventions
|
|
203
|
+
description: REST API design conventions skill
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
# API Conventions
|
|
207
|
+
|
|
208
|
+
When working with REST APIs, follow these guidelines:
|
|
209
|
+
|
|
210
|
+
## Naming
|
|
211
|
+
- Use kebab-case for URL paths
|
|
212
|
+
- Use camelCase for JSON properties
|
|
213
|
+
|
|
214
|
+
## Error Handling
|
|
215
|
+
- Return consistent error formats with request IDs
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## Format Conversions
|
|
219
|
+
|
|
220
|
+
The CLI automatically converts between formats:
|
|
221
|
+
|
|
222
|
+
| Source | Target | Conversion |
|
|
223
|
+
|--------|--------|------------|
|
|
224
|
+
| Markdown + frontmatter | Cursor (.mdc) | `name` → `description`, `paths` → `globs` |
|
|
225
|
+
| Markdown + frontmatter | Claude Code | Keep `paths`, strip unsupported fields |
|
|
226
|
+
| Markdown + frontmatter | Cline/Roo | Strip frontmatter to plain markdown |
|
|
227
|
+
| Markdown + frontmatter | Continue | Keep `name`, `description`, `globs` |
|
|
228
|
+
| Any | Codex/Amp | Append as section to AGENTS.md |
|
|
229
|
+
| Any | Gemini | Append as section to GEMINI.md |
|
|
230
|
+
| Any | Aider | Create file + add to `.aider.conf.yml` read list |
|
|
231
|
+
|
|
232
|
+
## Environment Variables
|
|
233
|
+
|
|
234
|
+
- `FASTER_API_URL` - Override the API URL (for self-hosted)
|
|
235
|
+
- `FASTER_API_KEY` - Provide auth token without login
|
|
236
|
+
|
|
237
|
+
Local API example (Herd):
|
|
238
|
+
`FASTER_API_URL=https://faster.test/api/v1`
|
|
239
|
+
|
|
240
|
+
## Configuration File
|
|
241
|
+
|
|
242
|
+
Config is stored at `~/.faster/config.json`:
|
|
243
|
+
|
|
244
|
+
```json
|
|
245
|
+
{
|
|
246
|
+
"apiUrl": "https://faster.dev/api/v1",
|
|
247
|
+
"authToken": "your-auth-token",
|
|
248
|
+
"defaultTools": ["claude-code", "cursor"]
|
|
249
|
+
}
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## Local Development
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
# Clone and install
|
|
256
|
+
git clone https://github.com/faster-dev/cli
|
|
257
|
+
cd cli
|
|
258
|
+
npm install
|
|
259
|
+
|
|
260
|
+
# Run in development mode
|
|
261
|
+
npm run dev -- install some-package
|
|
262
|
+
|
|
263
|
+
# Build
|
|
264
|
+
npm run build
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
## License
|
|
268
|
+
|
|
269
|
+
MIT
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|