Borrowing it
Nothing to install: this file belongs to wheregmis/threadlane. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/wheregmis/threadlane/main/AGENTS.mdgit clone --depth 1 https://github.com/wheregmis/threadlaneWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/wheregmis/threadlane/agents-md)<a href="https://agentmods.dev/instructions/wheregmis/threadlane/agents-md"><img src="https://agentmods.dev/badge/instructions/wheregmis/threadlane/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/wheregmis/threadlane/agents-md"><img src="https://agentmods.dev/badge/instructions/wheregmis/threadlane/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.24152 | $0.24152 |
| Opus 5.5 | $0.09661 | $0.09661 |
| Sonnet 5.5 | $0.04830 | $0.04830 |
| Haiku 4.5 | $0.02415 | $0.02415 |
Grade A, and why
threadlane AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 380 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
Guidance for coding agents working in the Threadlane repository.
Scope
This file applies to the entire repository.
Threadlane is a Rust workspace centered on a native GPUI desktop application (crates/threadlane-gpui). Keep changes focused, preserve the existing visual language, and prefer established project patterns over introducing new frameworks or dependencies.
Repository Map
crates/threadlane-gpui/— GPUI desktop application binary shell (main.rs+ empty lib): window setup, logging,--dump-config, and composition of thethreadlane-ui-*crates. Holds no product code; add new UI to a focused leaf crate instead.crates/threadlane-ui-workspace/— window root (WorkspaceView): composes chat, sidebar, panels, terminal, settings, and GitHub over oneAppState; owns global keybindings and background event pumps. Terminal tabs/menus, toolbar, unavailable state, and the bottom split usethreadlane-ui-kit; this host retains project groups, PTYs, selection handoff and shell-identity close guards.crates/threadlane-ui-kit/— controlled agent UI components shared by desktop and iOS: conversation, composer, reasoning/tool disclosures, decisions, session navigation, and result surfaces. Replacesthreadlane-ui-session; extend this kit before adding another presentation path.examples/previewruns the shared saved-session workspace and a Components gallery on native GPUI and WASM (trunk servefrom that folder).--import-session <jsonl>reads canonical durable history into ignoredsession.local.json; previews never modify the original session. Agents profile/status/header/activity presentation (including the shared chat tool disclosures), sidebar/workspace/composer atoms, environment and Git menu presentation, token-efficiency rows, context-meter primitives, and tool output renderers belong in the kit; host services and file guards remain in feature crates. Composer@file picker presentation, caret-query parsing, matching, insertion formatting, and scoped bindings live inthreadlane-ui-kit::file_completion; the desktop host retains asynchronous inventory/existence services and must recheck composer identity, checkout, picker generation, and dismissal after a probe yields. Preview imports capture a read-only Git file inventory and never probe the browser host filesystem. Responsive workspace geometry, compact right-panel focus, sidebar controls and split restoration live in the kit and are reused by desktop and native/WASM preview. Agent worktree controls and Discard confirmation also live in the kit; native hosts retain guarded daemon/Git operations, and preview imports capture read-only branch diffs and availability. Shared font registration lives in the theme crate. Serializable token-efficiency report types live inthreadlane-protocol::efficiency; the read-only journal projector stays in the runtime harness.crates/threadlane-ui-theme/— shared GPUI visual language: theme registry wiring, design tokens (WINDOW_CONTROLS_CLEARANCE,overlay_scrim()), bundledthemes/threadlane.json, and vendoredassets/icons/. Depends only on GPUI/kit plusthreadlane-projectfor the global dir; every screen crate uses it, never the reverse.crates/threadlane-daemon/— headless, GPUI-free service core a future daemon process wraps: session discovery/projection, chat turn services (chat: prompt execution, titles, ACP config), the agent-event adapter, background services (provider_auth,settings,updater), worktree setup, the automation application service, thenext_event_batchstream helper, and the picker-facing model catalog (catalog: provider inventory, live discovery caches, effort metadata — the four*_and_updaterefresh wrappers that needEntity<AppState>live inthreadlane-ui-settings, which the workspace shell imports directly), and the read-only conversation-text scan (conversation_search).threadlane-ui-statere-exports all of it for compatibility.crates/threadlane-ui-sidebar/— project/session sidebar plus the shared keybindableBeginNewTaskaction (owned here because the sidebar's buttons dispatch it; the workspace shell imports the type for its cmd-N binding). ItsSnoozedgroup is presentation-only and local-only: snooze records live in.threadlane/session_snooze.jsonper workdir (written throughthreadlane_ui_state::SessionSnoozeWriter) and only reorder history rows — they never schedule, stop, or delay an agent, touch a worktree, acknowledge a result, or reach the daemon. Reconciliation (AppState::reconcile_session_snoozesplus the sidebar's single deadline task) decides visibility; expired/invalid records fail open. Complete session cards, action menus, snoozed/empty history presentation, and archive/remove dialog surfaces live inthreadlane-ui-kit; this host retains history filtering/cache/virtualization, canonical snooze mapping, and guarded service callbacks. Archive icons preserve the existing direct archive for ordinary checkouts and confirmation for worktrees; menu archive/remove always use confirmation.crates/threadlane-ui-state/— durable desktop UI state, GPUI-free:AppState, app intent (actions/controller), and UI-only types (workspace page, composer/insert requests, GitHub tab). Session services moved tothreadlane-daemonand are re-exported here (chat,discovery,projection,automation,provider_auth,settings,updater,worktree_setup,agent_events,catalog, session/projection types) so existingthreadlane_ui_state::*paths keep working; file watching lives inthreadlane-project::watcher.crates/threadlane-ui-terminal/— self-contained PTY terminal view (TerminalView::new(PathBuf, cx)): portable-pty session, frame-budgeted parsing, and GPUI rendering. Depends onthreadlane-ui-kitfor shared terminal chrome, ANSI grid presentation, measured geometry, selection helpers, find/link presentation and keybindings, output menus/status/live-output controls, with noAppStateor service-crate dependency; the workspace screen constructs it directly. Search workers, frame/URL validation and PTY lifecycle stay here.crates/threadlane-ui-chat/— chat surface (ChatListView,CentralTab, composer/transcript/trajectory/context-meter): depends onthreadlane-ui-state,threadlane-daemon(model catalog),threadlane-ui-theme, plusthreadlane-ui-editorandthreadlane-ui-mirrorwhich it embeds.crates/threadlane-ui-editor/— file editor view (EditorView,SaveFileaction); depends only onthreadlane-ui-state(+rfd,tracing).crates/threadlane-ui-mirror/— computer-use live mirror (MirrorViewoverthreadlane-protocol::liveframes); depends only onthreadlane-ui-state. NOTE: never useuse super::*in#[cfg(test)]modules of GPUI-heavy crates — the glob pulls gpui macros into test scope andcargo check --testshangs in macro expansion (needsrecursion_limit >= 2048, and even that hangs). Explicit test imports compile in ~2s at the default limit. Hit in ui-mirror and ui-workspace.crates/threadlane-ui-settings/— settings screen plus the model-catalog*_and_updaterefresh wrappers (they needEntity<AppState>, so they cannot live in GPUI-freethreadlane-daemon).crates/threadlane-ui-github/— GitHub issues/PRs/diffs/review timelines;view::initregisters its actions.crates/threadlane-ui-right-panel/— git review, draft PRs, embedded browser (macOSgpui-wryview, stub elsewhere), and file surfaces.retain_review_selectionis specified bytests.rs; keep them in sync.crates/threadlane-runtime/— agent execution engine, harness V2 durability, provider routing, compaction, and turn driver. Depends onthreadlane-provider, never the reverse.crates/threadlane-coding-agent/— coding-agent engine:CodingAgentruntime, durableharness, subagents, scheduler, mailbox, capabilities,controller(SessionController; also home of theSessionRuntimealias,runtime_status_text,spawn_session_runtime_construction, and thetest-supportprovider-injection helper consumed by the GPUI crates),config_dump, theacp_stub_agenttest fixture plus engine integrationtests/, and the session-owned adapters it is built from (commands,computer,credentials,mcp). Thethreadlane-gpuibinary callsconfig_dumpand ownsprocess_environmentdirectly. There is no separatethreadlane-sessioncrate; UI crates importthreadlane_coding_agent::controllerdirectly.crates/threadlane-acp-engine/— external-agent turn engine (AcpEngine::run_turn,generate_title), theAgentEventbridge, the workspace-scopedsession_workspace_client(single sharedthreadlane-toolspath guard), and the ACP agentpresetsregistry. Deps:threadlane-acp,-runtime,-permission,-tools,-projectonly; the coding-agent crate consumes it, never the reverse.crates/threadlane-provider/— dependency-free provider layer: payload translation (convert), model registry, shared Tokio reactor (exec), and per-backend clients. Takes credentials as arguments/traits, never reads a credential store.crates/threadlane-protocol/— shared contract types: wire shapes plus the model-visible message cluster (messages:AgentMessage,AgentToolDefinition,ReasoningEffort, …), user-interaction contracts (interaction:PermissionRequest/PermissionScope,QuestionRequest/QuestionAnswer, …), and the GPUI-free transcript helpers (transcript: row building, literalfind_conversation_messages/matching_excerpt/next_find_match, prompt landmarks) shared by the UI transcript and the daemon conversation scan.crates/threadlane-tools/— tool implementations and capability support.crates/threadlane-auth/— authentication helpers.crates/threadlane-computer/— native computer-use tools (macOS window listing, screenshots, input) behind theComputerApprovaltrait; the coding-agent engine implements approval with its permission manager.crates/threadlane-git/— git repository integration and PR review feedback (forge types, actionable-feedback extraction, tracking store, auto-address prompts). Agent-owned PR lifecycle instructions are shared fromthreadlane-prompt::git_workflow; native Git sessions expose credential-awaregithub_properations throughgithub::agent. Keep read-only versus mutating tool-policy classification synchronized when adding actions; never turn local-only tasks or reply drafts into publication/merge authorization.crates/threadlane-updater/— signed update checks, downloads, installation, and relaunch.crates/threadlane-wasi/— WASI extension runner.extensions/— WASI extensions built forwasm32-wasip1.scripts/build_extensions.sh— builds and deploys bundled extensions, agents, and prompts into.threadlane/.packaging/,.github/workflows/, and package metadata — release and platform packaging.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago Changed · +61 tokens per session d543ca90ce3c
- 22d ago Changed · +40 tokens per session 01bbca8fba33
- 24d ago Changed · +1 lines · +162 tokens per session ba87ae06ce61
- 25d ago Changed · +1 lines · +304 tokens per session e5c1b7bd9f81
- 27d ago Changed · +1 lines · +246 tokens per session 6f627350e166
- 28d ago Changed · +8 lines · +555 tokens per session be4c053c3d45
- 29d ago Changed · +2 lines · +170 tokens per session 71d50e680cbc
- 1mo ago Changed · +6 lines · +1,162 tokens per session ae65e7316d44
- 1mo ago Changed · +19 lines · +2,659 tokens per session 3d76052420bc
- 1mo ago First seen · 342 lines · 18,793 tokens per session scan A 9b3e5b809518
threadlane AGENTS.md is an instructions file published in the GitHub repository wheregmis/threadlane (24 stars, last pushed 2d ago), licensed MIT. It adds 24,152 tokens to every session, about $0.0966 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
threadlane AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| threadlane AGENTS.mdwheregmis/threadlane | Instructions file | 24 | 2d ago | MIT | A | 24,152 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | today | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |