create-better-openclaw 1.0.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/LICENSE +20 -0
- package/README.md +79 -0
- package/package.json +83 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
GNU AFFERO GENERAL PUBLIC LICENSE
|
|
2
|
+
Version 3, 19 November 2007
|
|
3
|
+
|
|
4
|
+
Copyright (C) 2024-2026 Bachir Soussi Chiadmi <bachir@bidew.io>
|
|
5
|
+
|
|
6
|
+
This program is free software: you can redistribute it and/or modify
|
|
7
|
+
it under the terms of the GNU Affero General Public License as
|
|
8
|
+
published by the Free Software Foundation, either version 3 of the
|
|
9
|
+
License, or (at your option) any later version.
|
|
10
|
+
|
|
11
|
+
This program is distributed in the hope that it will be useful,
|
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
GNU Affero General Public License for more details.
|
|
15
|
+
|
|
16
|
+
You should have received a copy of the GNU Affero General Public License
|
|
17
|
+
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
18
|
+
|
|
19
|
+
The full text of the GNU Affero General Public License version 3 is
|
|
20
|
+
available at: https://www.gnu.org/licenses/agpl-3.0.txt
|
package/README.md
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# @better-openclaw/cli
|
|
2
|
+
|
|
3
|
+
The official Command Line Interface (CLI) for rapidly scaffolding production-ready OpenClaw stacks directly to your filesystem. Connects to `@better-openclaw/core` to build and output tailored Docker Compose & native hybrid topologies.
|
|
4
|
+
|
|
5
|
+
## Installation & Usage
|
|
6
|
+
|
|
7
|
+
You can use the CLI seamlessly using `pnpx`, `npx`, or standard global installation mechanisms. Node.js >= 20 is required.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Interactive interactive builder (Visual Wizard)
|
|
11
|
+
pnpx create-better-openclaw@latest [my-directory]
|
|
12
|
+
|
|
13
|
+
# Headless / Pipeline generation (Fast track with presets)
|
|
14
|
+
pnpx create-better-openclaw@latest --preset researcher --yes
|
|
15
|
+
|
|
16
|
+
# Custom Advanced Scaffold
|
|
17
|
+
pnpx create-better-openclaw@latest --services ollama,qdrant,n8n --skills ollama-local-llm,qdrant-memory
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Features
|
|
21
|
+
|
|
22
|
+
- **Interactive Wizard (Terminal UI):** Guides you smoothly through Platform architecture, Custom vs Preset service selection, AI Skill Packs, and precise deployment/proxy variables. Driven by highly optimized `@clack/prompts`.
|
|
23
|
+
- **Intelligent Dependency Graphs:** Ensures prerequisite tools are correctly enabled.
|
|
24
|
+
- **Multiple Platform Topologies:** Support targeting `linux/amd64`, `linux/arm64`, `macos`, and `windows`.
|
|
25
|
+
- **Multiple Output Formats:** Directly outputs to a `directory`, a `tar.gz` archive, or a `zip` bundle via flags (`--output-format zip`).
|
|
26
|
+
|
|
27
|
+
## Non-Interactive CLI Options
|
|
28
|
+
|
|
29
|
+
This tool is highly suited for CI/CD environments or scripting automation.
|
|
30
|
+
|
|
31
|
+
| Argument | Definition |
|
|
32
|
+
|----------|------------|
|
|
33
|
+
| `-y, --yes` | Silently build using default configuration mappings |
|
|
34
|
+
| `--preset <id>` | Scaffold immediately using predefined blueprints (`minimal`, `creator`, `researcher`, `devops`, `full`) |
|
|
35
|
+
| `--services <ids>` | Explicit comma-separated list of service IDs to install |
|
|
36
|
+
| `--skills <ids>` | Explicit comma-separated list of companion Skill Pack IDs to mount into agents |
|
|
37
|
+
| `--proxy <type>` | Assign Reverse proxy networking mode: `none`, `caddy`, `traefik` |
|
|
38
|
+
| `--domain <domain>` | Fully qualified domain mapped to wildcard auto-SSL proxies |
|
|
39
|
+
| `--monitoring` | Embed Prometheus, Grafana, and Cadvisor telemetry |
|
|
40
|
+
| `--gpu` | Passthrough host GPU telemetry to NVIDIA/AMD hardware integrations for deployed LLMs |
|
|
41
|
+
| `--deployment-type <type>` | Defines compute execution layer boundaries. Options: `docker` (Full containerization) vs. `bare-metal` (Native node execution + Docker fallback layer where required). |
|
|
42
|
+
| `--output-format <type>` | File emission mechanism: `directory`, `zip`, `tar` |
|
|
43
|
+
| `--dry-run` | Build generation outputs in memory for trace logging without writing to disk |
|
|
44
|
+
| `--open` | Escape terminal workflow and launch the Visual Web UI `better-openclaw.dev` platform |
|
|
45
|
+
|
|
46
|
+
## Deploy to PaaS
|
|
47
|
+
|
|
48
|
+
Deploy a generated stack directly to a self-hosted Dokploy or Coolify instance:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Interactive deploy wizard
|
|
52
|
+
better-openclaw deploy
|
|
53
|
+
|
|
54
|
+
# Non-interactive deploy
|
|
55
|
+
better-openclaw deploy \
|
|
56
|
+
--provider dokploy \
|
|
57
|
+
--url https://dokploy.example.com \
|
|
58
|
+
--api-key YOUR_API_KEY \
|
|
59
|
+
--dir ./my-stack
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
| Flag | Description |
|
|
63
|
+
|--------------------|----------------------------------------------------------|
|
|
64
|
+
| `--provider <id>` | PaaS provider: `dokploy` or `coolify` |
|
|
65
|
+
| `--url <url>` | Instance URL of the PaaS platform |
|
|
66
|
+
| `--api-key <key>` | API key or bearer token |
|
|
67
|
+
| `--dir <path>` | Directory containing `docker-compose.yml` (default: `.`) |
|
|
68
|
+
|
|
69
|
+
If any required flag is missing, the CLI falls back to the interactive wizard which guides you through provider selection, URL, and API key entry.
|
|
70
|
+
|
|
71
|
+
## Package Development
|
|
72
|
+
|
|
73
|
+
The CLI compiles against standard TypeScript configurations into dual CJS/MJS mappings for backwards execution compatibility.
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
pnpm build # Compile via tsdown
|
|
77
|
+
pnpm dev # Hot-reload transpilation watch mode
|
|
78
|
+
pnpm test # CLI unit execution
|
|
79
|
+
```
|
package/package.json
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "create-better-openclaw",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "Scaffold production-ready OpenClaw Docker Compose stacks in one command. 95+ services, presets, auto-wiring, and skill packs.",
|
|
6
|
+
"author": "bidew.io <bachir@bidew.io>",
|
|
7
|
+
"license": "AGPL-3.0",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/bidewio/better-openclaw.git",
|
|
11
|
+
"directory": "packages/cli"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://better-openclaw.dev",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/bidewio/better-openclaw/issues"
|
|
16
|
+
},
|
|
17
|
+
"main": "dist/index.mjs",
|
|
18
|
+
"types": "dist/index.d.ts",
|
|
19
|
+
"type": "module",
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"import": "./dist/index.mjs",
|
|
24
|
+
"default": "./dist/index.mjs"
|
|
25
|
+
},
|
|
26
|
+
"./*": {
|
|
27
|
+
"types": "./dist/*.d.ts",
|
|
28
|
+
"import": "./dist/*.mjs",
|
|
29
|
+
"default": "./dist/*.mjs"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"bin": {
|
|
33
|
+
"create-better-openclaw": "./dist/index.mjs",
|
|
34
|
+
"better-openclaw": "./dist/index.mjs",
|
|
35
|
+
"better-openclaw-cli": "./dist/index.mjs"
|
|
36
|
+
},
|
|
37
|
+
"files": [
|
|
38
|
+
"dist",
|
|
39
|
+
"README.md"
|
|
40
|
+
],
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@better-openclaw/core": "^1.0.19",
|
|
43
|
+
"@clack/prompts": "^1.0.0",
|
|
44
|
+
"commander": "^14.0.3",
|
|
45
|
+
"picocolors": "^1.1.1"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@types/node": "^25.2.2",
|
|
49
|
+
"tsdown": "^0.20.3",
|
|
50
|
+
"typescript": "^5.9.3",
|
|
51
|
+
"vitest": "^4.0.18"
|
|
52
|
+
},
|
|
53
|
+
"engines": {
|
|
54
|
+
"node": ">=18"
|
|
55
|
+
},
|
|
56
|
+
"keywords": [
|
|
57
|
+
"openclaw",
|
|
58
|
+
"better-openclaw",
|
|
59
|
+
"create-better-openclaw",
|
|
60
|
+
"docker",
|
|
61
|
+
"docker-compose",
|
|
62
|
+
"scaffolding",
|
|
63
|
+
"cli",
|
|
64
|
+
"ai-agent",
|
|
65
|
+
"devops",
|
|
66
|
+
"self-hosted",
|
|
67
|
+
"infrastructure"
|
|
68
|
+
],
|
|
69
|
+
"scripts": {
|
|
70
|
+
"build": "tsdown",
|
|
71
|
+
"build:tsc": "tsc",
|
|
72
|
+
"dev": "tsc --watch",
|
|
73
|
+
"start": "node dist/index.mjs",
|
|
74
|
+
"postinstall": "node -e \"try{console.log('\\n\\x1b[36m%s\\x1b[0m',' create-better-openclaw installed!');console.log(' Run: npx create-better-openclaw generate --preset researcher');console.log(' Docs: https://better-openclaw.dev\\n')}catch{}\"",
|
|
75
|
+
"test": "vitest run",
|
|
76
|
+
"test:unit": "vitest run",
|
|
77
|
+
"test:watch": "vitest",
|
|
78
|
+
"lint": "biome check src/",
|
|
79
|
+
"lint:fix": "biome check --write src/",
|
|
80
|
+
"typecheck": "tsc --noEmit",
|
|
81
|
+
"clean": "rimraf dist"
|
|
82
|
+
}
|
|
83
|
+
}
|