Codync
免费开源的 1:1 Grok Bot 与 Muse 替代方案。可在 iPhone、Mac 或 Linux 桌面上将 Claude 代码、Codex、Cursor 以及 40 多个编码代理作为持久机器人使用。支持群组聊天、线程、应用。
AI 翻译
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Agent Readiness Scanner & Flight Simulator for developer products.
Analyze whether AI coding agents (Cursor, Claude Code, Copilot, …) can discover, parse, and complete integration journeys against your docs ecosystem — then get a versioned Agent Readiness Score (ARS 3.0) and test your APIs inside the Autonomous Flight Simulator.
skills/ agent skillllms.txt, OpenAPI, MCP, sitemap.xml, auth.md, ard.json, robots.txtskip/na and excluded, never passed by assumptiontools/list, schema and annotation inspection, error-channel canary, and a read-only call only on tools annotated readOnlyHint: true#data=) at /simulate; not part of the ARS score/api/mcp supporting JSON-RPC 2.0 and Server-Sent Events (SSE)All three surfaces score with the same engine: the ARS 3.x probes in src/lib/scanner/v2/probes (wrapped by runScan for the web app and MCP). The engine is published as @glintbase/scanner-core, which the CLI depends on. The same URL gets the same score on each; they differ only in how results are delivered.
| Web — scan.glintbase.dev | CLI — @glintbase/cli | MCP — @glintbase/mcp | |
|---|---|---|---|
| Best for | One-click hosted scan, sharing, leaderboard | Local runs + CI gates | Driving from inside a coding agent |
| Setup | None (hosted) | npm i -g, optional init wizard | Zero-config — no .env, no keys |
| Scoring | ARS 3.x probes (runScan) | ARS 3.x probes (runArs3Probes from @glintbase/scanner-core) | ARS 3.x probes (score_readiness calls runScan) |
| Extra tools | Flight Simulator (/simulate) | audit (URL or local codebase), check, ci, mcp lint, fix, simulate | Diagnostic crawl / graph / journey tools (not part of the score) |
| Output | Interactive UI, saved report, badge | Terminal + JSON/Markdown, exit codes | Structured JSON per tool |
| Persistence | Supabase (history, leaderboard) | Local files | In-memory session (+ file cache) |
The ARS 3.x engine is deterministic HTTP probing; it does not crawl pages or run an LLM.
npm install
cp .env.local.example .env.local
# Optional: FIRECRAWL_API_KEY, Supabase, Upstash Redis
npm run dev
Open http://localhost:3000.
npm install
npm run glintscan -- https://docs.example.com
npm run glintscan -- https://docs.example.com --json
npm run glintscan -- https://docs.example.com --markdown --fail-under 70
npm run glintscan -- --score-version
Or after install: npx glintscan <url> (via bin/glintscan.mjs).
| Exit code | Meaning |
|---|---|
| 0 | Success |
| 1 | Scan failed |
| 2 | Invalid URL / SSRF blocked |
| 3 | Score below --fail-under |
@glintbase/mcp)Zero-config scanner tools for AI coding agents. No API keys, no .env — the agent reasons over results using its own subscription.
Claude Code (.mcp.json):
{
"mcpServers": {
"glintbase": {
"command": "npx",
"args": ["-y", "@glintbase/mcp"]
}
}
}
Cursor / Windsurf (Settings → MCP):
{
"glintbase": {
"command": "npx",
"args": ["-y", "@glintbase/mcp"]
}
}
Local dev:
cd mcp && npm install && npm run dev
Optional: Firecrawl for better content extraction
The MCP works zero-config with raw HTML parsing, but for JS-heavy docs sites (Vercel, Next.js, etc.), a Firecrawl API key significantly improves content extraction and journey pass rates:
{
"mcpServers": {
"glintbase": {
"command": "npx",
"args": ["-y", "@glintbase/mcp"],
"env": {
"FIRECRAWL_API_KEY": "fc-your-key-here"
}
}
}
}
Free tier at firecrawl.dev includes 500 credits/month. Firecrawl only affects the diagnostic crawl_pages / build_knowledge_graph / run_journeys tools; score_readiness uses the same probe engine as scan.glintbase.dev and does not crawl.
Even without a Firecrawl key, the deep_crawl tool recovers most JS-rendered content by extracting the framework payloads embedded in the HTML (Next.js __NEXT_DATA__, App Router RSC flight chunks, JSON-LD, <noscript>). Prefer it over crawl_pages for SPA/Next.js docs sites.
| Tool | Description |
|---|---|
discover_surfaces | Find all machine-readable entrypoints (llms.txt, OpenAPI, MCP, docs, …) |
check_reachability | Quick single-URL reachability + soft-404 detection |
parse_spec | Parse OpenAPI / llms.txt / MCP configs without crawling |
crawl_pages | Budgeted crawl with priority queue (quick/deep profiles) |
deep_crawl | In-depth crawl that recovers JS-rendered content (Next.js __NEXT_DATA__, App Router RSC, JSON-LD, <noscript>, main-content) with no API key |
build_knowledge_graph | Semantic graph from crawled pages |
run_journeys | Deterministic agent journey simulations (no LLM) |
score_readiness | ARS 3.x score from the same probe engine as the web app and CLI |
get_remediation | Prioritized fixes with templates and expected score impact |
User: "Scan docs.stripe.com for agent readiness"
Agent: calls discover_surfaces → score_readiness → get_remediation
Agent: "Score: 82/100 (AI-Friendly). Top fix: add llms.txt with quickstart links."
@glintbase/cli)The Glintbase CLI lives in its own repository: athertech/glintbase-cli
(npm). From 3.3.0 it scores with @glintbase/scanner-core,
so a CLI audit and a scan on scan.glintbase.dev use the same ARS 3.3 rules.
npx @glintbase/cli audit https://docs.example.com # ARS 3.3 audit
npx @glintbase/cli audit https://docs.example.com --fail-under 70
npx @glintbase/cli mcp lint https://api.example.com/api/mcp # MCP server lint
See the CLI README for local codebase audits, CI gates and the bundled MCP server.
@glintbase/scanner-core)The engine is published as @glintbase/scanner-core (built from core/, which bundles
src/lib/scanner with tsup; no runtime dependencies):
import { runArs3Probes, runScan, formatScanMarkdown } from '@glintbase/scanner-core';
const scorecard = await runArs3Probes('https://docs.example.com');
console.log(scorecard.score, scorecard.version, scorecard.evidence); // e.g. 74, ars-3.3.1
const result = await runScan(
{ url: 'https://docs.example.com', options: { profile: 'quick' } },
{ onProgress: (e) => console.error(e) }
);
console.log(result.score, result.score_version); // e.g. 74, ars-3.3.1
console.log(formatScanMarkdown(result));
runScan has no Next.js or Supabase dependency. Inside this repo you can also import it directly from ./src/lib/scanner/core.
See .env.local.example.
| Variable | Required | Purpose |
|---|---|---|
FIRECRAWL_API_KEY | No | Cleaner markdown scrape |
NEXT_PUBLIC_SUPABASE_* / SUPABASE_SERVICE_ROLE_KEY | No | Persist scans / leaderboard |
UPSTASH_REDIS_* | Prod recommended | Distributed rate limits |
ALLOW_HTTP | No | Allow http:// targets (dev) |
SCAN_MAX_PAGES / SCAN_MAX_DURATION_MS | No | Crawl budgets |
PATHFINDER_BEAM_WIDTH | No | Beam search (default 1 = greedy) |
Apply DB schema updates from migration.sql in Supabase SQL editor when using persistence.
Defined once in src/lib/scanner/shared/scoreBand.ts; bands are groups of grades, so they always agree.
| Score | Grade | Band |
|---|---|---|
| 95–100 | A+ | Agent-Native |
| 86–94 | A | Agent-Native |
| 70–85 | B | AI-Friendly |
| 48–69 | C | AI-Capable |
| 28–47 | D | Legacy |
| 0–27 | F | Legacy |
See ARCHITECTURE.md for the pipeline diagram and module map.
Target URL → URL policy → Discover surfaces → ARS 3.x probes (discovery · access · usability · payments) → Score + remediations
npm test
npm run typecheck
npm run lint
GitHub Actions (.github/workflows/ci.yml) runs typecheck, tests, lint and a production build for the web app, and typecheck, tests and build for the CLI and MCP packages, on every push and PR to main. Unit tests run with network access blocked (test/blockNetwork.ts); set ALLOW_NETWORK_TESTS=1 to allow it locally.
See CONTRIBUTING.md. Spec-driven: update docs/specs/* when changing behavior.
See SECURITY.md. Report vulnerabilities privately — not as public score disputes.
Built by Glintbase · Infrastructure for AI-agent-ready repositories