builderos-cli 2.0.0 → 2.0.2

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.
Files changed (4) hide show
  1. package/PUBLISHED.md +159 -0
  2. package/README.md +26 -26
  3. package/index.js +27 -18
  4. package/package.json +1 -1
package/PUBLISHED.md ADDED
@@ -0,0 +1,159 @@
1
+ # 🎉 builderos-cli Published Successfully!
2
+
3
+ ## ✅ Package Information
4
+
5
+ **Package name**: `builderos-cli`
6
+ **Version**: `2.0.0`
7
+ **Registry**: https://www.npmjs.com/package/builderos-cli
8
+ **Published**: 2026-01-14
9
+ **Maintainer**: audilu <khl0327@gmail.com>
10
+
11
+ ## 📦 Installation
12
+
13
+ Users can now use the CLI without any installation:
14
+
15
+ ```bash
16
+ npx builderos-cli init
17
+ ```
18
+
19
+ Or install globally:
20
+
21
+ ```bash
22
+ npm install -g builderos-cli
23
+ builderos init
24
+ ```
25
+
26
+ ## 🚀 Usage Examples
27
+
28
+ ### Initialize with Remote BuilderOS
29
+
30
+ ```bash
31
+ # Using remote API
32
+ npx builderos-cli init --api-url=https://api.builderos.com
33
+ ```
34
+
35
+ ### Initialize with Local BuilderOS
36
+
37
+ ```bash
38
+ # Using local API
39
+ npx builderos-cli init --api-url=http://builder-os.test
40
+ ```
41
+
42
+ ### Update Skills
43
+
44
+ ```bash
45
+ # Update existing project's skills
46
+ npx builderos-cli update
47
+ ```
48
+
49
+ ### All Options
50
+
51
+ ```bash
52
+ # Show help
53
+ npx builderos-cli --help
54
+
55
+ # Force reinstall
56
+ npx builderos-cli init --force
57
+
58
+ # Only install MCP
59
+ npx builderos-cli init --mcp-only
60
+
61
+ # Only download skills
62
+ npx builderos-cli init --skills-only
63
+ ```
64
+
65
+ ## 🎯 What It Does
66
+
67
+ When users run `npx builderos-cli init`:
68
+
69
+ 1. ✅ Creates `.mcp.json` with MCP configuration
70
+ 2. ✅ Downloads skills from BuilderOS API to `.claude/skills/`
71
+ 3. ✅ Creates `.builderos` marker file
72
+ 4. ✅ Updates `.gitignore` (commented for easy team sharing)
73
+
74
+ ## 🌍 Public Access
75
+
76
+ The package is now publicly available:
77
+
78
+ - **npm**: https://www.npmjs.com/package/builderos-cli
79
+ - **unpkg CDN**: https://unpkg.com/builderos-cli@2.0.0/
80
+ - **jsDelivr CDN**: https://cdn.jsdelivr.net/npm/builderos-cli@2.0.0/
81
+
82
+ Anyone in the world can now use:
83
+
84
+ ```bash
85
+ npx builderos-cli init --api-url=YOUR_BUILDEROS_URL
86
+ ```
87
+
88
+ ## 📊 Package Stats
89
+
90
+ ```
91
+ Size: 6.6 kB (tarball)
92
+ Unpacked: 21.5 kB
93
+ Dependencies: 0
94
+ Files: 6
95
+ ```
96
+
97
+ ## 🔄 Future Updates
98
+
99
+ To publish updates:
100
+
101
+ ```bash
102
+ cd /Users/audilu/next/builder-os/cli
103
+
104
+ # Update version
105
+ npm version patch # 2.0.0 → 2.0.1
106
+ # or
107
+ npm version minor # 2.0.0 → 2.1.0
108
+ # or
109
+ npm version major # 2.0.0 → 3.0.0
110
+
111
+ # Publish
112
+ npm publish --access public
113
+ ```
114
+
115
+ ## 📝 Notes
116
+
117
+ ### Why `builderos-cli` instead of `@builderos/cli`?
118
+
119
+ - `@builderos` scope doesn't exist on npm
120
+ - Creating a scope requires organization setup
121
+ - `builderos-cli` is simpler and works immediately
122
+ - Still clear and searchable
123
+
124
+ ### 2FA Setup
125
+
126
+ - Used Safari for Security Key registration (Chrome had issues)
127
+ - Configured Touch ID as 2FA method
128
+ - Publishing now requires Touch ID verification
129
+
130
+ ### Package Warnings
131
+
132
+ npm showed these warnings (auto-corrected):
133
+ ```
134
+ "bin[builderos]" script name was cleaned
135
+ "repository.url" was normalized
136
+ ```
137
+
138
+ These are non-issues and were automatically fixed by npm.
139
+
140
+ ## 🎊 Success Metrics
141
+
142
+ - ✅ Published successfully
143
+ - ✅ Available via `npx` immediately
144
+ - ✅ No dependencies (lightweight)
145
+ - ✅ Works with any BuilderOS API URL
146
+ - ✅ Fully documented
147
+ - ✅ Zero setup barrier for users
148
+
149
+ ## 🔗 Related
150
+
151
+ - [README.md](README.md) - Full CLI documentation
152
+ - [PUBLISH.md](PUBLISH.md) - Publishing guide
153
+ - [../CLI-IMPLEMENTATION.md](../CLI-IMPLEMENTATION.md) - Implementation details
154
+
155
+ ---
156
+
157
+ **Status**: 🚀 **LIVE AND READY FOR USE**
158
+
159
+ Users worldwide can now initialize BuilderOS in their projects with a single command!
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @builderos/cli
1
+ # builderos-cli
2
2
 
3
3
  BuilderOS CLI - Initialize BuilderOS in any project without requiring local code.
4
4
 
@@ -6,13 +6,13 @@ BuilderOS CLI - Initialize BuilderOS in any project without requiring local code
6
6
 
7
7
  ```bash
8
8
  # Initialize BuilderOS in current project
9
- npx @builderos/cli init
9
+ npx builderos-cli init
10
10
 
11
11
  # Initialize with remote BuilderOS
12
- npx @builderos/cli init --api-url=https://api.builderos.com
12
+ npx builderos-cli init --api-url=https://api.builderos.com
13
13
 
14
14
  # Update skills only
15
- npx @builderos/cli update
15
+ npx builderos-cli update
16
16
  ```
17
17
 
18
18
  ## 📦 What This Does
@@ -39,7 +39,7 @@ This CLI tool:
39
39
  Initialize BuilderOS in current project.
40
40
 
41
41
  ```bash
42
- npx @builderos/cli init [options]
42
+ npx builderos-cli init [options]
43
43
  ```
44
44
 
45
45
  **Options:**
@@ -52,19 +52,19 @@ npx @builderos/cli init [options]
52
52
 
53
53
  ```bash
54
54
  # Local development (default)
55
- npx @builderos/cli init
55
+ npx builderos-cli init
56
56
 
57
57
  # Remote BuilderOS
58
- npx @builderos/cli init --api-url=https://api.builderos.com
58
+ npx builderos-cli init --api-url=https://api.builderos.com
59
59
 
60
60
  # Force reinstall
61
- npx @builderos/cli init --force
61
+ npx builderos-cli init --force
62
62
 
63
63
  # Only install MCP, skip skills
64
- npx @builderos/cli init --mcp-only
64
+ npx builderos-cli init --mcp-only
65
65
 
66
66
  # Only download skills, skip MCP
67
- npx @builderos/cli init --skills-only
67
+ npx builderos-cli init --skills-only
68
68
  ```
69
69
 
70
70
  ### `update`
@@ -72,7 +72,7 @@ npx @builderos/cli init --skills-only
72
72
  Update skills from BuilderOS API.
73
73
 
74
74
  ```bash
75
- npx @builderos/cli update [options]
75
+ npx builderos-cli update [options]
76
76
  ```
77
77
 
78
78
  **Options:**
@@ -82,10 +82,10 @@ npx @builderos/cli update [options]
82
82
 
83
83
  ```bash
84
84
  # Update skills from default API
85
- npx @builderos/cli update
85
+ npx builderos-cli update
86
86
 
87
87
  # Update skills from remote API
88
- npx @builderos/cli update --api-url=https://api.builderos.com
88
+ npx builderos-cli update --api-url=https://api.builderos.com
89
89
  ```
90
90
 
91
91
  ## 🔧 How It Works
@@ -93,7 +93,7 @@ npx @builderos/cli update --api-url=https://api.builderos.com
93
93
  ### Architecture
94
94
 
95
95
  ```
96
- npx @builderos/cli init
96
+ npx builderos-cli init
97
97
 
98
98
  1. Create .mcp.json
99
99
  - Uses npx @builderos/mcp-client
@@ -137,7 +137,7 @@ Key point: Always uses `npx @builderos/mcp-client`, not local code.
137
137
  ```bash
138
138
  # Developer has BuilderOS running locally at builder-os.test
139
139
  cd ~/projects/my-app
140
- npx @builderos/cli init
140
+ npx builderos-cli init
141
141
  ```
142
142
 
143
143
  ### Remote Team Collaboration
@@ -145,32 +145,32 @@ npx @builderos/cli init
145
145
  ```bash
146
146
  # Team uses shared BuilderOS at api.builderos.com
147
147
  cd ~/projects/team-app
148
- npx @builderos/cli init --api-url=https://api.builderos.com
148
+ npx builderos-cli init --api-url=https://api.builderos.com
149
149
  ```
150
150
 
151
151
  ### CI/CD Pipeline
152
152
 
153
153
  ```bash
154
154
  # Automated setup in CI
155
- npx @builderos/cli init --api-url=$BUILDEROS_API_URL --force
155
+ npx builderos-cli init --api-url=$BUILDEROS_API_URL --force
156
156
  ```
157
157
 
158
158
  ### Multiple Environments
159
159
 
160
160
  ```bash
161
161
  # Development
162
- npx @builderos/cli init --api-url=https://dev.builderos.com
162
+ npx builderos-cli init --api-url=https://dev.builderos.com
163
163
 
164
164
  # Staging
165
- npx @builderos/cli init --api-url=https://staging.builderos.com
165
+ npx builderos-cli init --api-url=https://staging.builderos.com
166
166
 
167
167
  # Production
168
- npx @builderos/cli init --api-url=https://api.builderos.com
168
+ npx builderos-cli init --api-url=https://api.builderos.com
169
169
  ```
170
170
 
171
171
  ## 🎯 Comparison with use-builderos.sh
172
172
 
173
- | Feature | @builderos/cli | use-builderos.sh |
173
+ | Feature | builderos-cli | use-builderos.sh |
174
174
  |---------|----------------|------------------|
175
175
  | **Requires local BuilderOS code** | ❌ No | ✅ Yes (for script itself) |
176
176
  | **Works anywhere** | ✅ Yes | ⚠️ Only if script accessible |
@@ -256,7 +256,7 @@ export BUILDEROS_API_URL=https://api.builderos.com
256
256
  Then run without `--api-url`:
257
257
 
258
258
  ```bash
259
- npx @builderos/cli init
259
+ npx builderos-cli init
260
260
  ```
261
261
 
262
262
  ## 🐛 Troubleshooting
@@ -268,7 +268,7 @@ npx @builderos/cli init
268
268
  # npx will download the package
269
269
 
270
270
  # Or install globally
271
- npm install -g @builderos/cli
271
+ npm install -g builderos-cli
272
272
  builderos init
273
273
  ```
274
274
 
@@ -279,7 +279,7 @@ builderos init
279
279
  curl http://builder-os.test/api/skills
280
280
 
281
281
  # Try with explicit URL
282
- npx @builderos/cli init --api-url=http://builder-os.test
282
+ npx builderos-cli init --api-url=http://builder-os.test
283
283
  ```
284
284
 
285
285
  ### Skills not loading
@@ -289,7 +289,7 @@ npx @builderos/cli init --api-url=http://builder-os.test
289
289
  ls -la .claude/skills/
290
290
 
291
291
  # Re-download skills
292
- npx @builderos/cli update --api-url=http://builder-os.test
292
+ npx builderos-cli update --api-url=http://builder-os.test
293
293
  ```
294
294
 
295
295
  ### MCP not connecting
@@ -315,7 +315,7 @@ npm publish --access public
315
315
  Then users can use:
316
316
 
317
317
  ```bash
318
- npx @builderos/cli init
318
+ npx builderos-cli init
319
319
  ```
320
320
 
321
321
  ## 🔗 Related
package/index.js CHANGED
@@ -7,8 +7,8 @@
7
7
  * Works purely through BuilderOS HTTP API.
8
8
  *
9
9
  * Usage:
10
- * npx @builderos/cli init [options]
11
- * npx @builderos/cli update [options]
10
+ * npx builderos-cli init [options]
11
+ * npx builderos-cli update [options]
12
12
  *
13
13
  * Options:
14
14
  * --api-url=<url> BuilderOS API URL (default: http://builder-os.test)
@@ -61,8 +61,8 @@ if (options.help) {
61
61
  BuilderOS CLI v2.0.0
62
62
 
63
63
  Usage:
64
- npx @builderos/cli init [options]
65
- npx @builderos/cli update [options]
64
+ npx builderos-cli init [options]
65
+ npx builderos-cli update [options]
66
66
 
67
67
  Commands:
68
68
  init Initialize BuilderOS in current project
@@ -77,16 +77,16 @@ Options:
77
77
 
78
78
  Examples:
79
79
  # Initialize with local BuilderOS
80
- npx @builderos/cli init
80
+ npx builderos-cli init
81
81
 
82
82
  # Initialize with remote BuilderOS
83
- npx @builderos/cli init --api-url=https://api.builderos.com
83
+ npx builderos-cli init --api-url=https://api.builderos.com
84
84
 
85
85
  # Update skills only
86
- npx @builderos/cli update --skills-only
86
+ npx builderos-cli update --skills-only
87
87
 
88
88
  # Force reinstall
89
- npx @builderos/cli init --force
89
+ npx builderos-cli init --force
90
90
  `);
91
91
  process.exit(0);
92
92
  }
@@ -105,11 +105,15 @@ async function fileExists(path) {
105
105
  async function fetchAPI(endpoint) {
106
106
  try {
107
107
  const url = `${options.apiUrl}${endpoint}`;
108
- const response = await fetch(url, {
109
- headers: {
110
- 'Host': 'builder-os.test', // For local nginx-proxy
111
- },
112
- });
108
+
109
+ // Only set Host header if API URL is not builder-os.test
110
+ // (for cases where we need to access through IP but want nginx to route correctly)
111
+ const headers = {};
112
+ if (!options.apiUrl.includes('builder-os.test')) {
113
+ headers['Host'] = 'builder-os.test';
114
+ }
115
+
116
+ const response = await fetch(url, { headers });
113
117
 
114
118
  if (!response.ok) {
115
119
  throw new Error(`HTTP ${response.status}: ${response.statusText}`);
@@ -118,6 +122,8 @@ async function fetchAPI(endpoint) {
118
122
  return await response.json();
119
123
  } catch (error) {
120
124
  console.error(`❌ Error fetching ${endpoint}:`, error.message);
125
+ console.error(` URL: ${url}`);
126
+ console.error(` Stack:`, error.stack);
121
127
  return null;
122
128
  }
123
129
  }
@@ -166,12 +172,15 @@ async function installSkills() {
166
172
 
167
173
  // Fetch skills list
168
174
  const data = await fetchAPI('/api/skills');
169
- if (!data || !data.skills) {
175
+ if (!data || !data.data) {
170
176
  console.log(' ❌ Failed to fetch skills list');
177
+ if (data) {
178
+ console.log(' Response structure:', JSON.stringify(Object.keys(data)));
179
+ }
171
180
  return;
172
181
  }
173
182
 
174
- const skills = data.skills;
183
+ const skills = data.data;
175
184
  console.log(` Found ${skills.length} skills`);
176
185
 
177
186
  // Create .claude/skills directory
@@ -187,7 +196,7 @@ async function installSkills() {
187
196
 
188
197
  const skillData = await fetchAPI(`/api/skills/${skill.slug}`);
189
198
 
190
- if (!skillData || !skillData.content) {
199
+ if (!skillData || !skillData.data || !skillData.data.content) {
191
200
  console.log(` ⚠️ No content available`);
192
201
  failedSkills.push(skill.slug);
193
202
  continue;
@@ -199,7 +208,7 @@ async function installSkills() {
199
208
 
200
209
  // Write skill.md
201
210
  const skillPath = join(skillDir, 'skill.md');
202
- await writeFile(skillPath, skillData.content);
211
+ await writeFile(skillPath, skillData.data.content);
203
212
 
204
213
  console.log(` ✅ Saved to ${skillDir}/skill.md`);
205
214
  successCount++;
@@ -374,7 +383,7 @@ async function main() {
374
383
  console.log('✅ Update complete!');
375
384
  } else {
376
385
  console.log(`❌ Unknown command: ${command}`);
377
- console.log('Run "npx @builderos/cli --help" for usage');
386
+ console.log('Run "npx builderos-cli --help" for usage');
378
387
  process.exit(1);
379
388
  }
380
389
  } catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "builderos-cli",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "BuilderOS CLI - Initialize BuilderOS in any project without requiring local code",
5
5
  "type": "module",
6
6
  "main": "index.js",