ailang
AGENTS.md38 starsChanged 6 days agoApache-2.0View on GitHub
This document summarizes the key facts an agent should know while working in this repository. Review it before making changes. - Never implement without the gate for its scope. Skills live in .agents/skills/ — load the relevant skill at each step instead of improvising the process. - If you find uncommitted work with no approved plan (yours or inherited): leave it parked uncommitted, tell the user, and propose the plan. Do not continue it, and do not discard it (see…
- 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,774 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 repository85 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- docs/llms.txtllms.txt
- llms.txtllms.txt
- agent-inboxSkill
- ailang-core-triageSkill
- ailang-packagesSkill
- benchmark-managerSkill
- benchmark-runnerSkill
- builtin-developerSkill
- cli-doc-maintainerSkill
- cloud-cascade-debugSkill
- cloud-setupSkill
- codebase-organizerSkill
- collaboration-hubSkill
- coordinator-helperSkill
- design-doc-creatorSkill
- design-spec-auditorSkill
- docs-syncSkill
- eval-analyzerSkill
- eval-gap-finderSkill
- gemini-cli-helperSkill
- github-issue-triageSkill
- headless-runnerSkill
- local-model-onboardingSkill
- local-ollama-evalSkill
- mission-briefSkill
- mission-controlSkill
- mission-loop-changeSkill
- model-managerSkill
- motoko-analyzerSkill
- parser-developerSkill
- post-releaseSkill
- pr-monitorSkill
- prompt-managerSkill
- release-managerSkill
- sonarcloud-triageSkill
- sprint-evaluatorSkill
- sprint-executorSkill
- sprint-plannerSkill
- test-coverage-guardianSkill
- trace-debuggerSkill
- use-ailangSkill
- wasm-debuggerSkill
- agent-inboxSkill
- ailang-core-triageSkill
- ailang-packagesSkill
- benchmark-managerSkill
- benchmark-runnerSkill
- builtin-developerSkill
- cli-doc-maintainerSkill
- cloud-cascade-debugSkill
- cloud-setupSkill
- codebase-organizerSkill
- collaboration-hubSkill
- coordinator-helperSkill
- design-doc-creatorSkill
- design-spec-auditorSkill
- docs-syncSkill
- eval-analyzerSkill
- eval-gap-finderSkill
- The first 60 shown.
The file
We split this AGENTS.md into the rules it gives an agent
9 rules. About 0 are common, 5 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
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
- Very specific: line 8
Programming in AILANG: Use ailang prompt to get the current teaching prompt before writing or editing .ail code.
- Very specific: line 39
Use make build, make test, make fmt, and make lint for common workflows.
- Distinctive: line 58
No destructive git operations: Do not run git reset --hard, git clean -fd, or switch branches with uncommitted changes.
- Very specific: line 59
Use existing tools first: Check make targets, tools/, and CLAUDE.md workflows before adding scripts.
- Distinctive: line 60
No silent fallbacks: If config or model data is missing, return error/zero and surface it.
- Very specific: line 64
Prefer idiomatic Go style for implementation code (run gofmt or make fmt).
- Distinctive: line 65
Keep language semantics aligned with the design docs.
- Distinctive: line 66
When adding new features, ensure effect annotations, session types, and deterministic trace guarantees remain explicit.
- Distinctive: line 70
If you add subdirectories with specialized conventions, create additional AGENTS.md files there to override or extend these guidelines.
≈ “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
AILANG Repository Guidelines
This document summarizes the key facts an agent should know while working in this repository. Review it before making changes.
Start Here (Required)
- Read
CLAUDE.mdfirst — hard gate, not a suggestion. It is the operational source of truth for AILANG workflows, message handling, coordinator commands, and critical guardrails. If you catch yourself about to edit code without having read it, stop and read it now. - Session start routine (attended sessions only): Check for messages with
ailang messages list --unread, summarize any to the user, and ask what to do before acking (ailang messages ack <id>/--all). Unattended (a coordinator task or mission stage:AILANG_TASK_ID/AILANG_MISSION_STAGEis set) there is no user to ask: skip the inbox and do the task. - Programming in AILANG: Use
ailang promptto get the current teaching prompt before writing or editing.ailcode.
Work Routing (do not self-approve)
Classify every task BEFORE touching code, and pass its gate:
| Scope | Examples | Gate |
| Read-only | triage, messages, issues, analysis, reading docs | None — proceed |
| Trivial fix | typo, log line, one-line fix with obvious semantics | State the exact change, get explicit user OK, then act |
| Feature / semantics | new builtins, stdlib changes, effects/parser/types, multi-file refactors | design-doc-creator (optional: ailang design-quorum — N-reviewer verdict before approval) → user approval → sprint-planner → user says "execute sprint" → sprint-executor → sprint-evaluator |
- Never implement without the gate for its scope. Skills live in
.agents/skills/— load the relevant skill at each step instead of improvising the process. - If you find uncommitted work with no approved plan (yours or inherited): leave it parked uncommitted, tell the user, and propose the plan. Do not continue it, and do not discard it (see Critical Guardrails).
- Friction → extension doctrine (this is how the workstream self-improves): when a pi
workflow friction bites twice, you are authorized to fast-track a
.pi/extensions/fix at stated-change scale instead of re-solving it manually each session. The fix rides the binary to every user and diffuses to motoko (AILANG-native harness) and Claude Code hook ports — see M-DX-PI-HARNESS (design doc) for the doctrine and diffusion map. - Advisory text gets skipped — this has been measured. A prior session was told "Read CLAUDE.md first" in this very file, skipped it, and started implementing a feature. Assume any pointer you have not followed is a pointer you will violate; follow the gate mechanically, not from memory.
Project Overview
- Language focus: AILANG is a purely functional, effect-typed language designed as a deterministic execution substrate for AI-generated code.
- Status: The compiler, interpreter, capability/effect runtime, standard library, package tooling, coordinator, and evaluation harness are implemented and actively developed. Use
design_docs/PROGRAM.mdfor the north star anddesign_docs/v1-mission.mdfor current priorities; do not infer status from old design documents.
Repository Structure & Tooling
cmd/ailang/: Go CLI entry point.internal/: Compiler/runtime plus application and tooling packages. Respect the layer boundaries documented inARCHITECTURE.md.std/: AILANG standard library modules.examples/: Example.ailprograms.design_docs/PROGRAM.md: Program north star and routing rules.design_docs/v1-mission.md: Current v1 mission status, queue, and human decision points.- Use
make build,make test,make fmt, andmake lintfor common workflows.
Operational Commands (Quick)
- Messages:
ailang messages list --unread,ailang messages read <id>,ailang messages ack <id>,ailang messages ack --all - Coordinator:
ailang coordinator status,ailang coordinator start,ailang coordinator stop,ailang coordinator pending - Prompt:
ailang prompt --version V(seeCLAUDE.mdfor version guidance)
AILANG Coding Quickstart
- Start with the prompt:
ailang promptto get the current teaching prompt and idioms. - Browse working examples:
examples/has runnable.ailprograms. - Use the REPL:
ailang replfor quick experiments (seedocs/docs/reference/repl-commands.md). - Type-check fast:
ailang check <file>before running.
Key Design Details
- Type system: Hindley–Milner inference with row-polymorphic records and effects, capability annotations, and explicit dictionary passing.
- Runtime: The tree-walking evaluator and capability-gated effect handlers are production code. Treat
internal/types/,internal/eval/, andinternal/effects/as security- and semantics-sensitive. - Architecture: Core packages must not import dashboard packages, and dashboard packages reach compiler behavior through
internal/embed. Runmake check-boundariesfor cross-cutting changes.
Critical Guardrails (Do Not Skip)
- No destructive git operations. Do not run
git reset --hard,git clean -fd, or switch branches with uncommitted changes. Ask the user first. - Use existing tools first. Check
maketargets,tools/, andCLAUDE.mdworkflows before adding scripts. - No silent fallbacks. If config or model data is missing, return error/zero and surface it.
- Parser note: Lexer skips newlines; do not expect NEWLINE tokens.
Contribution Expectations
- Prefer idiomatic Go style for implementation code (run
gofmtormake fmt). - Keep language semantics aligned with the design docs; if behaviour diverges, document the rationale.
- When adding new features, ensure effect annotations, session types, and deterministic trace guarantees remain explicit.
- Provide or update examples/tests when extending the language.
Additional Notes
- If you add subdirectories with specialized conventions, create additional
AGENTS.mdfiles there to override or extend these guidelines.
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.

