ccs bar always forced the dashboard onto port 3000 (first free of a hardcoded candidate list), which collides with other local dev servers, and bar.json was rewritten to 3000 on every launch. - `ccs bar [launch] --port N` runs the server on exactly N: reuses a live server already on N, moves a running server from another port (SIGTERM via server.pid, wait for exit), errors clearly when N is busy or the value is invalid. - The chosen port is persisted into launch.json args, so the Swift app self-starts the server on the same port. - Without --port, launch and serve now try the port recorded in bar.json first (sticky), so the server keeps coming back on the port the user last chose instead of reverting to 3000. - Bare flags (`ccs bar --port N`) route to the launch subcommand; --port is documented in `ccs bar --help`. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
CCS Maintainer Documentation
This directory explains how the CLI repository is organized and maintained. User-facing guides and command reference live at docs.ccs.kaitran.ca.
Truth Hierarchy
Use the narrowest authoritative source:
- Source, tests, package scripts, and workflows define implemented behavior.
CLAUDE.mdandCONTRIBUTING.mddefine repository workflow.- The documents below explain architecture, rationale, and maintainer decisions.
- Build artifacts, releases, and runtime checks define shipped or observed state.
When sources disagree, verify the implementation first and update or remove the stale prose. Avoid copying volatile counts, recursive trees, and exhaustive option lists when a source link can remain accurate.
Start Here
| Need | Owner |
|---|---|
| Repository domains and source entry points | Codebase summary |
| Coding, testing, error, and size conventions | Code standards |
| System boundaries and data flow | System architecture |
| Current maintenance direction | Project roadmap |
| Release mechanics | Release process |
| Dashboard localization | Dashboard i18n |
| Test layout and commands | Test suite |
| Dashboard development | UI guide |
Feature-specific maintainer notes remain in this directory. Discover them by filename, then verify referenced behavior against the linked source.
Update Triggers
Update the owning documentation in the same change when any of these move:
- CLI or dashboard behavior, commands, flags, or configuration
- installation, deployment, release, or contributor workflow
- architecture, data flow, persistence, security, or public contracts
- source ownership or the stable entry point named by a guide
Pure refactors need documentation changes only when they invalidate a
maintainer decision or navigation link. Public behavior changes also require a
matching update in the separate kaitranntt/ccs-docs repository on the same
target branch. Maintainers using the standard CloudPersonal checkout may have
that repository at /Users/kaitran/CloudPersonal/ccs/docs; fork contributors
can use their own checkout and coordinate the matching docs change in the PR.
Validation
Before review:
bash tests/docs/quickstart-parity.sh
git diff --check
The repository-owned docs test currently checks the canonical quickstart snippet only. For other changed Markdown, verify each relative link and referenced path directly, then run the focused validation command for any code or workflow the document describes.