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
Copy file name to clipboardExpand all lines: CLAUDE.md
+43-6Lines changed: 43 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
17
17
18
18
**You may be running inside a Codeman-managed tmux session.** Before killing ANY tmux or Claude process:
19
19
20
-
1. Check: `echo $CODEMAN_TMUX` - if `1`, you're in a managed session
20
+
1. Check: `echo $CODEMAN_MUX` - if `1`, you're in a managed session
21
21
2.**NEVER** run `tmux kill-session`, `pkill tmux`, or `pkill claude` without confirming
22
22
3. Use the web UI or `./scripts/tmux-manager.sh` instead of direct kill commands
23
23
@@ -52,7 +52,7 @@ When user says "COM":
52
52
4. **Sync CLAUDE.md version**: Update the `**Version**` line below to match the new version from `package.json`
53
53
5. **Commit and deploy**: `git add -A && git commit -m "chore: version packages" && git push && npm run build && systemctl --user restart codeman-web`
54
54
55
-
**Version**: 0.2.6 (must match `package.json`)
55
+
**Version**: 0.2.7 (must match `package.json`)
56
56
57
57
## Project Overview
58
58
@@ -90,15 +90,18 @@ npx vitest run -t "pattern" # Tests matching name
90
90
npm run test:coverage # With coverage report
91
91
92
92
# Production
93
-
npm run build
93
+
npm run build # esbuild via scripts/build.mjs (not tsc)
94
+
npm run start # node dist/index.js (production)
94
95
systemctl --user restart codeman-web
95
96
journalctl --user -u codeman-web -f
96
97
```
97
98
99
+
**CI**: `.github/workflows/ci.yml` runs `typecheck`, `lint`, and `format:check` on push to master. Tests are intentionally excluded from CI (they spawn tmux).
100
+
98
101
## Common Gotchas
99
102
100
103
- **Single-line prompts only** — `writeViaMux()` sends text and Enter separately; multi-line breaks Ink
101
-
- **Don't kill tmux sessions blindly** — Check `$CODEMAN_TMUX` first; you might be inside one
104
+
- **Don't kill tmux sessions blindly** — Check `$CODEMAN_MUX` first; you might be inside one
102
105
- **Global regex `lastIndex` sharing** — `ANSI_ESCAPE_PATTERN_FULL/SIMPLE` have `g` flag; use `createAnsiPatternFull/Simple()` factory functions for fresh instances in loops
103
106
- **DEC 2026 sync blocks** — Never discard incomplete sync blocks (START without END); buffer up to 50ms then flush. See `app.js:extractSyncSegments()`
104
107
- **Terminal writes during buffer load** — Live SSE writes are queued while `_isLoadingBuffer` is true to prevent interleaving with historical data
0 commit comments