agentleFS
stacklokstacklok/mecatl/user-docs/AGENTS.md

mecatl / user-docs

AGENTS.md308 starsChanged 37 days agoApache-2.0View on GitHub

Public documentation for Mecatl lives here. Keep site infrastructure in website/; see website/AGENTS.md for Docusaurus mechanics. Before editing a page, read the repository's style guide and this authoring contract. Coding agents must use the tech-writer skill when editing user documentation. The style guide owns prose, voice, and terminology; this file owns information architecture, content ownership, links, and verification. Document what readers need but cannot reasonably infer from the interface. Omit routine navigation, self-evident actions, and instructions already shown in UI…

The file

We split this AGENTS.md into the rules it gives an agent

12 rules. About 0 are common, 6 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Before editing a page, read the repository's style guide and this authoring contract.

    line 7
  2. Distinctive:

    Document what readers need but cannot reasonably infer from the interface.

    line 13
  3. Distinctive:

    Start with the reader's task.

    line 21
  4. Very specific:

    Keep shared behavior in features/.

    line 47
  5. Distinctive:

    When adding a page that appears to overlap an existing page, identify its canonical page in the pull request description.

    line 84
  6. Very specific:

    Use front matter on every documentation page.

    line 100
  7. Very specific:

    Use sidebar_label only when a shorter sidebar label materially improves navigation.

    line 107
  8. Very specific:

    Write about current behavior in clear technical prose.

    line 121
  9. Distinctive:

    Use lowercase, hyphenated cloud-native harness except at the start of a sentence, heading, or navigation label, where Cloud-native harness …

    line 136
  10. Very specific:

    Use content-root-relative Markdown paths for links across sections, including the .md extension:

    line 143
  11. Distinctive:

    Start with the applicable implementation source:

    line 156
  12. Distinctive:

    Run these commands from the repository root:

    line 186

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

Writing Mecatl user documentation

Public documentation for Mecatl lives here. Keep site infrastructure in website/; see website/AGENTS.md for Docusaurus mechanics.

Before editing a page, read the repository's style guide and this authoring contract. Coding agents must use the tech-writer skill when editing user documentation. The style guide owns prose, voice, and terminology; this file owns information architecture, content ownership, links, and verification.

Document what readers need but cannot reasonably infer from the interface. Omit routine navigation, self-evident actions, and instructions already shown in UI hints or help. Keep non-obvious behavior, prerequisites, consequences, and limitations that affect the reader's task. A UI change does not require another walkthrough of its controls.

Find the right place

Start with the reader's task. The autogenerated sidebar follows these directories; do not create a manual sidebar to express this structure.

LocationAudience and contentExclusions
intro.mdNew readers choosing among the terminal-client, operator, and builder paths.Detailed instructions and reference material. Link to the owning section.
cloud-native-harness.mdReaders understanding Mecatl's defining architecture and how it differs from desktop harnesses.Task-oriented setup, deployment, and configuration. Link to the owning guide.
mecatui/Terminal users who need to install, start, connect, configure, or troubleshoot the mecatui client.Server deployment, server policy, and shared feature semantics. Link to the owning server or feature page.
operating/Operators deploying, securing, and maintaining mecated, mecak8s, Studio, and remote services.Client workflows, embedding APIs, and shared capability behavior. Link to the owning client, builder, or capability page.
building/go/Go builders following tutorial, concepts, embedding, extension points, and compatibility.Operator runbooks and duplicate capability explanations.
building/ci/Builders integrating one-shot agent jobs into CI.Long-running service deployment.
building/typescript-sdk/TypeScript developers connecting applications, controlling sessions and runs, or owning a local daemon.Wire-protocol reference and shared feature semantics. Link to the owning reference or feature page.
building/go/embed-engine.mdGo developers embedding the engine and supplying its runtime dependencies.Shared capability behavior and operator procedures. Link to the owning feature or operations page.
building/go/extension-points/Developers integrating with Mecatl's public seams, ports, and APIs.How to operate a supplied deployment or use an existing feature.
features/Readers understanding a capability of the shared agent and server core. The sidebar labels this section Capabilities. Each page owns shared behavior and availability.Terminal-client controls, embedding APIs, and deployment runbooks.
reference/Readers looking up generated configuration or SDK fields and exact gRPC and HTTP/SSE contracts.Tutorials, deployment workflows, and conceptual background. Link to the owning guide.

The top-level navigation follows three journeys: Use Mecatl, deploy and operate Mecatl, or build with Mecatl. features/ is the canonical capability spine rather than a fourth persona journey. Persona-specific pages briefly introduce shared behavior, then link to the capability page that owns it.

mecatui is a terminal client over an embedded or connected server, not a separate agent implementation. building/ is for application builders and embedders. operating/ is for people who own a deployed service.

Keep shared behavior in features/. Put differences among mecated, mecak8s, and embedded mecatui in operating/ and the capability matrix.

Keep one canonical page

One page owns the complete reader-facing treatment of a topic. Other pages may briefly introduce it for their audience, then link to the canonical page. A page can separately describe an embedding interface or a deployment-specific operation when that is the reader's task; it must not repeat the canonical feature guide.

TopicCanonical pageSupporting page responsibility
Installing mecatui or mecatedmecatui/installation.md and operating/mecated.mdEach guide owns its package and release-archive instructions. The shared archive-verification fragment keeps verification commands identical.
Using the terminal clientmecatui/Feature pages link to the relevant client guide rather than repeat terminal-client workflows.
Agent loop and built-in toolsfeatures/sessions/agent-loop.md and features/sessions/tools.mdEmbedding guides show the minimum wiring and link to these pages for shared behavior.
Scheduled tasksfeatures/sessions/scheduled-tasks.mdDeployment pages own scheduler flags and storage configuration.
Permissions and posturefeatures/security-and-execution/permissions-and-posture.mdbuilding/go/extension-points/permission-policy.md owns custom-policy integration.
Install and first runbuilding/go/first-agent.md and building/go/demo.mdDeployment pages cover their own prerequisites only.
mecated operationoperating/mecated.md and its workflow guidesShared semantics stay in Capabilities; complete flags belong in the generated server CLI reference.
mecak8s operation and Helm valuesoperating/mecak8s.md and its workflow guidesFeature pages describe shared behavior without restating chart values.
mecatequi and GitHub Actionsbuilding/ci/mecatequi.mdWorkflow maintainers keep implementation notes in .github/workflows/README.md.
Mecatl Studio web UIoperating/studio.mdFeature pages describe shared behavior; the Studio page owns the image, browser login, and its environment variables. The workspace's own apps/README.md covers local development modes. Keep external Studio guidance operator-focused; retain unique essential user instructions until product guidance covers them.
Provider and model selectionfeatures/sessions/choose-models.mdfeatures/sessions/model-routing.md owns aliases and task routing; operator guides own credential custody and server configuration.
Workspace trustfeatures/security-and-execution/permissions-and-posture.mdfeatures/agent-behavior/project-instructions-and-rules.md describes the project-content consequence.
Skills, commands, soul, and user modelfeatures/agent-behavior/skills-commands-and-soul.md and features/agent-behavior/memory.mdExtension-point pages document the importable interfaces.
Hooksfeatures/security-and-execution/hooks.mdbuilding/go/extension-points/hook-runner.md owns host-integration details.
Server CLI flagsreference/server-cli.mdGenerate from trusted help with task docs:server-cli; verify freshness with task docs:server-cli:check. Guides name only flags needed by their workflows.
Runtime observability and resiliencefeatures/runtime/observability-and-resilience.mdoperating/observability.md owns collection and exporter setup.
Configuration schemareference/configuration.mdoperating/settings.md explains which configuration plane to use.
gRPC APIreference/grpc-api.mdbuilding/grpc-http.md explains client integration and transport choice.
HTTP and SSE APIreference/http-sse-api.mdbuilding/grpc-http.md explains client integration and transport choice.
TypeScript SDK workflowsbuilding/typescript-sdk/first-run.md and building/typescript-sdk/Deployment and feature pages link to the SDK guide that owns the application workflow.
TypeScript SDK method referencereference/typescript-sdk-api/SDK guides link to the generated entry-point reference instead of copying signatures or option inventories.
TroubleshootingThe troubleshooting section nearest the affected workflowDo not create a second catch-all list when the owning page can provide the remedy.

When adding a page that appears to overlap an existing page, identify its canonical page in the pull request description. If the two pages need the same complete treatment, extend the canonical page instead. URL moves are separate changes and must follow the published URL policy in website/AGENTS.md.

Extend an existing page when it already answers the reader's question. Add a page only for a distinct user task or concept that has no suitable home. New section directories need an entry page and _category_.json so the autogenerated sidebar has an entry point and label. Use index.md for a new section; when splitting an existing guide into workflow pages, the category can link to that guide as its entry point. Keep its published URL and avoid adding a second overview that answers the same question.

Write a page

Use front matter on every documentation page. At minimum, provide a sentence-case title and a reader-focused description; add sidebar_position when the page's order matters. Add an explicit Markdown H1 immediately after the front matter that matches title. Docusaurus uses the explicit H1 in the rendered page and uses title for page metadata, while the H1 keeps the file readable on GitHub.

Use sidebar_label only when a shorter sidebar label materially improves navigation. It changes the autogenerated sidebar label without changing the page title or H1.

---
title: Page title
description: State the reader outcome or topic in one sentence.
sidebar_position: 1
---

# Page title

Write about current behavior in clear technical prose. Keep roadmap discussion explicitly separated in cloud-native-harness.md; public task guides and reference must describe delivered surfaces. Contributor qualification commands and test receipts belong in the owning internal documentation. Preserve verified operator limitations when trimming that material.

Use sentence-case headings, descriptive links, and examples that help readers complete a task. Style Mecatl as a proper noun, and write the component and binary names mecatui, mecated, and mecak8s in code font. For deeper guidance, see Diataxis and the Google developer documentation style guide.

End a tutorial or task-oriented guide with ## Next steps when readers have a clear next action. Reference, explanation, index, and narrow troubleshooting pages do not need that section.

Terminology

Use lowercase, hyphenated cloud-native harness except at the start of a sentence, heading, or navigation label, where Cloud-native harness follows ordinary sentence case. Use cloud-native for ordinary adjectives, such as "cloud-native deployment" or "cloud-native workload." Use cloud-native agent harness as a generic description. Do not use "cloud-native kit" in public documentation.

Use content-root-relative Markdown paths for links across sections, including the .md extension:

[Run mecated standalone](/operating/mecated.md)

For a sibling in the same directory, use a relative .md path. Do not use a /docs/ prefix. The link rules and their Docusaurus rationale live in website/AGENTS.md.

Verify behavior

Start with the applicable implementation source:

  • docs/architecture/*.md for subsystem behavior
  • contracts/proto/ for gRPC messages and services
  • command flag registration, configuration schemas, handlers, and adapters for deployed behavior

Generated reference pages are exceptions to direct editing:

  • For reference/server-cli.md, change flag registration/help or scripts/server-cli-reference.py, then run task docs:server-cli. Never edit the generated output by hand.
  • For reference/configuration.md, change the configuration schema or generator, then run task docs:configref.
  • For reference/typescript-sdk-api/core.md, node.md, and deno.md, change the TSDoc in sdk/typescript/src/ or the SDK documentation generator, then run task sdk:docs. Use task sdk:docs:check to verify that the committed output is current without changing it.

Confirm availability and defaults against the shipped public surface: flags or configuration, composition, capability advertisement, handlers, and deployed adapters. A port, proto, or constructor alone does not prove that a feature ships. Do not write from AGENTS.md or CLAUDE.md directly. They are internal contracts with implementation detail, not user documentation.

For a feature page, lead with the outcome, then cover prerequisites, a short happy-path example, configuration or permissions, and relevant deployment limits. Report uncertainty when the available evidence does not establish a claim.

Preview and check

Run these commands from the repository root:

task site:dev    # preview at http://localhost:3001
task site:build  # production build and broken-link check
task site:format # prettier normalization pass (optional, not CI-enforced)

task site:build is required for a documentation change. It fails on broken links. task site:format is optional prose/list/table normalization; nothing in CI checks formatting. It skips the generated reference pages listed above (user-docs/.prettierignore) so it never fights their own generators. Do not put working plans, authoring ledgers, or internal implementation queues in user-docs/; keep them in issues or pull request descriptions.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.