You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Feat: CHANGELOG.md
- Document all features, fixes, and infrastructure changes since the beginning
- Covers TUI, proxy, distribution, CI, and fixes
Feat: .github/ISSUE_TEMPLATE/bug-report.md
- Structured bug report form with environment, logs, and reproduction fields
Docs: AGENTS.md
- Add Agent Maintenance Rules section
- Rules: sync CHANGELOG on every change, sync versioning on release tags,
keep AGENTS.md in sync with project state
- Add Distribution section (npm tarball, release workflow, tag strategy)
- Add CLI Contract section (run, run --server, help)
- Update file structure to reflect new files
- Update Build & Run for both developer and end-user paths
Chore: release.yml
- Add link to CHANGELOG.md in release body
- Add warning about npm v11 git dep bug
Copy file name to clipboardExpand all lines: .github/workflows/release.yml
+8Lines changed: 8 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -105,6 +105,10 @@ jobs:
105
105
name: ${{ github.ref_name }}
106
106
files: commandcode-bridge-*.tgz
107
107
body: |
108
+
## What's in ${{ github.ref_name }}
109
+
110
+
See [CHANGELOG.md](https://github.com/${{ github.repository }}/blob/main/CHANGELOG.md) for full details.
111
+
108
112
## Installation
109
113
110
114
```bash
@@ -116,6 +120,10 @@ jobs:
116
120
commandcode-bridge run --server # Headless server mode
117
121
```
118
122
123
+
### Why not `npm install -g Khip01/commandcode-bridge#${{ github.ref_name }}`?
124
+
125
+
npm v11 has a bug installing global git deps: the install appears to succeed but the `commandcode-bridge` binary is missing. Always install from a local tarball. See [Git-Based NPM Install/Distribution Workflow](https://opencode.ai) for the full story.
│ └── post-release.yml # Install simulation from real asset
36
48
├── test/
37
49
├── AGENTS.md
50
+
├── CHANGELOG.md
38
51
├── README.md
52
+
├── package.json
39
53
├── build / run # Linux/macOS scripts
40
-
├── build.bat / run.bat # Windows scripts
54
+
├── build.bat / run.bat # Windows batch scripts
41
55
├── LICENSE
42
56
└── pubspec.yaml
43
57
```
44
58
59
+
### CLI Contract
60
+
61
+
```bash
62
+
commandcode-bridge run Start the bridge in TUI mode
63
+
commandcode-bridge run --server Start the bridge in headless server mode
64
+
commandcode-bridge help Show this help screen
65
+
commandcode-bridge (no args) Show this help screen
66
+
commandcode-bridge <invalid> Show help screen, exit 1
67
+
```
68
+
69
+
The npm wrapper (`bin/commandcode-bridge.js`) detects `process.platform`, maps to the correct native binary (`app-linux`, `app-mac`, `app-win.exe`), and spawns it with `stdio: 'inherit'`. All args are forwarded. Once launched, Node.js goes idle and the Dart binary takes full control.
70
+
71
+
## Distribution
72
+
73
+
### End-user install
74
+
75
+
Users install from a `.tgz` asset attached to a GitHub Release:
76
+
77
+
```bash
78
+
npm install -g ./commandcode-bridge-vX.Y.Z.tgz
79
+
commandcode-bridge run
80
+
```
81
+
82
+
Requirements: Node.js 18+ (for the npm launcher), a Command Code account.
83
+
84
+
No Dart SDK needed for end-users.
85
+
86
+
### Release workflow
87
+
88
+
Triggered by pushing a tag matching `v*` or `[0-9]*`:
|`v1.0.1-rc1`| Prerelease | Build binaries only, no packaging or release |
121
+
|`v1.0.1-beta1`| Prerelease | Build binaries only, no packaging or release |
122
+
|`v1.0.1-alpha1`| Prerelease | Build binaries only, no packaging or release |
123
+
124
+
### Why npm tarball instead of `npm install -g <git-url>`?
125
+
126
+
npm v11 has a bug installing global git deps: the install appears to succeed (`added 1 package`) but the binary is missing. Always install from a local tarball. This pattern matches the approach used by `opencode-rich-presence`.
127
+
45
128
## Platform Support
46
129
47
130
| Platform | Status | Clipboard | Build |
@@ -173,14 +256,43 @@ Visualization uses `ProgressBar` from nocterm with color-coded fill:
173
256
174
257
## Build & Run
175
258
259
+
### Developer (from source)
260
+
176
261
```bash
177
262
# Linux / macOS
178
-
./build #Compile single binary
263
+
./build #dart pub get + dart compile exe
179
264
./run # TUI mode (proxy auto-starts at 17077)
180
265
./run server # Headless server mode
266
+
./run help# Show help
181
267
182
268
# Windows
183
269
build.bat # Compile
184
270
run.bat # Run TUI
185
271
run.bat server # Headless server mode
186
272
```
273
+
274
+
### End-user (from npm tarball)
275
+
276
+
```bash
277
+
npm install -g ./commandcode-bridge-vX.Y.Z.tgz
278
+
commandcode-bridge run # TUI mode
279
+
commandcode-bridge run --server # Headless server mode
280
+
commandcode-bridge help# Show help
281
+
```
282
+
283
+
## Changelog
284
+
285
+
This project maintains a `CHANGELOG.md` file. Release bodies include a short summary with a link to the changelog for full details.
286
+
287
+
## Agent Maintenance Rules
288
+
289
+
When making changes to this project, the AI agent must:
290
+
291
+
1.**Sync CHANGELOG.md for every functional change.** Any feature, fix, or infrastructure change that affects end-users or developers must be recorded in CHANGELOG.md before the commit. This includes TUI changes, proxy fixes, infrastructure workflows, distribution changes, and documentation updates.
292
+
293
+
2.**Sync versioning in release body when creating a release tag.** Before pushing a tag (stable, rc, beta, or alpha), verify that:
294
+
- The CHANGELOG.md has an entry for the new version
295
+
- The `package.json` version reflects the tag version (for stable releases)
296
+
- The release body in the workflow (`.github/workflows/release.yml`) generates accurate notes with the correct tag reference
297
+
298
+
3.**Keep AGENTS.md in sync with the actual project state.** When adding new files, changing the CLI contract, or altering the build/distribution process, update the relevant sections in AGENTS.md in the same commit.
0 commit comments