Suede#
SvelteKit starter template. Entry point for stack, conventions, and process: AGENTS.md.
For self-hosted knots, clone URLs may differ based on your setup.
The task-note lifecycle (AGENTS.md task-lifecycle skill) requires
an entry per completed task; these were authored at the time of
their respective work but never committed. Closing the loop:
- 2026-06-03-03: chronver release process
- 2026-06-04-01: remove Claude-Code-specific artifacts from
deciduous install
- 2026-06-04-02: build the deciduous decision graph for Suede
from commit history
Plus the plan artifact for the chronver task
(agent-notes/plans/add-suede-release-process-chronver.md) —
plan files are write-only at task end per the skill, so this
is the canonical place for it.
- .opencode/agents/deciduous.md: specialist agent for
deciduous decision-graph operations.
- .opencode/commands/*.md (10 files): slash-command wrappers
for the most common workflows (work, build, document,
decision-graph, decision, recover, serve-ui, sync, sync-graph,
build-test).
- .opencode/plugins/*.ts (3 files): lifecycle hooks —
post-commit-reminder, require-action-node (Edit/Write
guard), version-check.
- .opencode/skills/{archaeology,narratives,pulse}/SKILL.md:
in-repo skills for narrative-driven decision-graph work.
- .opencode/tools/deciduous.ts: thin TS tool wrapper for the
deciduous CLI used by the agents/commands above.
- opencode.json: project-level opencode config (model,
agent list, MCP servers, etc.).
Also includes a stray prettier reformat of .storybook/preview.ts
(the import chain was unchanged; only whitespace/indentation
differed from the version committed in b718ad0).
Excluded: .opencode/.gitignore (workspace-internal config that
self-excludes via its own last line), .opencode/node_modules/,
.opencode/package.json, .opencode/package-lock.json
(gitignored at the repo root by the prior commit).
The .opencode directory is a pnpm-managed workspace (its own
internal .opencode/.gitignore covers node_modules + lockfiles
for the pnpm tooling). Git only reads the root .gitignore for
untracked-detection, so add the corresponding entries here to
keep 'git status' clean for downstream contributors.
The tracked .opencode/ contents (agents, commands, plugins,
skills, tools, and the .opencode/.gitignore itself) are
configuration and ship with the repo.
- .github/workflows/cleanup-decision-graphs.yml: scheduled (and
manual-dispatch) cleanup of stale deciduous event log files.
Companion to the deciduous sync export at docs/graph-data.json.
- .github/workflows/deploy-pages.yml: builds the Storybook
static site (pnpm build-storybook) and deploys storybook-static/
to GitHub Pages. This is what makes the SuedeButton docs
(and any future Storybook) browsable from the public web.
Neither workflow has been exercised against the live repo yet;
add a PR for the deploy workflow to fire on a tag or manual
dispatch only.
One-line content edit; the SvelteKit default 'Welcome to SvelteKit'
page no longer reflects the project's identity. Now reads
'<h1>suede</h1><p>a template repo.</p>'. No functional change;
the +page.svelte component is otherwise unchanged.
Removes the auto-generated example Button/Accordion wrappers and
their Vitest specs that were scaffolded in 341d364
('feat: install bits-ui and stylebase, scaffold UI wrappers') but
never replaced with real components. The matching story files
that referenced them were removed in bbdd827 (broken imports
were blocking Storybook's vite import-analysis).
What's left in src/lib/components/ui/ is the new SuedeButton
wrapper (added in c7c153b) — the only wrapper the project
currently ships. Future wrappers should be added here as
they're built.
SvelteKit starter template. Entry point for stack, conventions, and process: AGENTS.md.