Skip to content

dancinlab/sidecar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

636 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏍️ sidecar

Claude Code plugin pack — concept-separated guardrails, commands, and skills.

License Marketplace


What is sidecar

A Claude Code marketplace repo that side-mounts guardrails, slash commands, and skills onto the host harness without modifying it. Strict concept separation: one plugin = one of {hook, command, skill}, no mixing. Project-level identity + governance lives in a single project.tape at the repo root (symlinked as CLAUDE.md); the cross-project do / dont layer rides inside the commons hook plugin.

Install

# 1. Install hexa-lang (gives you `hexa` + `hx` package manager)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/dancinlab/hexa-lang/main/install.sh)"

# 2. Install sidecar
hx install sidecar

Then in any project root:

sidecar init

sidecar init drops three things into the current directory:

  • project.tape — the project's identity + governance carrier (.tape v1.2). Open it and fill in the placeholders:
    • kind — one line describing what the project is.
    • brief — 2–4 sentences on purpose · scope · why it exists.
    • parent — org / parent project (e.g. dancinlab).
    • ssot — canonical location (repo URL or hx install <name>).
    • do / dont — project-level governance bullets, · separated.
  • CLAUDE.md → project.tape — symlink so the harness auto-loads project identity on SessionStart.
  • LATTICE_POLICY.md — the cross-project real-limits-first verification policy, carried by sidecar. Skipped if one already exists.

The project-tape hook re-injects project.tape on PreCompact + PostCompact so identity + governance survive auto-compaction.

Layout

sidecar/
├── bin/sidecar               # CLI — init · sync · mirror · sign · profile · enable · disable · reset · master
├── bin/_overrides.hexa       # per-plugin enable-override store (~/.sidecar/plugin-overrides.json)
├── install.hexa              # hx build hook — clone marketplace · cache · enable per active profile
├── hooks/                    # PreToolUse · SessionStart · PreCompact · PostCompact · LSP plugins
├── commands/                 # /slash-command invoked plugins
├── skills/                   # Skill tool invocable plugins
├── project.tape              # sidecar's identity + governance (also linked as CLAUDE.md)
├── LATTICE_POLICY.md         # real-limits-first policy (→ hooks/commons/, dropped by `sidecar init`)
├── CLOSURE_POLICY.md         # closure-honesty policy (SSOT freshness + perpetual domains)
├── DESIGN.md / DESIGN.log.md # live design-rules pointer + decision audit trail
├── STRUCTURE.md              # 허용 구성 spec — top-level allowlist · 도메인쌍 관례 (s16/lint 연결)
├── CHANGELOG.md              # chronological ship log
└── .claude-plugin/
    ├── marketplace.json      # plugin manifest (name · source · version)
    └── profiles.json         # enable-profile tiers (core · hexa · personal · master[creator-only])

허용 top-level 구성 · 도메인쌍 관례 · where-goes 표는 STRUCTURE.md 에 명시되어 있다 (@D s16 규칙 ↔ sidecar-lint allowlist 강제).

Profiles

sidecar ships an opinionated stack. A profile picks which plugins to enable so you don't inherit the whole personal layer — pick one after install:

Profile Enables For
minimal core only general use — universal safety · QoL · workflow
hexa core + hexa + the hexa-lang toolchain (hexa CLI · .hexa / .tape)
full (default) core + hexa + personal the complete dancinlab setup
master + master tier creator-only — gated by the ~/.sidecar/master marker
sidecar profile minimal     # set the profile (re-applies the install)
sidecar profile             # show the active profile + any per-plugin overrides
sidecar enable  <plugin>    # force one plugin ON  — overrides the profile
sidecar disable <plugin>    # force one plugin OFF
sidecar reset   <plugin>    # drop the override → follow the profile again
sidecar master on|off|status   # mint/remove the creator marker (~/.sidecar/master)

Each plugin's tier is the Tier column below; the classification SSOT is .claude-plugin/profiles.json. This rides on Claude Code's own plugin enable/disable — not an in-guard opt-out — so an enabled guard stays unconditional (@D s11). State lives in ~/.sidecar/profile + ~/.sidecar/plugin-overrides.json; sidecar-lint flags any plugin missing a tier so the classification stays complete (@D s7).

master tier — creator-only

The personal tier is dancinlab-specific but anyone can opt in via full. The master tier is genuinely creator-only: a master-tier plugin enables only while the ~/.sidecar/master marker exists — force-disabled otherwise, even under the full/master profile (a per-plugin enable override still escapes it). The marker isn't shipped, so public installs never get master plugins; the creator runs sidecar master on once to mint it. Current master-tier members: stdlib-ssot-guard (PreToolUse advisory) + stdlib (/stdlib check·promote skill) — together the g61 cross-repo SSOT enforcement pair, dancinlab workflow only.

Commands

All slash commands at a glance, grouped by purpose. Each is backed by a plugin in the table below.

# ── Discovery ───────────────────────────────────────────────
/kick:kick <seed>                 hexa kick — gap-breakthrough / discovery engine
/gap:gap [scope|full]             42-lens multi-axis gap sweep (8 families)
/brainstorm:brainstorm <seed>     width-first idea exhaustion (rounds until depletion)

# ── Fan-out / loop ──────────────────────────────────────────
/cycle:cycle                      autonomous loop: self-enumerate (empty → seed from `## deferred`) → plan → fan-out → auto-continue to depletion
/cycle:cycle-full <goal>          /cycle:cycle + a one-time phase-0 depletion brainstorm, then auto-continue to depletion
/cycle:cycle-loop                 /cycle:cycle via the /loop skill — explicit continuous-intent pacing surface (same depletion end-state)
/cycle:cycle-full-loop            /cycle:cycle-full once, then /loop /cycle:cycle — drains to the same depletion condition
/step-by-step:step-by-step <task>  sequential runbook: plan → auto-run steps in order (alias /step-by-step:sbs)

# ── Dispatch ────────────────────────────────────────────────
/pool:pool <args>                 host roster + remote exec on sidekick hosts
/cloud:cloud <args>               hexa cloud — rented-GPU pod dispatch (runpod / vast.ai)
/micro-exp:micro-exp [scope]      context-driven micro-experiment sweep (pods → monitor → parse → atlas auto-fold)

# ── Cross-project ───────────────────────────────────────────
/domain:domain <task>             <NAME>.md snapshot + <NAME>.log.md checkbox-task log
/domain:domain list               repo-wide domain index — DOMAINS.tape roster (NAME→path, domains anywhere)
/domain:domain list --sync        reconcile DOMAINS.tape with disk (bootstraps the roster)
#                                 cross-repo handoff → `cd <target> && /domain:domain set INBOX`

# ── Verify / atlas / help ───────────────────────────────────
/verify:verify <args>             hexa verify — tier rubric (🔵🟢🟡🟠🔴⚪)
/atlas:atlas <args>               hexa atlas — SSOT surface (lookup · stats · register, PR-only landing)
/hexa-help:hexa-help [verb]       hexa --help (top-level catalog or per-verb signature)

# ── Research / generate ─────────────────────────────────────
/research:arxiv <q>               arXiv API search / id lookup
/research:yt <url>                YouTube caption transcript extract
/imagine:imagine <pf> <out>       AI image gen (fal backend · gpt-image-2 pinned)
/paper:paper <args>               arxiv LaTeX scaffolder (new·sample·fig·compile·lint·list)

# ── Account / credentials ───────────────────────────────────
/quota:quota [verb]               Claude 5h/7d usage + multi-account registry · switch · nicknames
/secret:secret <args>             macOS Keychain-backed credential CLI (dual-channel sync)

# ── Session / meta ──────────────────────────────────────────
/inject:inject  (/inject:ij)      sidecar sync + inject commons.tape/project.tape THIS turn
/ship:ship -m "<msg>" …           atomic commit + push + sidecar sync
/sidecar:sidecar <verb>           marketplace CLI — init · sync · sign · profile · enable · disable · reset
/prefs:prefs <axis> <lang>        language prefs (code · docs · response)
/easy:easy                        friendly 7-element response style
/check:check                      task dashboard (domain log · open PRs · git · merges)
/end:end                          session-closure safety check (dangling-residue dashboard)
/question:question (/question:q) <txt>  quick side-question, no task pivot (alias for /btw)

# ── Auto-fire hooks (no command) ────────────────────────────
# DENY (hard block):
#   hexa-native    .py/.sh writes in project.tape repos → re-issue as .hexa
#   plist-guard    .plist writes
#   cloud-guard    runpodctl/vastai exec/ssh → hexa cloud (g8)
#   verify-guard   wolframscript / inline-sympy → hexa verify (g5)
#   verdict-gate   H_*.md/result.json 🔵/🟢 without .verdicts/ evidence → deny (g73); + tautology/loop advisory
#   ai-api-guard   curl AI-host / inline AI-SDK → the CLI wrapper (g50)
#   sign-guard     edits to commons.tape/project.tape/.gitignore until `sidecar sign` (s13)
#   git-guard      force-push (+ stale-base push & merge advisory)
#   tape-lint      .tape edits (fields · length · authoring-language)
#   askq-text      AskUserQuestion box → re-ask as plain chat text (no option tree)
# REWRITE / ROUTE:
#   pool-route     heavy Bash → ssh to a pool host
#   pr-cycle       `gh pr create` → appends && gh pr merge + worktree clean (g47); DENIES auto-merge on mass-deletion outlier (deletion-sanity gate, anima #1105)
#   output-trim    >8000-char Bash stdout → dedup + truncate
# ADVISORY (non-blocking additionalContext):
#   sidecar-lint   git-commit: stale-history · hardpath · version drift · CHANGELOG · profiles tier · mcp-ban
#   workdir-guard  working tree shared by ≥2 agents → use a worktree (s-shared)
#   memory-lint    MEMORY.md pileup / long lines → archive
#   inbox-log-lint INBOX.log.md pileup → archive
#   limit-guard    subagent session-limit → checkpoint directive
#   monitor-guard  bg/long shell launch → detach + log + Monitor (g10, rate-limit survival)
#   pod-monitor    GPU pod fire → SAVE_POD / detach reminders (g57)
#   s9-guard       Mac load-check cmds → exclude claude PIDs (s9)
#   lsp-rebuild    */lsp/*_lsp.hexa edit → bg rebuild <lang>-lsp-hexa (grammar auto-propagate)
# SESSION lifecycle:
#   easy-auto · quota-autoadd · worktree-gc · sidecar-auto-sync · subagent-route[POC]

Plugins

75 plugins across {hook · command · skill} — one concept each (35 core · 17 hexa · 21 personal · 2 master). The Tier column is the enable profile a plugin belongs to.

Name Kind Tier Version Summary
all-bg-go command + skill core 0.4.1 Parallel fan-out trigger — "all bg go" → plan table + one background Agent per branch the prior turn offered (REACTIVE single fan-out; for a self-generating loop use /cycle)
brainstorm command + skill core 0.1.1 Iterative brainstorming
bypass skill core 0.2.1 Anti-punt
check command + skill core 0.1.0 Task dashboard skill
cycle command + skill core 0.9.2 Autonomous work-loop driver (whole family auto-drains to depletion) · 7 commands: /cycle · /cycle-full · /cycle-loop · /cycle-full-loop · /cycle-all (no cap + no recommend gate) · /cycle-fg + /cycle-bg (0.9.1 — STICKY execution-mode toggle via ~/.sidecar/cycle-mode: fg=in-session sequential one-at-a-time·halt on failure, bg=background parallel fan-out·auto-continue. Once set, subsequent bare /cycle keeps that mode — fg for debugging/review, bg (default) for parallel bursts) · 0.9.2 cross-links the /cycle-bg ↔ /micro-exp build-vs-fire decision tree (domain-agnostic; mirrored in skills/micro-exp/SKILL.md): /cycle-bg = canonical BUILD lane (per-worktree agents write candidate infra), /micro-exp = FIRE-only lane (pre-built infra; Stage 1.5 auto-halts back to /cycle-bg on missing infra)
domain command + skill core 0.8.7 Maintain UPPERCASE .md (snapshot = final-goal milestone checkboxes) + sister .log.md (append-only step log) · /domain list repo-wide index (DOMAINS.tape roster — domains at any path)…
draft command + skill core 0.2.0 Ephemeral scratchpad — /draft <slug> scaffolds drafts/<slug>.md; add <slug> <content> appends timestamped bullet; rm <slug> deletes one; drafts/ auto-gitignored; LLM AUTO-REGISTERS on natural-language register/jot/note signals (any language) by picking a slug from context and running /draft add; symmetric delete-that-note triggers map to /draft rm
end command + skill core 0.2.0 Session closure safety check
matrix command + skill core 0.1.0 Axis cross-product coverage tracker — /matrix manages an axis × axis grid via cwd-local MATRIX.tape (SQUARE: one axis set, pairs · RECTANGULAR: rows × cols); done <i> <j> toggles a cell, bare renders the grid (small) or per-row coverage bars (large) + coverage % + next unfilled cells
trail command + skill core 0.1.0 Main-flow return stack (LIFO) — /trail push <target> records where to climb back when deviating into ANY side-task (intra-repo tangent/sub-fix OR cross-repo/upstream fix — not only cross-repo); pop closes the top detour + shows what to resume; bare renders the ladder (deepest = ★ NOW); HOME-global ~/.sidecar/trail.tape (one stack for the current dive, survives cd); LLM auto-uses per commons g74
gap command core 0.2.0 multi-axis gap exploration
gh-stack skill core 0.1.1 Stacked-PR workflow skill
git-guard hook core 0.6.0 PreToolUse(Bash) git-push safety guard, in hexa-lang (_git_guard.hexa, via hexa run); 0.6.0 adds a non-blocking stale-base MERGE advisory (warns when a gh pr merge lands a branch >= 20 commits behind origin/main — anima #1105 stale-base path)
limit-guard hook core 0.1.3 PostToolUse(Task) hook, implemented in hexa-lang (_limit_guard.hexa, invoked via hexa run)
memory-lint hook core 0.1.0 PostToolUse(Write|Edit) advisory for the auto-memory index file (memory/MEMORY.md), implemented in hexa-lang (`_memo…
drift-guard hook core 0.1.1 PostToolUse(Write|Edit) advisory — design-drift → memory sync; 0.1.1 limits sentinel scan to source-code extensions + skips sidecar repo's own /hooks/drift-guard/ tree (kills self-trigger noise from prose docs that documented the marker)
throttle-guard hook core 0.1.0 PostToolUse(Task|Agent) cross-session transient-throttle coordinator — shared cooldown marker + jitter backoff + WIDTH cut (distinct from limit-guard's usage cap)
monitor-guard hook core 0.1.5 PreToolUse(Bash) advisory for bg/long shell launches — detach + log + Monitor-on-log (commons @D g10); 0.1.5 — has_log token-position via _has_log_pos+_redirect_targets (quote-aware >/>> target + tee file-arg + << heredoc) — commands merely mentioning .log no longer satisfy the sink check, finishing the substring → token-position sweep
output-trim hook core 0.1.3 PreToolUse(Bash) stdout trimmer
pool command + skill core 0.2.2 wraps the pool CLI (host roster + remote exec
prefs command core 0.4.0 /prefs view/set language prefs (code · docs · response) — writes the fixed prefs.json SSOT
prefs-hook hook core 0.1.0 UserPromptSubmit+SessionStart+PreCompact+PostCompact — injects language prefs from the fixed SSOT (prefs split)
question command + skill core 0.2.0 Quick side-question alias for Claude Code's built-in /btw
quota command + skill core 0.10.0 Claude account 5h/7d usage limits + multi-account registry + live credential swap + per-account nicknames
quota-autoadd hook core 0.1.1 SessionStart hook
research command + skill core 0.2.4 Research-fetch tools
roi command + skill core 0.1.0 /roi [scope] — LOSSLESS perf/resource/speed improvement candidates as a ranked TODO. Scope bare=active-domain/cwd · /roi <message>=file/dir/feature scope. risk=low ONLY (no functional regression). Categories ⚡speed · 🧠perf · 💾resource · 🔋efficiency. Sorted by impact/effort ratio; benchable items grounded via @D bench_kernel_choices
secret command + skill core 0.4.1 wraps the secret CLI (macOS Keychain-backed credentials, dancinlab/secret 0.4.0, dual-channel sync)
sidecar command core 0.7.0 thin wrapper over the sidecar marketplace CLI (host-local, on PATH via hx install sidecar). 0.7.0 — reap (reap stale hexa-lsp idle > 2h; dry-run by default, reap --kill terminates; never touches claude @D s9 or active hexa runs) + paths add/rm now SIGN-GATED (key paths: ! sidecar sign paths first, since the whitelist overrides pool-route). 0.6.0 adds sidecar paths — manage the LOCAL-EXECUTION WHITELIST ~/.sidecar/local-paths (pool-route 0.10.0 reads it). paths (list) · paths add (register cwd) · paths add <dir> (abs-resolved dir, refuses non-existent / already-present) · paths rm <prefix>. Seeded on first use with ~/.claude/plugins/cache/sidecar/ + ~/core/sidecar/. Atomic writes (tmp+mv); whitelist itself IS the opt-in — no env opt-out (@D s11).
step-by-step command + alias /sbs core 0.7.0 plan-first sequential runbook · TWO modes + 0.6.0 자동 QA 4축: MANUAL (default) — chat-form disambiguation (1Q/round, easy-mode 7-element scaffold — icon·name·alias·plain-line·analogy·ASCII·compare-table·recommendation; free-form answers OK) until ambiguity=0, then 🎯 합의된 결정셋 ASCII tree pause (user go or Qn=<other> to flip just that one), then write drafts/<slug>-plan.md (gitignored) + launch background Agent that runs end-to-end including ship + auto-QA 4축 — user can leave · AUTO same chat-form scaffold rendered but each question AUTO-PICKED by 4-axis weighted average (완성도·단순·안전(blast radius)·표준(sidecar pattern); default 1:1:1:1, inline override /sbs auto:safety <task> or /sbs auto:complete=2,simple=3 <task>) — still pauses at agreement screen. 0.6.0 자동 QA 4축 (handoff agent ship 직후) — functional (새 endpoint 응답) · visible (URL/path 노출) · conformance (locked decision ↔ 코드 1:1) · regression (기존 surface 미손상). Hybrid fail: regression FAIL → git revert <SHA> 자동 + banner; 나머지 FAIL → ship 유지 + plan.md ## qa-deferred + banner; SKIP=PASS-equivalent. legacy-manual = the prior per-step pause behavior (1-version deprecation banner). (go is a separate command, not a mode). 0.7.0 — ship+QA 직후 자동 HANDOFF.md 9-section 인계 doc + memory/project_<slug>_handoff.md 미러 (plan에 handoff verb 면 end-user dossier bundle 도)
workdir-guard hook core 0.1.0 SessionStart advisory (hexa-lang _workdir_guard.hexa, via hexa run) that fires once per session, and only when the…
worktree-guard hook core 0.2.0 PreToolUse(Bash) advisory on git worktree add — durable-worktree drill: commit+push promptly, a sibling prune / sync / tmp-reaper can delete the worktree + uncommitted edits; 0.2.0 adds a branch-reuse advisory (add -b <br> reusing an existing/local-only-stale branch — anima #1105 stale-base risk)
worktree-gc hook core 0.2.0 SessionStart hook that prunes merged-but-undeleted LINKED git worktrees (hexa-lang _worktree_gc.hexa). Prunes only when HEAD truly landed on origin/main; FOUR live-work guards (dirty · recent-mtime <1h · cwd-in-use · HEAD-ancestor) + atomic prune so an active worktree is never wiped mid-task
atlas command + skill hexa 0.1.1 wraps hexa atlas (atlas SSOT surface)
cloud command + skill hexa 0.4.0 wraps hexa cloud (runpod / vast.ai dispatch). 0.4.0 surfaces cloud pods / cloud dispatch [tree|active|add|verdict|rm] — per-project active pod/job work manifest at cwd's ./pods.json (one file per repo · update-form · distinct from global ~/.hexa-cloud/pods.jsonl orphan/billing registry; hexa-lang PR #1699). 0.3.5 atomic cloud fire + __MONITOR_HANDLE__ JSON-line contract (hexa-lang PR #1306 + #1309).
cloud-guard hook hexa 0.2.2 PreToolUse(Bash) hard block for raw rented-GPU pod dispatch (commons @D g8)
hexa-help command + skill hexa 0.2.1 wraps hexa --help (no arg, top-level catalog) or hexa <verb> --help (verb-specific)
hexa-lsp hook hexa 0.1.1 Wire the hexa-lang LSP server (hexa lsp) for .hexa files
hexa-native hook hexa 0.3.2 PreToolUse(Write|Edit|NotebookEdit|Bash) hard block for .py / .sh writes inside any project rooted at a directory…
hxc-lsp hook hexa 0.1.0 Wire hxc-lsp (HXC hexa-canonical wire/storage format LSP — diagnostics + hover) for .hxc files
kick command + skill hexa 0.2.1 runs hexa kick --seed "<seed>" (hexa-lang gap-breakthrough / discovery engine, aliased to hexa drill)
kosmos-lsp hook hexa 0.1.0 Wire kosmos-lsp (kosmos multimodal knowledge-anchor manifest LSP — diagnostics + hover) for .kosmos files
micro-exp command + skill hexa 0.4.0 context-driven micro-experiment sweep orchestrator (domain-agnostic — kind is abstract; materials wall · LLM bench · web smoke · build bench are examples among many). self-enumerate → Stage 1.5 per-candidate infra existence check (HALT to /cycle-bg <domain> when any of <runnable>/<inputs>/<parser>/<workdir> missing) → pod budget → monitor → parse → atlas auto-fold on closed-form-atom-shaped kinds (skip for observation-only). Cross-links the /cycle-bg/micro-exp build-vs-fire decision tree in both SKILL.md (BUILD lane vs FIRE lane). Local-pool adapter works on ANY kind with a runnable + parser
mining command + skill core 0.3.0 /mining — lens-driven DIVERGENCE (leaves) + connect-driven CONVERGENCE (edges) + tidy-driven ORGANIZE (phase regroup) workflow, 3rd pillar of /domain. <NAME>.mining.md (## cycles · ## leaves · ## edges, append-only) + <NAME>.mining.tape (idea cart). THREE workflows — lens (divergence; deplete at 0 new leaves) · connect (convergence; deplete at 0 new edges in a full pass) · tidy (organize; reorganize cycles into PHASE groups divergence/analysis/convergence/external + chronological cycle-index table — LOSSLESS, index preserves order). Bundled lenses: same-formula · ouroboros (goal closure) · dimensional · tension · combinatorial · custom. Verbs (12): bare (status + auto-suggest tidy at ≥10 cycles & ≥500 lines) · <lens> (round) · append · cycle new · depletion · tree · connect/edges · connect <a> <b> · graph · saturate · tidy/consolidate [--depth=light|full] · squash (cosmetic dup-header dedup). Active-domain only (commons @D g58)
n6-lsp hook hexa 0.1.0 Wire n6-lsp (NEXUS-6 knowledge-atlas grammar LSP — diagnostics + hover) for .n6 files
paper command + skill hexa 0.11.0 arxiv-style LaTeX paper scaffolder. 0.11.0 fixes 3 verbs (INBOX #112): pr-roll early-reject bare repo + jq \\\\# escape · atoms LC_ALL=C + lowercase compare + fn-dispatch match · arxiv-prep absolute tar path
pod-monitor hook hexa 0.1.3 PreToolUse(Bash) advisory hook for GPU pod fires (hexa cloud nohup / fire / run); 0.1.3 token-position match (no longer fires on commit/grep mentions)
tape-lint hook hexa 0.5.1 PreToolUse(Edit|Write) deny for .tape edits, implemented in hexa-lang (_tape_lint.hexa, invoked via hexa run
tape-lsp hook hexa 0.1.1 Wire tape-lsp (canonical .tape v1.2 LSP
verify command + skill hexa 0.2.1 runs hexa verify "$@" (cross-project tier rubric, TECS-L-aligned)
verify-guard hook hexa 0.1.2 PreToolUse(Bash) hard block for raw verification-tool usage cited as primary evidence, implemented in hexa-lang (`_ver…
ai-api-guard hook personal 0.1.3 PreToolUse(Bash) hard block for raw AI-API calls when a sidecar CLI wraps the same operation, implemented in hexa-lang…
commons hook personal 0.10.15 UserPromptSubmit + SessionStart + PreCompact + PostCompact hook · 0.10.15 adds @D g75 (candidate orchestration build/fire split · domain-agnostic)
easy command + skill personal 0.1.2 Easy (friendly) response style
easy-auto hook personal 0.2.0 SessionStart + UserPromptSubmit + PreCompact + PostCompact hook; 0.2.0 adds 한국어 substring NL 트리거 '설명'/'쉽게' (UserPromptSubmit · verb/noun/adverb 어형 catch) + 발동 시 1줄 banner emit (always-on inject는 그대로)
go command + skill core 0.1.0 /go [hint] — proceed with most-recently proposed action / continue paused flow without further confirmation. Bare "go" single-word message catches as NL alias. Stateless continuation token (not a runbook). Optional hint: retry/skip/all/host-name
imagine command + skill personal 0.2.3 generic AI image generator
inbox-guard hook personal 0.1.0 PreToolUse(Write|Edit|NotebookEdit) hard block for any write into an inbox/ folder — the canonical handoff SSOT is INBOX.md (single file + sibling INBOX.log.md); folder-style inbox/<kind>/<slug>.md fragments active state and is refused. No opt-out by design. Companion: legacy inbox skill retired
inbox-log-lint hook personal 0.1.0 PostToolUse(Write|Edit) advisory for the INBOX domain log (INBOX.log.md)
inject command + skill personal 0.2.0 Immediately inject the latest sidecar commons.tape + project.tape into the CURRENT session and sync the local install…
plist-guard hook personal 0.1.2 PreToolUse(Write|Edit|NotebookEdit) hard block for .plist writes, implemented in hexa-lang (_plist_guard.hexa, inv…
pool-route hook personal 0.11.0 PreToolUse(Bash) pool auto-router + sign-local single-gate. 0.11.0 FORK-STORM CAP — a whitelist-forced-LOCAL hexa run (e.g. a /tmp script), when ≥ FORK_STORM_CAP (default 8) USER hexa interpreters are already live locally, is DENIED with a runbook (locality preserved, storm capped); counts via ps -Ao args, excludes sidecar's own hooks + claude (@D s9), fails OPEN on a count error (@D s11). 0.10.0 SIDECAR PATH-PREFIX WHITELIST — a new permanent LOCAL-EXECUTION layer reads ~/.sidecar/local-paths (USER-managed via the new `sidecar paths {bare
pr-cycle command personal 0.4.0 /pr-cycle one-shot PR cycle (push + create; the pr-cycle-hook plugin appends merge + worktree-clean)
pr-cycle-hook hook personal 0.2.0 PreToolUse(Bash) router — appends merge + worktree/branch cleanup to gh pr create (commons @D g47; pr-cycle split); 0.2.0 adds a deletion-sanity gate that DENIES the auto-merge on a mass-deletion outlier (D>50 or deletions >= 10x additions — anima #1105's 35190-file stale-base regression)
project-tape hook personal 0.2.1 PreCompact + PostCompact hook
s9-guard hook personal 0.1.0 PreToolUse(Bash) advisory hook for load-assessment commands (project.tape @D s9)
askq-text hook personal 0.1.0 PreToolUse(AskUserQuestion) → plain-text chat redirect, in hexa-lang (_askq_text.hexa, via hexa run). DENIES the arrow-key option-tree box and instructs the model to re-ask the SAME question as plain chat text (options listed inline, recommendation marked, free-form answer accepted). A FORM redirect, not anti-punt — distinct from the bypass skill; plan approval keeps ExitPlanMode. Unconditional, NO opt-out (@D s11)
lsp-rebuild hook personal 0.1.0 PostToolUse(Write|Edit) auto-rebuild for hexa-native LSP servers, in hexa-lang (_lsp_rebuild.hexa, via hexa run). Editing a */lsp/<lang>_lsp.hexa grammar source → background HEXA_MAC_BUILD_OK=1 hexa build … -o ~/.local/bin/<lang>-lsp-hexa (detached, log → ~/.sidecar/lsp-rebuild.log) + non-blocking advisory, so a grammar change auto-propagates without a manual rebuild. Rebuild-not-source-run: the stdio server needs the read_stdin_n_c FFI that only links into a compiled binary. Fires only on the */lsp/*_lsp.hexa pattern (@D s11)
ship command + skill personal 0.3.2 Atomic ship tail for sidecar plugin changes
sidecar-auto-sync hook personal 0.2.0 SessionStart hook that runs sidecar sync once per Claude Code session, implemented in hexa-lang (`_sidecar_auto_sync…
sidecar-lint hook personal 0.8.1 PreToolUse(Bash) auto-lint that fires on git commit in any Claude Code marketplace plugin pack (version drift · hardpath · stale-history · CHANGELOG · profiles tier · MCP-ban · top-level-dir allowlist); 0.8.1 — top-level-dir check is an ALLOWLIST (concept dir · bin · .github · .claude-plugin), so renaming a by-KIND bucket (docsdocumentation) no longer dodges it; advisory directs co-location under the owning domain/plugin (project.tape @D s16)
sign-guard hook personal 0.1.7 PreToolUse(Write|Edit|NotebookEdit|Bash) sign-gate for sign-gated files (commons.tape · project.tape · .gitignore · 0.1.7 ~/.sidecar/local-paths — the LOCAL-EXECUTION WHITELIST), in hexa-lang — agent edits need a fresh sidecar sign <key> token (commons·project·gitignore·paths); hard-denies self-mint
subagent-route hook personal 0.1.0 [POC] PreToolUse(Task|Agent) observation hook + SessionStart observation-log snapshot, implemented in hexa-lang (`_sub…

Governance

Sidecar's own identity + governance lives in project.tape (also reachable via CLAUDE.md). Cross-project do / dont rules ride inside the commons hook plugin and auto-inject at SessionStart + PreCompact + PostCompact. Local sidecar decisions (concept separation, ship cycle, evidence-before-ship, cross-project carrier) are recorded in DESIGN.log.md as numbered decisions; DESIGN.md is the live-rules pointer.

Policies

Two honesty policies — cross-cutting rules that stop autonomous work from making false claims. Both share the same form: "claim X must be proven; it is not the default."

Policy Honesty of what One-liner
LATTICE_POLICY.md limit claims a ceiling must be a real physics/math limit (no convenience numbers) — commons g25·g26
CLOSURE_POLICY.md closure claims a domain is "done" ONLY when judged from a fresh·live SSOT · perpetual domains never terminate — cycle @D ssot_freshness·perpetual_domain + domain stale-guard

CLOSURE_POLICY was derived from the incident where anima's LIFE domain wrongly declared ✅ 100% depleted due to a stale untracked copy + perpetual misclassification (enforced by cycle 0.7.7 + domain 0.8.8).

Reference

License

MIT.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors