- Create .claude/rules/ with all 17 standard rule files (01-security through 17-document-imports) - Add Operational Rules section with Rule Index to .claude/CLAUDE.md
2.9 KiB
2.9 KiB
BTerminal — Claude Behavioral Guide
Workflow
- v1 is a single-file Python app (
bterminal.py). Changes are localized. - v2 planning docs are in
docs/. Architecture decisions are indocs/task_plan.md. - Consult Memora (tag:
bterminal) before making architectural changes.
Documentation References
- Architecture & decisions: docs/task_plan.md
- Implementation phases: docs/phases.md
- Research findings: docs/findings.md
- Progress log: docs/progress.md
Rules
- Do not modify v1 code (
bterminal.py) unless explicitly asked — it is production-stable. - v2 work goes on a feature branch (
v2-mission-control), not master. - All v2 architecture decisions must reference
docs/task_plan.mdDecisions Log. - When adding new decisions, append to the Decisions Log table with date.
- Update
docs/progress.mdafter each significant work session.
Key Technical Constraints
- WebKit2GTK has no WebGL — xterm.js must use Canvas addon explicitly.
- Claude Agent SDK is 0.2.x (pre-1.0) — all SDK interactions go through the adapter layer (
src/lib/adapters/sdk-messages.ts). - Node.js sidecar communicates via stdio NDJSON, not sockets.
- Maximum 4 active xterm.js instances to avoid WebKit2GTK memory issues.
Memora Tags
Project tag: bterminal
Common tag combinations: bterminal,architecture, bterminal,research, bterminal,tech-stack
Operational Rules
All operational rules live in .claude/rules/. Every .md file in that directory is automatically loaded at session start by Claude Code with the same priority as this file.
Rule Index
| # | File | Scope |
|---|---|---|
| 01 | security.md |
PARAMOUNT — secrets, input validation, least privilege |
| 02 | error-handling.md |
PARAMOUNT — handle every error visibly |
| 03 | environment-safety.md |
PARAMOUNT — verify target, data safety, K8s isolation, cleanup |
| 04 | communication.md |
Stop on ambiguity, scope discipline |
| 05 | git-practices.md |
Conventional commits, authorship |
| 06 | testing.md |
TDD, unit tests, E2E tests |
| 07 | documentation.md |
README, CLAUDE.md sync, docs/ |
| 08 | branch-hygiene.md |
Branches, naming, clean state before refactors |
| 09 | dependency-discipline.md |
No deps without consent |
| 10 | code-consistency.md |
Match existing patterns |
| 11 | api-contracts.md |
Contract-first, flag breaking changes (path-conditional) |
| 12 | performance-awareness.md |
No N+1, no unbounded fetches (path-conditional) |
| 13 | logging-observability.md |
Structured logging, OTEL (path-conditional) |
| 14 | resilience-and-config.md |
Timeouts, circuit breakers, externalized config (path-conditional) |
| 15 | memora.md |
Persistent memory across sessions |
| 16 | sub-agents.md |
When to use sub-agents and team agents |
| 17 | document-imports.md |
Resolve @ imports in CLAUDE.md before acting |