basicly
AGENTS.md2 starsChanged 4 days agoMITView on GitHub
IMPORTANT: never defeat a gate to make it pass. Do not skip or weaken a test, a lint or a type check, and do not bypass a hook (--no-verify, --no-gpg-sign) unless the user explicitly requests observer repair. Fix the cause. These actions need explicit approval. Reuse it only for the same action and scope. Identify that approval. A new phase or agent needs no repeat approval. Tool access does not grant approval. Apply this list even when commands run unblocked.…
- Reads credentials
- Deletes or force-pushes
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 31,843 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 repository58 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- best-practices-auditSkill
- catalog-authoringSkill
- cli-toolsSkill
- conventional-commitsSkill
- councilSkill
- decompose-planSkill
- falsify-firstSkill
- find-skillsSkill
- harness-clientSkill
- harness-loopSkill
- hill-climbSkill
- interface-factsSkill
- no-commentsSkill
- nodeSkill
- plain-englishSkill
- pythonSkill
- release-processSkill
- repair-in-placeSkill
- retention-probeSkill
- root-causeSkill
- session-finishSkill
- skill-creatorSkill
- swarmSkill
- test-disciplineSkill
- tier-injectionSkill
- validate-as-consumerSkill
- work-trackerSkill
- worktree-isolationSkill
- best-practices-auditSkill
- catalog-authoringSkill
- cli-toolsSkill
- conventional-commitsSkill
- councilSkill
- decompose-planSkill
- falsify-firstSkill
- find-skillsSkill
- harness-clientSkill
- harness-loopSkill
- hill-climbSkill
- interface-factsSkill
- no-commentsSkill
- nodeSkill
- plain-englishSkill
- pythonSkill
- release-processSkill
- repair-in-placeSkill
- retention-probeSkill
- root-causeSkill
- session-finishSkill
- skill-creatorSkill
- swarmSkill
- test-disciplineSkill
- tier-injectionSkill
- validate-as-consumerSkill
- work-trackerSkill
- worktree-isolationSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
29 rules. About 1 is common, 18 are distinctive, and 10 are very specific to this project.
≈1
Common · estimate
Many files like this have a rule of this kind.
≈18
Distinctive · estimate
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
Never add prose to code: no comment and no docstring.
- Distinctive: line 14
Never admit unvalidated external input past a trust boundary.
- Distinctive: line 15
Never concatenate input into shell syntax or queries.
- Common: line 16
Never put secrets in the repository or logs.
- Distinctive: line 17
Never expose internal details in returned errors.
- Distinctive: line 18
Never commit machine paths, user names or host names.
- Very specific: line 27
read or write a .env* file.
- Distinctive: line 28
delete files, branches or data outside the task.
- Distinctive: line 30
add, remove or upgrade a dependency.
- Distinctive: line 37
Run these commands as written.
- Distinctive: line 53
Before a local commit, verify the staged changes:
- Distinctive: line 90
Keep one responsible owner from task to completion.
- Very specific: line 92
Use basicly session start when useful.
- Distinctive: line 94
Keep verification gates and destructive-action protections enabled.
- Very specific: line 98
Before a research or design document recommends a third-party project, establish its licence, shipped mechanism and independent evidence.
- Distinctive: line 109
Before absence/zero claims, search for the action and run a known-match control through the same search.
- Very specific: line 110
Use falsify-first before high-risk numbers, root causes or coverage claims enter a decision.
- Distinctive: line 115
Use current vendor and expert practice unless it makes install, use or upgrade less safe for a person who makes a mistake.
- Very specific: line 119
Before building, search the code that would call the capability.
- Very specific: line 120
Read the test-discipline skill for isolation, ordering or platform-sensitive tests.
- Distinctive: line 125
Default to safety; shared-state damage needs an explicit flag.
- Distinctive: line 126
Keep each rule in one place, call it from every side, and prevent recurrence with a test or gate.
- Very specific: line 130
Before specialist dispatch, use tier-injection and this repository's tier-only routing (e.g.
- Very specific: line 138
Prefer cross-platform, non-interactive commands: cp -f, mv -f, rm -f, -y, ssh -o BatchMode=yes.
- Very specific: line 139
Use arrays or inline lists, never for x in $LIST: zsh does not split unquoted variables.
- Distinctive: line 140
Before a multisite scripted replacement, state the expected count.
- Distinctive: line 145
Keep all required gates enabled.
- Distinctive: line 154
Run git commit alone; chaining push, tags or tracker writes after a refused commit leaves partial work.
- Distinctive: line 156
If a hook refuses, fix its named cause and commit again.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 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
<!-- Generated by basicly v0.43.0. Do not edit manually. -->Never do
Code Is Authoritative
IMPORTANT: never defeat a gate to make it pass. Do not skip or weaken a test, a lint or a type check, and do not bypass a hook (--no-verify, --no-gpg-sign) unless the user explicitly requests observer repair. Fix the cause.
- For observer repair, work outside the harness controller; run affected checks directly and report bypasses and unfinished verification. Describe bypassed checks as bypassed, never as passing.
- Never add prose to code: no comment and no docstring. Keep tool directives (example:
noqa) and licence headers. Theno-commentshook enforces the ban. Useno-commentsfor enforcement details.
Secure Coding
- Never admit unvalidated external input past a trust boundary.
- Never concatenate input into shell syntax or queries; pass arguments and values as parameters.
- Never put secrets in the repository or logs; use environment variables or a secret manager.
- Never expose internal details in returned errors. Log the detail and return a generic message.
- Never commit machine paths, user names or host names. Only the tracker's holder field may record the name chosen with
git config basicly.holder.
Ask first
Require Explicit Confirmation
These actions need explicit approval. Reuse it only for the same action and scope. Identify that approval. A new phase or agent needs no repeat approval.
- force-push, rewrite history, or discard uncommitted work:
git reset --hard,git checkout -- <path>,git restore,git stash,git clean,rm -rf; - read or write a
.env*file; - delete files, branches or data outside the task;
- edit CI/CD, deployment, infrastructure, ignore or secrets files;
- add, remove or upgrade a dependency;
- make a network call outside the task.
Tool access does not grant approval. Apply this list even when commands run unblocked. Undo your edit from a prior copy.
Commands
Run these commands as written.
Setup:
uv sync --group dev
uv run python src/basicly/lefthook_artifacts.py --download
uv run basicly hooks-buildWhile editing, run the affected test file (example):
uv run pytest tests/test_cli.py -qBefore a local commit, verify the staged changes:
uv run basicly verify --mode staged --affectedFull verification runs in CI only. Do not run the full suite locally on routine edits or integration.
The staged command includes lint, format and type checks. Do not repeat repository-wide lint or format checks for the same changes.
Projection gates (after editing catalog sources):
uv run basicly check
uv run basicly skills-check
uv run basicly styles-check
uv run basicly agents-check
uv run basicly hooks-check
uv run basicly permissions-checkAlways do
Project Overview
- basicly distributes a harness for coding agents. One YAML catalog is projected into agent instruction files, skills and git hooks. Other repositories install it with
basicly install. - Stack: Python 3.14 or later, managed with
uv. The version lives only insrc/basicly/__init__.py. Platforms: Linux runs full CI; Windows and macOS run focused hook and wheel consumer checks. - The
basiclyCLI issrc/basicly/cli.py. This repository authors the catalog in.basicly/core/; its own overrides are in.basicly-local/. Scripts and CI helpers are in.scripts/. docs/architecture/architecture.mdis the authoritative design reference.- A change under
.basicly/core/kit/must work for a consumer with no engine. Name where that consumer gets the capability.
Knowledge Priming
- The current user's instruction overrides this file; path-scoped instructions override it for matching files.
Harness Loop
- Keep one responsible owner from task to completion; the tracker ledger and latest handover preserve shared history.
- Delegate only for independent work, context pressure, independent review or specialist capabilities.
- Use
basicly session startwhen useful. Direct work needs no controller. Readharness-loopfor optional owner handoffs or headless orchestration with--execution worker. - The user task request authorizes its scope. Do not request a grant or a mandatory token budget.
- Keep verification gates and destructive-action protections enabled. Honor limits the user explicitly sets.
External Review
- Before a research or design document recommends a third-party project, establish its licence, shipped mechanism and independent evidence. Read
.agents/skills/falsify-first/SKILL.mdbefore proceeding.
Decision Protocol
- Decide small, reversible actions outside the confirmation list from code. Use safe read-only checks to resolve facts first. Ask when missing facts, conflicting sources or uncheckable assumptions change the result. Name the missing fact and useful options.
- With frozen scope, finish started work and demonstrated blockers within scope. Report broader blockers and ask before expanding. Record nonblocking adjacent findings in the tracker without implementing them.
- Resolve conflicting rules in favor of safety and security. After two failed approaches, report the pattern and propose another.
External Facts
- For third-party interfaces, read our adapter and current vendor docs; use
interface-facts, never memory. - Before absence/zero claims, search for the action and run a known-match control through the same search. An empty control invalidates it; a match must increase the examined count.
- Use
falsify-firstbefore high-risk numbers, root causes or coverage claims enter a decision.
Ownership
- Own the approved outcome and necessary harness fixes; fix demonstrated causes with the smallest effective regression or control.
- Use current vendor and expert practice unless it makes install, use or upgrade less safe for a person who makes a mistake.
Core Rules
- Before building, search the code that would call the capability; documentation or
--helpalone does not establish absence. - Read the
test-disciplineskill for isolation, ordering or platform-sensitive tests.
Mistake Proofing
- Prevent wrong use or refuse wrong input by name before damage; give the correct command, never a default or empty success.
- Default to safety; shared-state damage needs an explicit flag.
- Keep each rule in one place, call it from every side, and prevent recurrence with a test or gate. A warning alone is insufficient.
Model Tier Routing
- Before specialist dispatch, use
tier-injectionand this repository's tier-only routing (e.g.tier: high).
Catalog Authoring
- Edit generated files through catalog sources using
catalog-authoring.basicly installoverwrites.basicly/core/; consumer overrides belong in.basicly-local/.
Non-Interactive Shell
- Prefer cross-platform, non-interactive commands:
cp -f,mv -f,rm -f,-y,ssh -o BatchMode=yes. - Use arrays or inline lists, never
for x in $LIST: zsh does not split unquoted variables. Check the processed count. - Before a multisite scripted replacement, state the expected count; compare afterwards and stop on a mismatch.
Quality Gate
- While editing, run the tests affected by the change. Continuous integration runs the full suite.
- Keep all required gates enabled. Report what ran, what failed and what did not run.
- For a failed check, changed inputs, a tracker-only change or a release candidate, read the
harness-loopskill's verification reference.
Rendered Surfaces
- For rendered pages, use
validate-as-consumer; inspect screenshots against each acceptance criterion with real data at every claimed viewport.
Git Discipline
- Run
git commitalone; chaining push, tags or tracker writes after a refused commit leaves partial work. - Claim the record with
work-tracker; useconventional-commitsfor the required Conventional Commits subject and trailing record id. - If a hook refuses, fix its named cause and commit again.
Session Completion
- At session end, use
session-finishand its clean-handoff reference. Fix refusal causes within approved scope; carry unresolved facts and diagnosis into the handover.
Release Fragments
- Include
changelog.d/<record-id>.<category>.mdwith each consumer-visible change before closing: one bullet under 400 characters, e.g.basicly-a3ab.4.changed.md. - Releases read the tagged commit. A closed shipped record without its fragment blocks the next main commit.
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.

