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.
Files changed (3) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +79 -0
  3. 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
+ }