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.
Remove database schema and initialization files
- Run prettier --write to fix formatting across 34 files
- Remove unused catch bindings in opencode plugins
- Remove unused `output` param and `fn` import in stories
- Replace triple-slash vitest/config reference with import style
- Wire up eslint-plugin-storybook flat/recommended config
Remove speculative scaffolding (getDb factory and task table) that has
zero callers. When a real query is needed, recreate the module with the
queries that use it.
Closes #2
docs(agents): consolidate agent instructions, add constant process pipeline + standards
Co-authored-by: opencode <noreply@opencode.ai>
The user asked whether we are now standardizing the tags/labels we
use. Partial answer: chronver (version), triage (issues), deciduous
(graph nodes) were already standardized. The commit and branch naming
vocabularies were de facto conventional-commits but not written down;
the 2026-06-03-02 task note explicitly flagged this as a future task.
- AGENTS.md Git workflow: new 'Branch and commit naming' subsection
with the conventional-commits 1.0.0 type list enumerated inline.
Branch names are <type>/<slug>; commit messages are
<type>(<scope>): <subject>; the type vocabulary is shared. The
chore(release): type is reserved for the version-bump commit.
Forks extend or trim the list via suede-kickoff Thread B Q8.
- AGENTS.md Layout: task note filename pattern formalized as
YYYY-MM-DD-NN-<slug>.md with the per-day counter rules. New
bullet for .opencode/{agents,commands,plugins,tools}/ kebab-case
file naming. New 'Task note section headings' subsection listing
the 6 required sections from the template, in order, with the
'all six required' rule.
- suede-kickoff Thread B Q8 sub-bullet 'Branch and commit naming':
rewritten to point at AGENTS.md's new rule, with the
extension/trim override path.
Co-authored-by: opencode <noreply@opencode.ai>
The turn-1 / turn-2 hand-back message overstated the agent's role.
The correct rule: the agent may push branches and may apply tags,
but may not push directly to main and may not merge to main. The
human is the one who reviews the PR and merges to main; the agent
is fine doing the release-branch push and the tag.
This matches the prior-task pattern (2026-06-04-03 SuedeButton task
involved the agent pushing the branch; 2026-06-05-06 chronver task
mentioned the human tagging the merge commit but didn't preclude
the agent from doing so).
- AGENTS.md Git workflow bullet 4: agent may push + may tag, may
not push to main, may not merge to main.
- AGENTS.md Task flow End step 5: same correction.
- AGENTS.md Releases intro: removed 'the human tags' wording; the
tag-and-push step is agent-OK, only the merge-to-main is human-only.
No version bump for this turn. If the user prefers the rule
correction to ride with 2026.6.12, can rebase/re-bump.
Co-authored-by: opencode <noreply@opencode.ai>
Six follow-up points from the user after the turn-1 commit. All land
on the same branch as a separate commit so the turn-1 / turn-2 work
is independently reviewable.
- AGENTS.md Git workflow: 'Never branch off an in-flight branch.' Only
main is a valid base. In-flight work follows up on the same branch
or waits. A branch-of-branch creates a PR whose base vanishes the
moment the first PR merges.
- AGENTS.md Authoring boundaries: 'Storybook discipline' subsection
with assume-included wording. A UI primitive change is incomplete
without a story update in the same commit. The override path lives
in suede-kickoff Thread B Q7 (a fork that rips Storybook records
the override in the kickoff follow-up task note, and the agent
rewrites AGENTS.md / tdd-supplementary to reflect the rip).
- AGENTS.md Constant process pipeline: 'Tracker preconditions' para.
Stages 4/5/8/9 need a tracker. Default: GitHub Issues. Sane
overrides: markdown-dir, Linear, GitLab. Tangled is a mirror, not
a tracker. When no tracker is configured, those stages collapse to
mental checks on the task note's Follow-ups.
- AGENTS.md Releases: rewrote intro as 'mechanics constant, scheme
variable.' The fork-invariant part is the release flow mechanics;
the scheme (chronver / semver / other) is a Thread B question.
Added 'Tracker and remotes' paragraph making GitHub Issues the
default tracker and Tangled a mirror.
- AGENTS.md Decision Graph Workflow: Session Start Checklist no
longer references 'deciduous check-update'. Added a 'Do not run
deciduous update' policy paragraph (the upstream update command
regenerates .opencode/, .claude/, AGENTS.md from defaults and
silently overwrites hand-edits).
- AGENTS.md Working style: added 'tdd-supplementary' to the
build-stage skills list.
- .opencode/plugins/version-check.ts: rewritten as a no-op. Writes
a one-time marker to .deciduous/.version_check_disabled + a single
log line, then returns silently. The deciduous auto-update toggle
is deprecated upstream; disabling the plugin is the only effective
silencing.
- .gitignore: added agent-notes/plans/ with a comment explaining
the rationale (plan files are per-task scratchpads; the compiled
form persists; handoff is the resume tool).
- .opencode/skills/task-lifecycle/SKILL.md: 'Do not write a plan
file to agent-notes/plans/' — gitignored scratchpads, handoff is
the resume tool.
- .opencode/skills/suede-kickoff/SKILL.md: Thread B Q7 strengthened
to 'Defaults: keep all' with explicit override paths (Storybook
rip rewrites AGENTS.md + tdd-supplementary; SvelteKit rip rewrites
AGENTS.md + build-test.md).
- .opencode/skills/tdd-supplementary/SKILL.md (new): three
sections — Prune pass (the rule the global tdd skill is missing;
walks the tdd/tests.md Red flags checklist; deletes in the same
commit); Storybook discipline (restates the Authoring Boundaries
rule as a workflow); What's intentionally not in this skill.
Co-authored-by: opencode <noreply@opencode.ai>
The suede process layer is constant across every fork (full-stack,
content, backend, other). What varies is the details — issue tracker,
branch convention, version policy, which global skills apply. This
commit makes that contract explicit in three places:
- AGENTS.md: new 'Constant process pipeline' section with the 11-stage
table (concept -> grill -> PRD -> issues -> triage -> build ->
diagnose -> review -> QA -> release -> handoff) and the always-on
supporting layer (decision graph, task notes, git workflow, authoring
boundaries). Working style rewritten to bucket skills by pipeline
stage. Task flow Start + During steps now reference the pipeline
section as the canonical source.
- .opencode/skills/suede-kickoff/SKILL.md: Step 3 reframed as a
/grill-me session with Thread A (project) and Thread B (process-layer
customizations). Thread B is open-ended — the process is the human's,
the agent doesn't pick which ~/.agents/skills/ to load, which issue
tracker to use, or which branch convention to enforce. Step 8 splits
the decision list into process-layer edits (lead) and runtime-layer
edits.
- .opencode/commands/work.md: fixed the 'hooks will BLOCK you' claim
on line 13. The require-action-node plugin nags to .deciduous/plugin.log;
it does not block. Same fix shape in 'Why This Matters'.
- .opencode/commands/build-test.md: rewritten from stock deciduous
(cargo + Rust) to the suede defaults (pnpm + Vitest + svelte-check +
Storybook). The 2026-06-04-01 task note originally flagged this
misalignment.
Did NOT touch the other 8 stock deciduous commands — out of scope for
this task. Did NOT introduce a branch-naming convention — out of scope.
Did NOT resolve the deciduous sync boundary — out of scope.
Co-authored-by: opencode <noreply@opencode.ai>
SvelteKit starter template. Entry point for stack, conventions, and process: AGENTS.md.