station / src-server
AGENTS.md3 starsChanged 12 days agoApache-2.0View on GitHub
Read the module map for the affected module. Preserve public API and contract boundaries: route validation belongs at the route seam; domain behavior stays in services. Do not reach into sibling Kontour repositories. Use the Station logger seam, not new console.* calls. Add a targeted route/service test for changed behavior. Read development guidance for lifecycle and security conventions. Every new process launch must set windowsHide: true. A client (phone app, CLI, SDK plugin) can be newer than the host it…
We split this AGENTS.md into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 3
Read the module map for the affected module.
- Distinctive: line 5
Add a targeted route/service test for changed behavior.
- Very specific: line 7
Every new process launch must set windowsHide: true.
- Distinctive: line 13
Do not assume path helpers are pure string operations: Flow Agents resolves its shared artifact root through Git.
≈ “Common” is an estimate: at least 1 in 5 of the 36,368 AGENTS.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
Server scope
Read the module map for the affected module. Preserve public API and contract boundaries: route validation belongs at the route seam; domain behavior stays in services. Do not reach into sibling Kontour repositories. Use the Station logger seam, not new console.* calls.
Add a targeted route/service test for changed behavior. Read development guidance for lifecycle and security conventions.
Every new process launch must set windowsHide: true.
A client (phone app, CLI, SDK plugin) can be newer than the host it calls, and an older host answers a new path 404 just like a refused read. When you add a route a client will call, either put it behind an existing flag or add one in src-server/capabilities/station-capability-flags.ts, mirrored on StationCapabilityFlags. The client gates on it with hasCapability. When the flag is missing, it says the host can't do this and suggests updating as one remedy. If some deployment mode refuses every call to the route, withdraw the flag there in resolveStationCapabilityFlags, never in client code. Add a row for the flag in src-server/capabilities/__tests__/consumed-capability-flags.test.ts that probes the route in personal and hosted mode. The repo scan client-capability-gates.scan.test.ts beside it reads packages/sdk and src-ui syntactically and fails on a hasCapability call (direct, renamed import, or member call), an aliased hasCapability, or a literal .capabilities.<flag> read whose flag has no row. The scan also reports any member call named hasCapability, so rename an unrelated method rather than reuse that name. It does not see dynamic-key reads, a capabilities object held in a variable not named capabilities, or server-side peer clients (station-control-delegation.ts, fleet-candidate-service.ts), which read flags directly. The table suite also fails on a flag withdrawn in hosted mode without a row. You can skip the flag only when the client already treats a 404 as "not supported".
Batch repeated reads at the owning request seam, preserving user scope, corruption behavior, and freshness between requests. Verify the caller actually uses the batch; a helper-only test cannot establish request cost. Follow the test-effectiveness route for targeted mutations and diagnostic profiling, and keep browser counters separate from server/device performance claims.
Do not assume path helpers are pure string operations: Flow Agents resolves its shared artifact root through Git. Resolve that root once per listing request and reuse it for sidecar paths; avoid a persistent cwd cache that could miss worktree or authority changes.
For installed-package integrity reads, keep asynchronous callers on the yielding digest path. Coalesce callers only into a scan that starts after they arrived, and serialize physical scans of the same tree. A catalog snapshot is inert, request-local data; never reuse it as execution or mutation authority.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 28,693 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository16 other files it gives its agents.
- AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- src-desktop/AGENTS.mdAGENTS.md
- src-ui/AGENTS.mdAGENTS.md
- tests/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- scripts/CLAUDE.mdCLAUDE.md
- src-desktop/CLAUDE.mdCLAUDE.md
- src-server/CLAUDE.mdCLAUDE.md
- src-ui/CLAUDE.mdCLAUDE.md
- tests/CLAUDE.mdCLAUDE.md
- deslopSkill
- documentation-auditSkill
- security-triageSkill
- tauri-v2-buildSkill
- test-auditSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

