tidebreak
CLAUDE.md1 starsChanged 48 days agoApache-2.0View on GitHub
Guidance for coding agents. Humans start at CONTRIBUTING.md. Tidebreak is a Cargo workspace of Rust crates plus a Tauri desktop app whose UI is React/TypeScript under crates/tidebreak-desktop/ui. - Branch off main; PR back into main. Never commit straight to main. - Commit or push only when asked. Do not merge unless the request was to merge. - For parallel-track work, claim the GitHub issue (assignee + in-progress) before the first edit. Interactive work the user is directing here does not…
In this repository8 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs-site/AGENTS.mdAGENTS.md
- docs-site/CLAUDE.mdCLAUDE.md
- chartsSkill
- pdf-documentsSkill
- presentationsSkill
- spreadsheetsSkill
- word-documentsSkill
The file
We split this CLAUDE.md into the rules it gives an agent
8 rules. About 0 are common, 4 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 11
Commit or push only when asked.
- Very specific: line 15
Use GitHub REST (gh / gh api), not GraphQL.
- Distinctive: line 19
Add a test only if a failure would change what we do.
- Distinctive: line 21
Run a cheap relevant subset locally.
- Very specific: line 46
When adding or changing a reusable visual component or a meaningful UI state, add or update its Storybook story under …
- Very specific: line 52
Run scripts/storybook.sh while developing UI, and run pnpm --dir crates/tidebreak-desktop/ui storybook:build before publishing relevant UI …
- Very specific: line 67
Use the canonical pattern for the surface.
- Distinctive: line 71
Keep icons subordinate. Lucide icons are lightweight recognition markers, not decorative advertising.
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Working in Tidebreak
Guidance for coding agents. Humans start at CONTRIBUTING.md.
Tidebreak is a Cargo workspace of Rust crates plus a Tauri desktop app whose UI
is React/TypeScript under crates/tidebreak-desktop/ui.
Hard rules
- Branch off
main; PR back intomain. Never commit straight tomain. - Commit or push only when asked. Do not merge unless the request was to merge.
- For parallel-track work, claim the GitHub issue (assignee +
in-progress) before the first edit. Interactive work the user is directing here does not need an issue. - Use GitHub REST (
gh/gh api), not GraphQL. Shared agent sessions exhaust the GraphQL quota. - Pin every direct dependency to an exact version that already matches the lockfile. Dependabot is the upgrade path.
- Add a test only if a failure would change what we do. Prefer contracts, easy-to-reverse decisions, bug reproductions, and end-to-end behavior.
- Run a cheap relevant subset locally; let CI do the rest. A conflicting PR ran nothing — rebase before trusting green.
- Enable auto-merge (
gh pr merge <n> --squash --auto --delete-branch) so a ready PR lands when its lanes go green. - This is a public repository. No secrets, no private design docs.
GitHub tracking
Issues and milestones track
the work. Milestones are delivery buckets. Parked product ideas stay in
docs/deferred.md until a slice is buildable; do not copy
that list into issues.
- Open an issue only for a bounded outcome with an owner. Do not file per-file or per-session tasks.
- Multi-slice work uses an
epicparent. Children are the slices, not the files inside them.
Desktop UI workflow
- Read
crates/tidebreak-desktop/ui/DESIGN.mdbefore visual work. It defines the palette, type scale, status vocabulary, and the canonical patterns for settings, cards, approvals, empty states, and icons;src/stylesContract.test.tsenforces the mechanical rules, so arbitrary font sizes and raw Tailwind palette classes fail CI. - When adding or changing a reusable visual component or a meaningful UI state,
add or update its Storybook story under
crates/tidebreak-desktop/ui/src/stories/. - Show the states that matter for evaluation, including loading, empty, success, failure, and compact variants when they apply. Reuse the typed Storybook fixtures instead of duplicating ad hoc sample data.
- Run
scripts/storybook.shwhile developing UI, and runpnpm --dir crates/tidebreak-desktop/ui storybook:buildbefore publishing relevant UI changes.
Design-system approach
Tidebreak treats the design system as the product's memory, not just a component library. Tokens and primitives are necessary but not sufficient; the system must also carry the recurring judgment calls that make a screen feel like Tidebreak.
- Classify every surface before building it. The four surfaces — Orienting, Index, Bulk edit, Resource detail — decide density, interaction model, and how much chrome is allowed. A surface is not a route; a settings page can host an Index rail next to a Resource detail panel.
- Use the canonical pattern for the surface.
SettingsPanelowns the page shape.ToolCardShellowns the expandable tool row.ApprovalCardowns consent.ChatStatusChipowns activity summary. Do not invent a second answer to a question the system already settled. - Keep icons subordinate. Lucide icons are lightweight recognition markers,
not decorative advertising. Size them to the surrounding text, align them
to the primary text line, and never place them in a gray container on
high-density surfaces.
EmptyMedia variant="icon"draws no filled container at all; it is how Inbox, Folders, Outputs, Plugins, Apps, and the Code empty pages render an empty index, and it is the only icon treatment allowed on an empty surface. - Show the canonical answer in Storybook. Real product examples beat prose
principles. The
Foundations/Patternsstory shows the right way to compose settings, cards, approvals, and empty states so the next builder copies a trusted reference instead of inventing a plausible one.
Pointers
- Humans and commit/PR titles:
CONTRIBUTING.md - Issues: github.com/naingthet/tidebreak/issues
- Decisions:
docs/decisions/ - Parked scope:
docs/deferred.md - Releases:
docs/releases.md - Cross-provider replay:
docs/model-providers.md
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

