Skip to content

README has no run steps or CLI example #60

Open

Description

@Param-Harrison

Where

README.md

What's missing or wrong

The README describes what splitbill is but never says how to actually run
it: no install step, no bun run dev command, no port number, and no
example of using the CLI (splitbill groups, splitbill balances <group>,
splitbill export <group>). A new contributor has to read package.json
and src/cli.ts to figure out how to start the app.

Expected

A "Run it" section with:

  • bun install
  • bun run dev and the URL it serves (http://localhost:3200)
  • One CLI example, e.g. bun run src/cli.ts groups

Done when

The README has these steps and they work when followed on a clean clone.

Activity

  1. added
    factory:readyHuman marked this ready for the loop to pick up
    factory:triagingfactory-triage is classifying this issue
    and removed
    factory:readyHuman marked this ready for the loop to pick up
    on Oct 8, 2026
  2. Param-Harrison commented on Oct 8, 2026

    @Param-Harrison
    ContributorAuthor

    Triage

    Disposition: proceed
    Type: docs
    Risk: low
    Confidence: 0.9

    Done when: README.md has a "Run it" section with bun install, bun run dev (http://localhost:3200) and a CLI example (bun run src/cli.ts groups) that work on a clean clone.

    Files expected: README.md

    Gate level: full

  3. added
    factory:planningfactory-plan is writing the plan comment
    and removed
    factory:triagingfactory-triage is classifying this issue
    on Oct 8, 2026
  4. Param-Harrison commented on Oct 8, 2026

    @Param-Harrison
    ContributorAuthor

    Plan (rev 1)

    Goal: Add a "Run it" section to README.md with the install, dev-server and CLI commands that work on a clean clone.

    Acceptance criteria

    • AC-1: README.md has a ## Run it heading containing bun install — checked by bun test tests/readme.test.ts ("README has a Run it section with bun install")
    • AC-2: The Run it section shows bun run dev and the URL http://localhost:3200, and both match the repo: package.json has a dev script and src/server.ts defaults PORT to 3200 — checked by bun test tests/readme.test.ts ("README dev command and URL match package.json and server default port")
    • AC-3: The Run it section shows a CLI example bun run src/cli.ts groups (and mentions balances <group> / export <group>), and src/cli.ts exists and handles the groups command — checked by bun test tests/readme.test.ts ("README CLI example points at a real CLI command")
    • AC-4: The full gate stays green — checked by make check

    Non-goals (binding — a diff that crosses one fails verify)

    • NG-1: No change to any file under src/, public/, package.json, bun.lock or Makefile — the README documents current behaviour, it does not change it.
    • NG-2: No edits to protected paths (src/auth/**, .factory/**, .claude/**, .agents/**, .github/**) or to AGENTS.md / DEMO.md.
    • NG-3: No rewrite of the README's existing sections (What it does, Stack, Layout, Factory demos and checkpoints) beyond inserting the new section.

    Files to touch

    • README.md — insert a ## Run it section (after "What it does" or "Stack"): bun install (or make install), bun run dev serving http://localhost:3200 (note PORT / SPLITBILL_DB env overrides and that demo data is seeded on first run), and a CLI example bun run src/cli.ts groups, with balances <group-id> / export <group-id> shown (e.g. bun run src/cli.ts balances goa-trip).
    • tests/readme.test.ts — new test file.

    Tests to write first

    • tests/readme.test.ts › "README has a Run it section with bun install"
    • tests/readme.test.ts › "README dev command and URL match package.json and server default port"
    • tests/readme.test.ts › "README CLI example points at a real CLI command"

    Repo skills to apply

    none

    Risk: low

    Docs-only change plus a new test file, no schema or API-shape change and no protected path — .factory/charter.md risk tiers, low: "docs-only, test-only, or a change confined to a single non-protected module with no schema or API-shape change."

    Gate level: full

    Low risk: eligible for auto-approve if the toggle is on. Otherwise, reply
    /factory approve to proceed, or /factory revise <what to change>.

  5. added
    factory:buildingfactory-build is making the change on factory/issue-N
    and removed
    factory:planningfactory-plan is writing the plan comment
    on Oct 8, 2026
  6. Param-Harrison commented on Oct 8, 2026

    @Param-Harrison
    ContributorAuthor

    Status

    Stage: build — finished
    Progress: 3/5
    Elapsed: n/a
    Gate line: FACTORY_GATES: status=GREEN passed=3 failed=0 skipped=1 failed_gates=audit

    Added a ## Run it section to README.md (bun install, bun run dev on http://localhost:3200, the CLI's groups/balances/export commands). The 3 tests in tests/readme.test.ts failed before the change and pass after. The optional audit gate flags the existing pinned dependencies, which this change does not touch.

  7. added a commit that references this issue on Oct 8, 2026
  8. added
    factory:verifyingfactory-verifier and factory-reviewer are checking the diff
    and removed
    factory:buildingfactory-build is making the change on factory/issue-N
    on Oct 8, 2026
  9. Param-Harrison commented on Oct 8, 2026

    @Param-Harrison
    ContributorAuthor

    Verdict: pass

    Acceptance criteria evidence

    • AC-1: pass — bun test tests/readme.test.ts → "README has a Run it section with bun install" passes (3 pass, 0 fail); fails with README.md reverted to main (expect(section).not.toBe("") → Expected: not "").
    • AC-2: pass — bun test tests/readme.test.ts → "README dev command and URL match package.json and server default port" passes; fails on main's README (Expected to contain: "bun run dev", Received: ""). Reviewer confirmed package.json dev = bun run src/server.ts and src/server.ts serves on Number(process.env.PORT ?? 3200).
    • AC-3: pass — bun test tests/readme.test.ts → "README CLI example points at a real CLI command" passes (runs run(["groups"], db) on an in-memory seeded DB and finds goa-trip); fails on main's README (Expected to contain: "bun run src/cli.ts groups", Received: "").
    • AC-4: pass — runner gate at the current tree (d5a2783c, equal to HEAD^{tree}): FACTORY_GATES: status=GREEN passed=3 failed=0 skipped=1 failed_gates=audit. Re-checked here: bun test → 32 pass, 0 fail; bun x tsc --noEmit → exit 0.

    The test that bites

    tests/readme.test.ts › "README has a Run it section with bun install" (and the other two tests in the file) fail with README.md restored from main (0 pass, 3 fail, expect(section).not.toBe(expected) — Expected: not ""), and pass here
    (bun test tests/readme.test.ts → 3 pass, 0 fail, 10 expect() calls).

    Reviewer findings

    • could, confidence 3, tests/readme.test.ts:37: the test greps src/server.ts source for the literal process.env.PORT ?? 3200, so a harmless refactor (constant, spacing) would fail it. Brittle. Fix (optional): assert against a shared exported constant.
    • could, confidence 3, tests/readme.test.ts:49: only the groups command is executed; the balances goa-trip and export examples are checked as README text only. Fix (optional): also assert run(["balances","goa-trip"], db) and that export output looks like CSV.

    Neither is blocking.

    Non-goals respected

    NG-1: only README.md and tests/readme.test.ts changed; nothing under src/, public/, package.json, bun.lock or Makefile. NG-2: no protected paths, AGENTS.md or DEMO.md touched. NG-3: the README change is a pure 20-line insertion between "What it does" and "Stack"; no existing lines rewritten.

  10. added
    factory:in-reviewDraft PR open, waiting on human review and merge
    and removed
    factory:verifyingfactory-verifier and factory-reviewer are checking the diff
    on Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    docsDocumentation onlyfactory:in-reviewDraft PR open, waiting on human review and merge

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions