mirror of
https://github.com/Quad4-Software/MeshChatX.git
synced 2026-08-18 09:49:09 -04:00
8.7 KiB
8.7 KiB
Agent guidance for MeshChatX
Notes for automated agents and for people who work like agents.
This tree is not in-app user documentation. End-user docs live under docs/en/.
Start here
- overview.md for architecture, storage, security, env vars, and invariants.
- conventions/reticulum-zen.md before any mesh-facing design or code.
- conventions/ for the surface you are editing.
- A skills/ guide when the task matches that workflow.
- skills/no-ai-slop/SKILL.md before writing or editing prose (docs, UI copy, commit messages longer than a sentence).
Root AGENTS.md points here.
Editor rules (if present under .cursor/rules/):
- Always on: MeshChatX core standards and Reticulum Zen gates
- Globs: backend, frontend, Android, tests
Layout
| Path | Purpose |
|---|---|
| overview.md | Project brief and invariants |
| module-ownership.md | Domain to manager / HTTP / WS / tests map |
| conventions/reticulum-zen.md | Zen of Reticulum hard gates |
| conventions/core.md | Always-on standards |
| conventions/frontend.md | Vue UI |
| conventions/backend.md | Python / HTTP / SQLite |
| conventions/path-jail.md | Local FS APIs: jail, symlinks, tests |
| conventions/android.md | Android WebView bridge |
| conventions/tests.md | Test placement, oracles, verification |
Skills
Each skill is .agents/skills/<name>/SKILL.md with YAML frontmatter (name matches the directory).
Writing
Copied from realrossmanngroup/no_ai_slop_writing_rules. Load no-ai-slop for every prose pass. Load rossmann-voice only when the user asks for that voice.
| Skill | Use when |
|---|---|
| no-ai-slop | Writing or editing prose. Banned patterns and WRONG/RIGHT fixes. Rules: references/rules.md. |
| rossmann-voice | User asked for Louis Rossmann's voice (claim-then-proof, contractions, testable numbers). |
Reticulum
Philosophy: Zen of Reticulum. Site: reticulum.network.
| Skill | Use when |
|---|---|
| reticulum-design-gates | Mesh design review against Zen gates |
| reticulum-stack | Identities, destination hashes, aspects, announces, paths, links |
| reticulum-interfaces | Interface config, RNode/TCP/AutoInterface, medium-agnostic app code |
| rns-link-api | Generic RNS Link WebSocket / plugin transport |
| lxmf-messaging | LXMF send/receive, stamps, propagation, attachments |
| lxst-telephony | LXST calls, audio WS, telephony managers |
| rrc-relay-chat | Relay Chat hubs, rooms, +k keys, moderation |
| rns-filesync | RNS FileSync shares, announces, sync-root jail |
| nomad-pages | NomadNet browser, Mesh Server page nodes, Micron |
| privacy-mode-clearnet | Privacy mode vs outbound HTTP. Mesh traffic stays up. |
UI and wiring
| Skill | Use when |
|---|---|
| page-toast-tests | New pages, toasts, i18n, tests |
| contribution-registries | Nav, tools, commands, settings search, WS event wiring |
| vue-mega-page-split | Extract Vue mega-pages into internal/sections/helpers |
| meshchat-orchestration-split | Extract HTTP/WS from meshchat.py, multi-file scanners |
Identity and data
| Skill | Use when |
|---|---|
| identity-restore | Identity key vs database zip restore |
| identity-switch-teardown | Live identity switch without cross-identity leaks |
| database-migrations-backups | Schema bumps, backups, snapshots, restore safety |
| landlock-sqlite | Landlock + SQLite, subprocess/user-local CLI probes |
Security and plugins
| Skill | Use when |
|---|---|
| auth-csrf-ws-security | CSRF, auth, WS mutator denylist |
| path-jail-local-fs | Local file browse/upload/delete path jails |
| plugin-install-security | Plugin install, RSG, permissions, integrity |
| url-origin-allowlists | Parse URL origins. Never prefix-match http |
Platforms and boot
| Skill | Use when |
|---|---|
| deferred-network-startup | HTTP-up vs RNS-ready, status, 503s, RNS panic |
| electron-frozen-packaging | Frozen desktop spawn, loading, crash recovery |
| android-webview-bridge | Android chooser MIME, storage, WebView nav |
Verification
| Skill | Use when |
|---|---|
| test-loop | Focused verification without hung shells |
| test-oracles | Property/fuzz oracles: accept/reject, not soft fuzz |
| exploratory-testing | Adversarial exploration with hypotheses |
Product docs (users)
docs/en/architecture.mddocs/en/identity-and-security.mddocs/en/getting-started.mddocs/en/rns-link-api.mddocs/en/platform-guides/linux-sandbox.mdCONTRIBUTING.md