
Coador
io.github.automaticqa由 GitHub 帳號 automaticqa 發布v0.1.0更新於 Oct 24, 2026
Evidence-backed Android repository knowledge for humans and AI agents
概覽
為 Android 儲存庫提供在本機產生、附帶證據的知識庫,讓 AI 助理直接查詢架構、Gradle、測試與 CI 資訊,不必反覆通讀整個專案。
- 可以做什麼
- 讀取已掃描 Android 專案的總覽與九個知識層
- 依識別碼感知的詞法排序搜尋章節,並讀取單一層或章節及其原始碼證據
- 檢視建置與 Gradle 設定、模組、相依性、架構訊號以及設定與功能旗標
- 查詢測試基礎設施、UI 測試框架、畫面物件、選擇器、深層連結與 CI/CD 流程
- 透過 MCP stdio 以 kb_* 工具和 kb:// 資源存取同一份知識
- 適用情境
- 適合助理需要反覆在大型 Android 程式碼庫中工作、否則得翻閱大量檔案才能釐清模組結構、測試設定、選擇器與 CI 任務的情況。也適合希望把具確定性、可審閱的專案地圖與儲存庫一起保存的團隊。
- 執行需求
- 需要 Python 3.11 或更新版本;以 stdio 在本機執行,通常透過 uvx 從 coador 套件啟動。MCP 伺服器必須明確指定 Android 儲存庫路徑,可作為指令參數或透過 COADOR_REPO 設定,另可選用 COADOR_KB_DIR。預設掃描不需要 Android 工具鏈、LLM 或網路;選用的 Gradle 模式需要 JDK 與 Gradle wrapper。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Coador,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Coador
Give AI agents a map of your Android project before they start reading the code.
Coador scans an Android repository locally and deterministically - without an LLM - and builds a structured, evidence-backed knowledge base covering the project architecture, Gradle configuration, test infrastructure, UI selectors, CI/CD, and other high-value context.
Agents query that knowledge first, then inspect only the files required for the task.
Faster context. Less repeated discovery. Lower token usage.
Coador turns an Android repository into a local knowledge base that AI agents can query instead of repeatedly re-reading and rediscovering the entire project.
The key idea behind Coador is simple: the scanning itself does not use AI or an LLM.
Coador deterministically analyzes an Android project, extracts the information most useful for development and test automation, and stores it in a structured form: architecture signals, Gradle configuration, modules and dependencies, test infrastructure, UI selectors, deep links, CI/CD, test runners, fixtures, dependency-injection overrides, and other project-level knowledge.
As a result, an AI agent does not need to rediscover a large repository from scratch for every new task - searching for the right Gradle files, reconstructing the module structure, identifying the test framework, or figuring out how UI tests are organized.
Instead, the agent can query an already prepared knowledge base and retrieve a compact answer focused only on the part of the project it currently needs.
This reduces repeated repository discovery, lowers the amount of source code that has to enter the model context, and reduces unnecessary token consumption.
Why no AI in the scanner?
Coador deliberately separates fact extraction from AI interpretation.
The repository is scanned locally by specialized deterministic detectors. They do not generate architectural descriptions and do not try to guess how the project is designed. Coador records only signals that can be supported by source files, Gradle configuration, or repository structure.
For example, instead of claiming:
This project uses Clean Architecture.
Coador may report:
domain,data, andfeaturemodules were found, together with the observed dependencies between them.
The agent receives evidence rather than a pre-generated interpretation and can reason about that evidence itself.
Whenever possible, Coador also preserves the provenance of each finding: the source file and exact source lines, a file-level observation, or a value obtained from the configured Gradle model.
How it works
Coador scans an Android repository and builds a structured local profile of the project. The analysis covers nine main areas:
The complete catalogue currently contains 84 detectors and is generated in docs/detectors.md.
The resulting knowledge is stored locally and can be consumed both by developers and by AI tools. Developers get a CLI and human-readable Markdown views. AI agents get an MCP interface for reading the project overview, searching for information, and retrieving individual sections with supporting evidence.
Coador produces two kinds of findings. A signal reports an observed capability
and samples its evidence. An inventory retains collected values such as deep
links, exported components and literal UI test selectors. Inventories declare whether
they are complete, incomplete or unknown within their documented collection
boundary.
The default scan reads repository text and needs no Android toolchain. An optional
--gradle pass asks a trusted project's configured build for facts that static text
cannot resolve, such as variants declared by convention plugins. Every section says
whether its source is heuristic or gradle.
Practical example
Suppose an AI agent needs to add a new Android UI test.
Without Coador, the agent may first need to discover:
- where instrumentation tests are located;
- which test runner is used;
- whether a shared base test exists;
- how screen objects or robots are structured;
- whether the project uses Espresso, Kaspresso, or Compose testing;
- how authentication is handled in tests;
- which selectors already exist;
- whether test DI or fake dependencies are available;
- how the test is executed locally and in CI.
In a large repository, answering these questions can require inspecting dozens of files before the actual task even begins.
With Coador, much of that information has already been collected and structured. The agent can query only the test infrastructure, selectors, or CI configuration it needs and then open a small number of specific source files required for the implementation.
For example, connect an agent to the recorded Now in Android revision and ask:
You: How do I add and run an instrumentation UI test in this project?
Agent: Put the test beside the existing app tests under
app/src/androidTest. Follow their Hilt/Compose setup:@HiltAndroidTest,HiltAndroidRulefirst, thencreateAndroidComposeRule<MainActivity>(). The app selectsNiaTestRunner, which startsHiltTestApplication. Shared fakes replace production bindings through@TestInstallIn. CI runs the observed task./gradlew connectedDemoDebugAndroidTest. That task is a source-backed reference, not a complete Gradle task enumeration.
The answer is compact, but each claim remains connected to evidence that the agent or developer can inspect.
Local and verifiable
By default, Coador works locally. Its standard analysis does not require:
- an LLM;
- an embedding model;
- a vector database;
- an external API;
- Docker;
- uploading repository source code to an external service.
The generated project profile is deterministic: the same repository state and scan configuration are expected to produce the same structured result. This makes the knowledge base suitable for keeping alongside the project, updating it with the codebase, and reviewing its changes like any other generated project artifact.
profile.json is the machine-readable source of truth. Markdown layers are a human
projection of that profile. Exact source evidence contains repository-relative paths,
one-based ranges and a snapshot digest. File-level and Gradle-model findings use
their own provenance forms without fabricated line numbers.
Generated source-derived fields pass through shared sanitization for common secrets, but sanitization is not a guarantee that private output is safe to publish. Review a generated knowledge base before sharing it. The full trust boundary is documented in SECURITY.md.
Coador collects no telemetry from scanned projects. Its default scan does not access the network. Package installation and the explicitly requested Gradle pass have their own network and trust boundaries.
Not a replacement for source code
Coador does not try to eliminate source-code inspection by AI agents. Its purpose is to eliminate repeated broad repository discovery.
When an agent needs to modify a particular feature, it still opens the relevant production and test files. What it no longer needs to do is repeatedly reconstruct the overall architecture, test infrastructure, Gradle setup, and CI workflow from scratch.
Coador acts as a pre-built map of the project: compact, structured, local, and backed by source evidence.
The map has explicit limits:
- The default pass performs pattern matching rather than compilation. Missing heuristic evidence is not proof that a capability is absent.
- Convention plugins, generated build logic and dynamically created variants may require the optional Gradle pass.
coador scan --gradleexecutes the target build's configuration and should be used only with a trusted project.- Inventory completeness applies to the detector's documented source boundary, not to every value that could exist at runtime.
- The metadata freshness fast path cannot detect a content change whose path, size
and modification time were deliberately preserved; use
--forcein that case. - Coador complements symbol navigation, semantic search, build tools and device automation. It does not replace them.
Installation
Coador requires Python 3.11 or newer. Run version 0.1.0 without a permanent
installation through uvx:
To use the current checkout:
An editable pip installation is also supported:
CLI
The CLI exposes six commands:
Run the basic workflow from an Android repository:
Every command supports --json. Use --kb-dir to keep generated output outside the
Android checkout. Use coador scan --force when source metadata cannot be trusted.
For a trusted project with a JDK and Gradle wrapper, coador scan --gradle adds the
configured Gradle model.
By default, generated knowledge lives here:
The scanner reads Android source and build configuration without changing them. It
writes only to the selected knowledge-base directory and never edits the target
repository's .gitignore. The selected destination is excluded from scanning and
freshness fingerprints.
The .coador/ directory is designed to be committed when a team wants the project
map reviewed and available without a local rescan. Hand-written Markdown above each
layer's <!-- GENERATED:BEGIN --> marker survives refreshes.
MCP
coador mcp (also available as coador-mcp) serves one repository over MCP stdio with six kb_* tools and matching
kb:// resources. Register an explicit Android repository so the server cannot
silently follow an unrelated working directory:
Open Codex in the Android project, use /mcp to verify the server, and ask a project
question. A useful first prompt is:
How should I add an instrumentation test to this project? Identify the runner, application, observed test tasks, dependency overrides, helper or robot to extend, and useful selectors. Cite the repository evidence for each answer.
Configuration can also use COADOR_REPO and COADOR_KB_DIR. See
docs/mcp.md for trusted project-scoped configuration, paths with
spaces, multiple repositories, Claude Code and other MCP clients.
Examples
Start with the local synthetic example to explore the current profile schema without a network or Android toolchain. For the pinned Now in Android walkthrough, generate the current CLI view outside the downloaded checkout:
The relevant output distinguishes evidence from limitations:
The evidence-first onboarding recipes add walkthroughs for CI instrumentation, launch targets and selectors, and Android Test Orchestrator isolation across three pinned public repositories.
Project status
Coador 0.1.0 is the first public release (2026-09-17). The package
contains 84 detectors across nine layers, a local CLI, an MCP stdio server, optional
Gradle probing, deterministic JSON/Markdown output, evidence provenance, inventory
pagination, freshness checks and recovery from damaged generated output.
The configured CI matrix targets Linux on Python 3.11–3.13 and Windows/macOS on Python 3.12. Network and real-project Gradle checks remain opt-in.
For development:
COADOR_INTEGRATION=1 uv run pytest -m slow additionally clones pinned public
Android repositories; the Gradle case requires a suitable Android/JDK toolchain.
Contributors can start with the
starter contribution tasks. Optional public usage
feedback follows the privacy boundaries in docs/adoption.md.
License
MIT. See LICENSE.
來源:README.md,提交 5ca1f0f
工具
0版本歷史
1- v0.1.0最新Sep 18, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分