Skip to content
/ CoderLap
Philosophy

Boring survives.

We rejected databases, dashboards, auto-magic. Every choice prioritises portability and longevity over cleverness. This is what we kept — and what we threw out.

What we kept
01
Principle

Markdown only

No database. No server. No framework. No runtime dependency except bash and whatever Claude Code already runs.

If the toolkit disappeared tomorrow, every file it wrote would still be a readable markdown document that tells the next human what was decided, what's missing, and what to do next.

02
Principle

Idempotent

Every command is safe to re-run.

  • /before on a tiny task skips itself and tells you why.
  • /ship on a clean diff says "nothing to check" and exits.
  • /session last doesn't modify anything — just reads.

No "did I already do this?" anxiety. Just run it.

03
Principle

Never delete history

  • • A closed gap becomes shipped YYYY-MM-DD (commit: <hash>) — the section stays, the work is remembered.
  • • A superseded ADR becomes superseded by ADR-NNN — you can always trace the reasoning chain.
  • • An archived doc gets a banner pointing to its replacement, not a deletion.

Deletion loses context. Marking status preserves it. The cost is a few bytes.

04
Principle

Adaptive, not rigid

/ship reads the diff before asking anything. It only asks about the things your changes actually touched — no checklist bloat.

/before decides for itself whether the task deserves a plan. Typo fix? Skip. New feature? Plan.

05
Principle

Project-agnostic

No hardcoded paths. No language assumptions. No framework coupling. The skills read CLAUDE.md and the docs/ files relative to the current working directory.

Rails Next.js Python Go Elixir Monorepo subpath Whatever
What matters

The loop matters. Not the commands.

Any individual command can be skipped. What matters is doing these four steps, in order, every session.

1

Plan

Before coding: /before

2

Decide

Trade-offs appear: /decision

3

Ship

Before commit: /ship

4

Hand off

End of session: /session

Skip any of these and the next session pays the cost. Do them all and a new session picks up where the last one left off, with full context.

Rejected

What we threw out

  • Databases and dashboards

    You'd need to install them, back them up, keep them running. Markdown just works.

  • Auto-generated changelogs

    They describe what, not why. The commit message + ADR do better.

  • Granular permission models

    Anyone who can edit the repo can edit the docs. Solve with branch protection, not tool features.

  • Framework magic

    No scripts that modify code automatically. Claude reads the rules and applies them — the rules are the tool.

Kept

What made it in

  • Simple text files

    Anyone can read them. Any editor can edit them.

  • Explicit approval gates

    For risky actions (commits, overwrites). Nothing silently mutates your repo.

  • A single index

    So nothing gets orphaned. CLAUDE.md is the source of truth for rules.

  • Preservation of history

    By default. Closures and supersession leave a trail.

This is meant to be boring.
Boring survives.