- Hard rule: single source of truth =
~/Projects/summarize; never commit invendor/summarize(treat it as a read-only checkout). - Note: multiple agents often work in this folder. If you see files/changes you do not recognize, ignore them and list them at the end.
- Monorepo (pnpm workspace).
- Packages:
@steipete/summarize= CLI + UX (TTY/progress/streaming). Depends on core.@steipete/summarize-core(packages/core) = library surface for programmatic use (Sweetistics etc). No CLI entrypoints.
- Versioning: lockstep versions; publish order: core first, then CLI (
scripts/release.sh/RELEASING.md). - Dev:
- Build:
pnpm -s build(builds core first) - Gate:
pnpm -s check - Import from apps: prefer
@steipete/summarize-coreto avoid pulling CLI-only deps.
- Build:
- Daemon: restart with
pnpm -s summarize daemon restart; verify viapnpm -s summarize daemon status. - Rebuild (extension + daemon): run both in order:
pnpm -C apps/chrome-extension buildpnpm summarize daemon restart
- Extension tests:
pnpm -C apps/chrome-extension test:chrome= supported automated path.- Firefox Playwright extension tests are not reliable (
moz-extension://limitation); defaulttest:firefoxskips. - Use
pnpm -C apps/chrome-extension test:firefox:forceonly for explicit diagnostics.
- Commits: use
committer "type: message" <files...>(Conventional Commits).