moltbot / ui
AGENTS.md393k starsChanged 7 days agoMITView on GitHub
The Control UI and its plugin views use Solid 2 and native primitives; never add Lit or Web Awesome. Solid route modules expose renderSolid(props) from the existing lazy page import. The outlet mounts that renderer once and supplies live data, loaderPending, and presented props; loader updates must preserve page-local state. Keep page imports inside their route's component loader.
We split this AGENTS.md into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
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
- Very specific: line 5
Before writing, reviewing, or refactoring any Solid code here, read the Solid skill in full, the installed …
≈ “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
Control UI Guide
Solid
- Before writing, reviewing, or refactoring any Solid code here, read the Solid skill in full, the installed
node_modules/solid-js/CHEATSHEET.mdit points to, and the references it routes you to; for existing code, the refactor checklist. State ownership below still applies.
The Control UI and its plugin views use Solid 2 and native primitives; never add Lit or Web Awesome.
Solid route modules expose renderSolid(props) from the existing lazy page import.
The outlet mounts that renderer once and supplies live data, loaderPending, and
presented props; loader updates must preserve page-local state. Keep page
imports inside their route's component loader.
State Ownership And Async Results
- Gateway owns shared state; renderer copies = caches; views own presentation state. Reuse owning store/controller + Gateway contract for session, config, authorization decisions.
- Scope caches/requests to connection, agent, session. Before publishing: check owner + request generation; old results must not overwrite newer intent/another context.
- Optimistic updates: retain visible recovery state + reconcile with authority. Old requests must not roll back newer edits. Failed writes follow Gateway target and outcome contract, never renderer-selected fallback account/connection.
- Background updates may refresh scoped cache, never replace foreground selection/publish another context's state.
Session Roster Refresh
src/lib/sessions/session-list-query.tsowns held-window reconciliation. Lifecycle, participants, placement, patch/send/steer, run-start/settlement/capacity, title snapshots may skip list reads only with unchanged membership, lineage, pin/owner/archive facts + nondecreasing recency. Tree events: complete access-scopedancestorSessions+ anyancestorSessionRefs; references need held row's admitted content revision. Preserve each row's generation + field receipts. Certified nested rows own facts; only explicit null clearing receipts may fill omissions from envelope.- Authoritative refreshes required: unknown rows, incomplete ancestor coverage, broad/catalog changes, Gateway-owned filters, failed reads, uncertain owner-prefix boundaries. Overlapping reads recheck later row receipts against their accepted membership; covered facts merge without trailing reads. Events never create filtered membership; only complete unfiltered active-only Current Work windows may admit certified full active rows below.
- Sidebar windows may exclude certified rows below a full recency window; owned rows must also fall below the bounded owner prefix. Owner-first overflow crossing into the shared page still needs authority. The connection's decoded row cache expands matching ancestor references without advancing wire baselines; evicted or mismatched references retain authoritative refresh behavior. Involving-me members need current viewer ownership or participant receipts and explicit non-hidden state; bounded participants cannot prove non-membership or admit unseen members.
- Compact rows + bounded source attribution. Enrichment flags/global-or-unknown inclusion preserve membership when kind unchanged; dashboard filters need matching
hasBoard/boardFacereceipts. Gallery pagination extends shared managed window; load full settings from descriptors on demand. Child membership: Gateway retention owner'schildOwnerSessionKeys. Parent-only events must certify complete child window; unheld ancestors need explicit exclusion or admitted reference resolved through connection row provenance. - Cached lineage re-adoption changes presentation, not managed membership. Preserve fresh descriptor/event invalidation. Apply admitted descriptor rows immediately; incomplete ancestor coverage gets one paced coordinator refresh, never read per event.
- Unfiltered History/Current Work: apply admitted rows without list refetches. History's shared row-provenance owner retains field clocks, recap updates, clearing receipts; returned lists alone own membership.
excludeSubagentsignores key-proven child exclusions only with complete access-scoped ancestor coverage; held parents/certified references still update. Missing held parents/supplied unheld ancestors need authority; named unheld parents absent from certified coverage may be invisible. Merge live facts on refresh, never replay/coalesce History packets. Missing initial membership needs catch-up; query/connection changes reset provenance. History: forward activity clocks required; preserve omitted recap enrichment; person/search filters retain authoritative refreshes. - Current Work: coalesce only consecutive full active snapshots of one generation, retaining first receipt/latest tail. Partial events, references, terminal snapshots, other identities = FIFO barriers. Complete window below limit may admit certified active row with real session ID/kind, sampled after accepted list + generation retirement/liveness clocks; preserve Gateway cron-run exclusion. Truncated/full windows, conflicting generations, partial unknown rows, ambiguous settlement, incomplete-window removals need authority.
- Current Work: apply ancestor snapshots/references via shared reconciler; pending references retain prerequisite full-row receipts. Controller caps generation-coalesced fence records at 1,000; reconciler owns independent retirement, liveness-observation, generation-authority facts. Only retirement prunes stale returned rows. Fresh certified full rows may resolve older clocked liveness; unclocked observations/conflicting generations need list read. Query/connection changes clear records. Authoritative lists clear uncertainty + covered retirements before pending replay, preserving later retirements. Saturation blocks unseen admission until authoritative read restores bounded state.
- Healthy applied roster row traffic does not schedule a fallback list read. Activity retains its 60-second fallback for whole-query people/pulse facets.
src/lib/sessions/event-refresh-coordinator.tsowns pacing + pending/trailing invalidation: sample four-to-five-second collection window once when armed; events cannot postpone it. After automatic refresh: wait three times its duration, bounded to five–15 seconds. - Accepted local creates refresh observed list membership independently of primary reads/bootstrap. Remote create events use coordinator collection/backoff with other invalidations; the Gateway still owns owner/involvement/search filtering. Retain visibility, bootstrap admission, and queued navigation ownership.
- Explicit refresh, filter/agent changes, reconnects, foreground replacement bypass backoff + absorb pending invalidation. Recheck visibility/current intent after background admission; hidden pages retain one catch-up until visible.
Reload Performance
- Reload cost is main-thread render/reconcile triggered per Gateway message; JSON parse and transport are negligible. Measured no win or regressions (2026-10-15, Team-scale bench, quiet AWS, ≥7 interleaved pairs): socket worker/SharedWorker, delivery scheduling/chunking, batched boot RPC, V8 compile hints/chunk sizing, cached DOM shell replay. WebSocket permessage-deflate saves bytes on slow links, not render time. Retry only with new evidence.
- Cut work at its owner: memoize values read per item (
createMemo), render reused UI as components rather than helper calls, keep row identity through placement/history/live updates, check cheap state before reading layout. - Measure with
scripts/bench-control-ui-cold-load.ts(long-task and render-pass probes) over several untraced runs; single DevTools traces inflate timing. Confirm the hot function with--cpu-profilefirst; never mix profiled and unprofiled timings.
i18n Rules
- Foreign
src/i18n/locales/*.ts= stable source-owned lazy adapters; translations from canonical groupedsrc/i18n/.i18n/*.tm.jsonl. Never hand-edit translation memory, locale/fallback metadata unless targeted generated-output fix requested. - English:
src/i18n/locales/en.ts, staticen-agents.ts, lazyen-*.tsregistrars.scripts/lib/control-ui-i18n-catalog.tsowns ordered composition + raw source hashes for generation, verification, Vite; reads.catalogdata without runtime registration. Wiring owners:scripts/control-ui-i18n.ts,scripts/lib/control-ui-i18n-sync-plan.ts,ui/config/control-ui-locales.ts,ui/src/i18n/lib/{types,registry}.ts. - Standalone reader English:
src/shared/public-session-copy.ts(thepublicReadernamespace in the catalog owner above).scripts/lib/public-session-locales.mtsprojects reader-only dictionaries from canonical memory into Gateway builds; source execution and untranslated keys use English. No runtime filesystem reads or separate foreign reader catalogs. src/shared/control-ui-locale.tsowns supported locales, ordered browser-language matching, and direction for UI and public reader; UI registry owns only lazy imports.- Register lazy English synchronously at each consumer, including Settings search before page load. Keep startup/shared copy eager; preserve shared
en+ sibling namespaces. Retain empty subtree anchors when extraction changes flattened order/grouped memory aliases. Never import host catalog owner into runtime. - Source PRs: update English/adapters/wiring, run keyless
pnpm ui:i18n:baseline, commit changed raw-copy baseline. Exclude fallback/locale metadata + translation memory: CI rejects mixed diffs except canonicalrelease/YYYY.M.PATCHbranches or detected complete canonical-memory migrations. - Deterministic keyless
pnpm ui:i18n:verify: English shape, runtime wiring, raw-copy drift in lint/changed-check UI. Foreign parity: post-merge bot + strict generated-output gate. - Foreign drift: the
control-ui-locale-refreshworkflow or release prep fixes it; never translate by hand or merge generated locale output.
CSS / Template Linting
pnpm lint: Solid 2 oxlint rules onui/**/*.tsxand TypeScript helpers insrc/lib/reactive/,src/components/solid/, andsrc/test-helpers/; plain domain owners keep their own contracts. Follow the Solid idioms for split effects, tracking, and lifecycle.tools/solid-lintisolates plugin tooling dependencies; corpus:test/scripts/oxlint-solid.test.ts.pnpm lint:ui:styles(included in lint):ui/srcstylesheets viaconfig/stylelint.config.mjs. Stylelint owns error rules; oxfmt owns formatting.
Stylesheet Policy
:has()limits: stylelint'sselector-disallowed-listenforces them on raw selectors (config comments say why). Apply the same limits by hand to nested&selectors, which stylelint cannot resolve.- New-tab links/controls: pointer cursors; state-changing controls: default arrow.
- Colors: use
src/styles/base.csstokens. - Breakpoints: stylelint's allowed list owns the ladder; add a rung only in config, with a comment.
node --import ./scripts/tsx.mjs scripts/audit-control-ui-dead-css.mtsadvisory. Verify selectors before deleting; extend dynamic-stem detection, not allowlist.- Nest CSS only while rewriting section; no conversion sweeps.
- No
@layer: shared light-DOM CSS depends on import order/specificity + lazy page CSS. Reconsider only with computed-style parity across all routes on mocked dev server.
Modal Completion Actions
- Place workflow completion actions last in
<openclaw-modal-actions>, after content, status and validation errors. Inside it, order dismissive and secondary buttons (Cancel, Close, Keep, Back, Retry) first and the primary or confirming action last, so the action sits at the trailing edge; destructive confirms follow the same order. The native modal stylesheet owns right alignment, wrapping and label containment. Keep submit buttons inside their native form; no renderer or custom-element registration is needed. Caller styles own spacing, not competing alignment or mobile full-width rules. Header X/Expand and field-local controls are not completion actions. Scrollable panels respect--openclaw-modal-height-limitso the footer stays reachable. Set the intended width with--openclaw-modal-widthon the native host and let child panels fill the shell instead of imposing a wider independent width.
Gateway Coupling
- UI/Gateway ship as one install/version. Never older-Gateway method fallbacks/version-conditional UI behavior.
isGatewayMethodAdvertisedonly gates config/plugin-dependent features. - Handshake rejects Gateway-served same-origin skew. Exempt
pnpm ui:dev, customgateway.controlUi.root, cross-origin/connection-settings dialing remain unsupported for mismatch: no compat, visible failure at first missing method. Rejection at connect = separate server-owned product change.
Build Chunking
- Generated
config/control-ui-boot-modules.jsonrecords ready/new+/chatcaptures: fetched modules reachable from HTML/requested dynamic entries, static imports, dynamic imports resolving into fetched chunks. Keep route-exclusive/sharedcontrol-ui-boot-*groups separate inconfig/control-ui-chunking.ts; co-located chat-only code must stay out of New Session.entrieslists requested dynamic entries;config/control-ui-boot-preloads.tsfollows static dependencies into inert route preload templates activated by Gateway. CSS hints preload bytes without changing insertion order. - Material boot-path changes:
pnpm ui:boot-manifest:gen, thenpnpm ui:buildto verify grouped output. Generation: temporary build with measured groups disabled/inactive templates, preventing stale-capture feedback. Never hand-edit manifest.
Live Verification
- Gateway serves
dist/control-ui; source edits needpnpm ui:build. Before trusting live result: verify served/assets/index-*.jshash changed.
Visual Proof
- Large design changes: run the UI stress test.
- Mock/E2E harnesses default to
communityInvite: false; Community card scenarios opt in withcommunityInvite: true. Capture the current invitation artwork and dismissed state with synthetic content across the selected theme modes, exercising the real dismiss action for persistence proof.
Trending
Quiet since March.about the whole repository
Who's talking about moltbot/moltbot
- A Hacker News story“Clawdbot Renames to Moltbot”Hacker News · Jan 27, 2026 · 249 points
- openclaw/openclaw“Fixes cron jobs”GitHub · Jan 28, 2026 · 17 reactions
- openclaw/openclaw“[Feature]: Add Email (AgentMail) as a channel”GitHub · Jan 30, 2026 · 8 reactions
- @aellalabrys.bsky.social“Hier liegen die Sourcen. Moltbot verwendet vorwiegend TypeScript, nur einige Anpassungen sind in Swift (für …”Bluesky · Jan 28, 2026 · 6 likes
- openclaw/openclaw“feat(providers): add ANTHROPIC_BASE_URL environment variable support”GitHub · Jan 27, 2026 · 6 reactions
The biggest 5 of 54 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 54
Talked about on GitHub, the web, Bluesky and Hacker News (54 times).
On GitHub · 32
- Jan 28, 2026Fixes cron jobs — openclaw/openclaw17 reactions · 6 comments
- Jan 30, 2026[Feature]: Add Email (AgentMail) as a channel — openclaw/openclaw8 reactions · 2 comments
- Jan 27, 2026feat(providers): add ANTHROPIC_BASE_URL environment variable support — openclaw/openclaw6 reactions · 1 comment
- Jan 28, 2026[Feature]: x402 payment protocol extension — openclaw/openclaw5 reactions · 5 comments
- Jan 28, 2026feat(models): Add Kimi K2.5 support for the kimi coding plan — openclaw/openclaw3 reactions
27 more on GitHub
- Jan 31, 2026fix(docs): update MiniMax plugin URL from legacy moltbot org — openclaw/openclaw2 reactions · 1 comment
- Jan 30, 2026feat: add Dokploy deployment guide — openclaw/openclaw2 reactions · 2 comments
- Jan 30, 2026fix(slack): Convert Unicode emojis to Slack shortcodes for ack reactions — openclaw/openclaw2 reactions · 1 comment
- Jan 29, 2026首个打通了企业微信,稳定好用。 — openclaw/openclaw2 reactions
- Jan 29, 2026Fix/3038 cli name moltbot — openclaw/openclaw1 reaction · 4 comments
- Jan 29, 2026fix(subagent): fix subagent thinking override — openclaw/openclaw1 reaction · 1 comment
- Jan 29, 2026Fix: File ID Format Mismatch When Switching from Gemini to OpenAI #3702 — openclaw/openclaw1 reaction · 1 comment
- Jan 28, 2026Merge branch 'main' of https://github.com/moltbot/moltbot — openclaw/openclaw1 reaction · 1 comment
- Jan 28, 2026feat(fireworks): integrate Fireworks AI support into onboarding and a… — openclaw/openclaw1 reaction · 1 comment
- Jan 28, 2026[macOS] Telegram long-polling causes 'fetch failed' crash (Node 23) — openclaw/openclaw1 reaction · 4 comments
- Jan 28, 2026fix(slack): forward threadId in extension read action — openclaw/openclaw1 reaction · 1 comment
- Jan 27, 2026[Bug]: Wrong dependency or possible rogue package — openclaw/openclaw1 reaction · 2 comments
- Jan 27, 2026feat: add Moltbot template — Dokploy/templates1 reaction · 2 comments
- Mar 17, 2026feat(pipeline): orchestrator, parallel backfill, and URL redirect dedup fix — yya007/SkillFinder0 reactions
- Feb 4, 2026sessions_spawn ignores target agent's model config, uses caller's model instead — openclaw/openclaw0 reactions · 1 comment
- Feb 3, 2026[Security] Multiple Credential Inputs Vulnerable to Type Coercion Leading to Predictable 'undefined' Values — openclaw/openclaw0 reactions
- Jan 31, 2026refactor: rename moltbot to openclaw branding — marcusquinn/aidevops0 reactions · 9 comments
- Jan 30, 2026feat: enhance OpenAI compatibility for tool calling — openclaw/openclaw0 reactions · 17 comments
- Jan 29, 2026[Feature]: Add Cognee as optional memory provider — openclaw/openclaw0 reactions · 3 comments
- Jan 29, 2026Fix npm binary: use moltbot@beta tag to get working bin field (#3787) — Joe-Heffer/deploy-openclaw0 reactions
- Jan 29, 2026fix(telegram): preserve reasoning tags inside code blocks (#3952) — openclaw/openclaw0 reactions · 1 comment
- Jan 29, 2026Feature[https://github.com/moltbot/moltbot/issues/3694] Public WebChat route /public/chat (UI shell) — openclaw/openclaw0 reactions · 8 comments
- Jan 28, 2026Giving Access to MacOS — openclaw/openclaw0 reactions · 1 comment
- Jan 28, 2026--json option does not exist in `browser set headers` — openclaw/openclaw0 reactions · 3 comments
- Jan 27, 2026refactor: rename Clawdbot to Moltbot across repo — marcusquinn/aidevops0 reactions · 5 comments
- Jan 27, 2026feat: add Moltbot template — Dokploy/templates0 reactions · 2 comments
- Jan 26, 2026feat: adding support for Together ai provider — openclaw/openclaw0 reactions · 2 comments
On the web · 14
- Feb 20, 2026Moltbot Review: Local-First AI Agent Architecture — linkedin.com
- Feb 3, 2026Moltbot: 83 сценария использования open-source AI-агента / Хабр — habr.com
- Feb 1, 2026ClawBot(Moltbot)安装与上手:用一条命令在本地跑起个人 AI 助手(含 Dashboard/Chat)_人工智能_JavaEdge.-2048 AI社区 — devpress.csdn.net
- Jan 31, 2026In-Depth Moltbot Analysis for AI Developers — blog.promptlayer.com
- Jan 30, 2026Docker方式安装你的私人AI电脑助手Moltbot_moltbot docker-CSDN博客 — blog.csdn.net
9 more on the web
- Jan 29, 2026Moltbot (Clawdbot) : Setup Guide+ API hosting Tutorial — dev.to
- Jan 29, 2026Running Moltbot (Clawdbot) with Bifrost: Observability, Cost Control, and Multi-Model Routing — dev.to
- Jan 29, 2026Falling in and out of love with Moltbot — platformer.news
- Jan 28, 2026Self-Hosted AI Assistant: Complete Moltbot Installation Guide for Docker — dev.to
- Jan 28, 2026How Clawdbot gave me back 40 hours in minutes. — linkedin.com
- Jan 27, 2026Moltbot (Clawdbot) What it is and isn't - by Matt Taylor — mjtdev.substack.com
- Jan 27, 2026Clawdbot → Moltbot: How the Viral Self-Hosted AI Agent Actually Works (2026 Deep Dive) - A Streak of Communication — telestreak.com
- Jan 27, 2026Moltbot Review 2026: Everything You Need to Know About the… | NxCode — nxcode.io
- Jan 26, 2026Clawdbot [Moltbot/OpenClaw], или почему нужно срочно дать языковой модели контроль над вашим Mac mini / Хабр — habr.com
On Bluesky · 5
- Jan 28, 2026Hier liegen die Sourcen. Moltbot verwendet vorwiegend TypeScript, nur einige Anpassungen sind in Swift (für Apple) und Kotlin (für Android)… — @aellalabrys.bsky.social6 likes and reposts · 1 reply
- Jan 29, 2026💎 Hidden Gem! 💎 (1000+ new stars) 📦 moltbot / moltbot ⭐ 89,672 (+17,830) 🗒 TypeScript Your own personal AI assistant. Any OS. Any… — @github-trending.bsky.social5 likes and reposts · 1 reply
- Jan 29, 2026💎 Hidden Gem! 💎 (1000+ new stars) 📦 moltbot / moltbot ⭐ 89,672 (+17,830) 🗒 TypeScript Your own personal AI assistant. Any OS. Any… — @github-trending-js.bsky.social2 likes and reposts · 1 reply
- Jan 29, 2026今日のGitHubトレンド moltbot/moltbot Moltbotは、個人のデバイスで動作するAIアシスタントです。 WhatsApp、Telegram、Slackなど様々なチャネルで応答し、音声入力やCanvasの操作も可能です。… — @dailygithubtrends.bsky.social1 likes and repost
- Jan 27, 2026Clawdbot is a personal AI assistant you run on your own devices. It answers you on the channels you already use (WhatsApp, Telegram, Slack,… — @ytroncal.bsky.social1 likes and repost
On Hacker News · 3
- Jan 27, 2026Clawdbot Renames to Moltbot249 points · 227 comments
- Jan 27, 2026Clawdbot Renamed to Moltbot2 points · 1 comment
- Jan 29, 2026Moltbot: Own Personal AI Assistant1 point · 1 comment
Other versions1 project uses a version of this.
Word for word · 1
- clawdbot/clawdbot★ 393k100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
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 repository109 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- extensions/AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- test/AGENTS.mdAGENTS.md
- agent-transcriptSkill
- auto-qaSkill
- autoreviewSkill
- channel-message-flowsSkill
- clawdtributorSkill
- claw-scoreSkill
- clawsweeperSkill
- control-ui-e2eSkill
- crabboxSkill
- discord-clawdSkill
- discord-e2eSkill
- discord-user-postSkill
- discrawlSkill
- gitcrawlSkill
- graincrawlSkill
- notcrawlSkill
- openclaw-changelog-updateSkill
- openclaw-ci-limitsSkill
- openclaw-debuggingSkill
- openclaw-docker-e2e-authoringSkill
- openclaw-ghsa-maintainerSkill
- openclaw-live-updaterSkill
- openclaw-parallels-smokeSkill
- openclaw-performanceSkill
- openclaw-pr-maintainerSkill
- openclaw-qa-testingSkill
- openclaw-refactor-docsSkill
- openclaw-release-validationSkill
- openclaw-repair-sweepSkill
- openclaw-secret-scanning-maintainerSkill
- openclaw-test-heap-leaksSkill
- openclaw-testingSkill
- openclaw-test-performanceSkill
- openclaw-updateSkill
- parallels-discord-roundtripSkill
- plugin-sdk-impactSkill
- proof-videoSkill
- prototype-openclaw-tuiSkill
- pr-simplifySkill
- release-openclaw-announcementSkill
- release-openclaw-ciSkill
- release-openclaw-macSkill
- release-openclaw-maintainerSkill
- release-openclaw-plugin-testingSkill
- security-triageSkill
- slack-e2eSkill
- slacrawlSkill
- solidSkill
- tag-duplicate-prs-issuesSkill
- technical-documentationSkill
- telegram-e2e-userbotSkill
- test-auditSkill
- update-team-serverSkill
- verify-releaseSkill
- 1passwordSkill
- The first 60 shown.
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.

