{"_id":"@agentbadge/scanner","_rev":"6-a47f55064a5076202659f3a4e00ea5da","name":"@agentbadge/scanner","dist-tags":{"latest":"0.3.1"},"versions":{"0.1.0":{"name":"@agentbadge/scanner","version":"0.1.0","keywords":["agent","readiness","scanner","openapi","sitemap","robots","llms-txt","ai-ready"],"author":{"name":"AgentBadge"},"license":"MIT","_id":"@agentbadge/scanner@0.1.0","maintainers":[{"name":"spread-paul","email":"spread2009@gmail.com"}],"bin":{"agentbadge-scan":"dist/cli/main.js"},"dist":{"shasum":"ea54828591f55bdebc9ee0752197254750aa4dd4","tarball":"https://registry.npmjs.org/@agentbadge/scanner/-/scanner-0.1.0.tgz","fileCount":21,"integrity":"sha512-v0jc0WxXFR2XN8pBEwUhPUs7SSZLetebVT+DhxgLpXLDti5BeQ2+LklVKa0RwMKsuFbE7P4rO4wmrqgtdxCXrA==","signatures":[{"sig":"MEUCIFN7H7zIUQOHQ2bxjLy7Vm0x31FOaK1DgqfaUlxzNNOQAiEAzQedGEW3+UStF1FH8HzEslSktwQMx6Dh/+GptdYN5LA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":653910},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"7336ace8df6e9967e5a90b9e81710bb095d0e6fe","scripts":{"dev":"bun src/cli/main.ts","test":"vitest run","build":"bun build src/cli/main.ts --outdir dist --target bun","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"spread-paul","email":"spread2009@gmail.com"},"_npmVersion":"10.9.0","description":"Agent Readiness Scanner CLI — scans websites for AI agent readiness resources","directories":{},"_nodeVersion":"23.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@types/bun":"latest"},"_npmOperationalInternal":{"tmp":"tmp/scanner_0.1.0_1786048685271_0.7331469356259444","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agentbadge/scanner","version":"0.1.1","keywords":["agent","readiness","scanner","openapi","sitemap","robots","llms-txt","ai-ready"],"author":{"name":"AgentBadge"},"license":"MIT","_id":"@agentbadge/scanner@0.1.1","maintainers":[{"name":"spread-paul","email":"spread2009@gmail.com"}],"bin":{"agentbadge-scan":"dist/main.js"},"dist":{"shasum":"d7639eeeb26a2d9266efeba6e1abfe393e777769","tarball":"https://registry.npmjs.org/@agentbadge/scanner/-/scanner-0.1.1.tgz","fileCount":21,"integrity":"sha512-Szu0TMJcRfi5y9Ck4AIvLaxTZ27RpQXF42OUhSNQ9yqoivqvMsdqDAm4hAq8Mw/jgTkJ81XD+9gW0FmwlFEvtg==","signatures":[{"sig":"MEUCIB9HFrmx7lP30uUbPMRP4HRErtmMLXXxJzfcBD92UIj6AiEAkAFSr4TS5RDl2bonBnd/fk8BxqgJeHYN7nLDoGNZ8sE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":653906},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"7336ace8df6e9967e5a90b9e81710bb095d0e6fe","scripts":{"dev":"bun src/cli/main.ts","test":"vitest run","build":"bun build src/cli/main.ts --outdir dist --target bun","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"spread-paul","email":"spread2009@gmail.com"},"_npmVersion":"10.9.0","description":"Agent Readiness Scanner CLI — scans websites for AI agent readiness resources","directories":{},"_nodeVersion":"23.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@types/bun":"latest"},"_npmOperationalInternal":{"tmp":"tmp/scanner_0.1.1_1786048731334_0.3680861719833892","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@agentbadge/scanner","version":"0.1.2","keywords":["agent","readiness","scanner","openapi","sitemap","robots","llms-txt","ai-ready"],"author":{"name":"AgentBadge"},"license":"MIT","_id":"@agentbadge/scanner@0.1.2","maintainers":[{"name":"spread-paul","email":"spread2009@gmail.com"}],"bin":{"agentbadge-scan":"dist/main.js"},"dist":{"shasum":"c77931966634f01e4b5e4d1e5d919a56352953d1","tarball":"https://registry.npmjs.org/@agentbadge/scanner/-/scanner-0.1.2.tgz","fileCount":21,"integrity":"sha512-CqMY0/dkQBGu4Fdwc2sXWtiJtpzVID2HOhD7bIITjR4OUocmhq7imEzCGgoxsc/ruv7mwZO6DCxib33VJIXr3g==","signatures":[{"sig":"MEUCIDL+d5XgoFbwvyLK0iwEme8kMiO25huPEcj1qqaSNnODAiEA8EFss9m/VuiXV/dAzlNgugI7lCBiBuCFRBdN8uDzBQo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":603448},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"7336ace8df6e9967e5a90b9e81710bb095d0e6fe","scripts":{"dev":"bun src/cli/main.ts","test":"vitest run","build":"bun build src/cli/main.ts --outfile dist/main.js --target node && sed -i '1i#!/usr/bin/env node' dist/main.js && chmod +x dist/main.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"spread-paul","email":"spread2009@gmail.com"},"_npmVersion":"10.9.0","description":"Agent Readiness Scanner CLI — scans websites for AI agent readiness resources","directories":{},"_nodeVersion":"23.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@types/bun":"latest"},"_npmOperationalInternal":{"tmp":"tmp/scanner_0.1.2_1786049649048_0.9385493172530532","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@agentbadge/scanner","version":"0.1.3","keywords":["agent","readiness","scanner","openapi","sitemap","robots","llms-txt","ai-ready"],"author":{"name":"AgentBadge"},"license":"MIT","_id":"@agentbadge/scanner@0.1.3","maintainers":[{"name":"spread-paul","email":"spread2009@gmail.com"}],"bin":{"agentbadge-scan":"dist/main.js"},"dist":{"shasum":"a3af0cc15152ba66f36019ab99e1d970cf37228d","tarball":"https://registry.npmjs.org/@agentbadge/scanner/-/scanner-0.1.3.tgz","fileCount":21,"integrity":"sha512-A/G4EECoVeYExKA80sdRAUljenFVGnM2dmF/J1QDhp2KvEiS10xzL8CO6YefsW1ulxNaegyBVxJEPc42SaeQgA==","signatures":[{"sig":"MEQCIGkMvrNZsxv2YCMBqDLEaDE+6WHcCeYss080vMBQ8O4dAiAyG4cG2HFAddk4dcJXXYw1FDB1Uh2HRqFV4hAmgveZlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605027},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"82b00b2670ff8cd2dee44c0d4ccf9dc94256afdc","scripts":{"dev":"bun src/cli/main.ts","test":"vitest run","build":"bun build src/cli/main.ts --outfile dist/main.js --target node && sed -i '1i#!/usr/bin/env node' dist/main.js && chmod +x dist/main.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"spread-paul","email":"spread2009@gmail.com"},"_npmVersion":"10.9.0","description":"Agent Readiness Scanner CLI — scans websites for AI agent readiness resources","directories":{},"_nodeVersion":"23.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@types/bun":"latest"},"_npmOperationalInternal":{"tmp":"tmp/scanner_0.1.3_1786087258548_0.44205964961802735","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@agentbadge/scanner","version":"0.4.0","keywords":["agent","readiness","scanner","openapi","sitemap","robots","llms-txt","ai-ready","mcp","webmcp","seo","aeo","accessibility","scoring","pillars","integrity"],"author":{"name":"AgentBadge"},"license":"MIT","_id":"@agentbadge/scanner@0.4.0","maintainers":[{"name":"spread-paul","email":"spread2009@gmail.com"}],"bin":{"agentbadge-scan":"dist/main.js"},"dist":{"shasum":"2fe4255c64710dd0522d2b49a743835b369f337b","tarball":"https://registry.npmjs.org/@agentbadge/scanner/-/scanner-0.4.0.tgz","fileCount":22,"integrity":"sha512-jhXgOTFfLaNCBLneRAyA/1Eg3VYuWNNwiq9y6Xp9lc+fnezXTCGIRv20kzGewtYaILaylOUPjBvR5OrCIGNIwA==","signatures":[{"sig":"MEQCIGR/s+reC5JfZVlwVkhkKGv2YvIKDPe2qkAwqTWYpd5/AiAsdAoFtOwsuBbJvGX7vP0xyQpLTJg7rc5izKgNPDmw5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8238949},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"eeac2e6b1317e684a199bc57256bad088d3fcb4e","scripts":{"dev":"bun src/cli/main.ts","test":"vitest run","build":"bun build src/cli/main.ts --outfile dist/main.js --target node && sed -i '1i#!/usr/bin/env node' dist/main.js && chmod +x dist/main.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"spread-paul","email":"spread2009@gmail.com"},"_npmVersion":"10.9.0","description":"Agent Readiness Scanner CLI — scans websites for AI agent readiness resources","directories":{},"_nodeVersion":"23.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.13.0","puppeteer-core":"^24.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@types/bun":"latest"},"optionalDependencies":{"lighthouse":"^12.0.0","chrome-launcher":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/scanner_0.4.0_1788381754620_0.7177189723626565","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@agentbadge/scanner","version":"0.3.1","description":"Agent Readiness Scanner CLI — scans websites for AI agent readiness resources","type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"agentbadge-scan":"dist/main.js"},"scripts":{"build":"bun build src/cli/main.ts --outfile dist/main.js --target node && sed -i '1i#!/usr/bin/env node' dist/main.js && chmod +x dist/main.js","dev":"bun src/cli/main.ts","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit"},"keywords":["agent","readiness","scanner","openapi","sitemap","robots","llms-txt","ai-ready","mcp","webmcp","seo","aeo","accessibility","scoring","pillars","integrity"],"author":{"name":"AgentBadge"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"vitest":"^3.0.0","@types/bun":"latest"},"dependencies":{"hono":"^4.13.0","puppeteer-core":"^24.0.0","zod":"^4.4.3"},"optionalDependencies":{"lighthouse":"^12.0.0","chrome-launcher":"^1.1.0"},"_id":"@agentbadge/scanner@0.3.1","gitHead":"eeac2e6b1317e684a199bc57256bad088d3fcb4e","_nodeVersion":"23.3.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-2d4nnrFNDtNnSRtqpww12C2tXNAt146o/pADYmCNzO/A9zzPahaaNiZp1KUq1n9ww2tbCZy4JGRVIrYYjYnMAQ==","shasum":"207932065804aaede4bb23c4f8350e51f097f848","tarball":"https://registry.npmjs.org/@agentbadge/scanner/-/scanner-0.3.1.tgz","fileCount":22,"unpackedSize":8239284,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB7f4nVUR5sl3HJFov6qrAfM/nIQBNHvdaMEVNNOvzHkAiA4GG6ehIX95tNd+yj2llWqMf3+autMl5pN/R/Vw5NBrA=="}]},"_npmUser":{"name":"spread-paul","email":"spread2009@gmail.com"},"directories":{},"maintainers":[{"name":"spread-paul","email":"spread2009@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/scanner_0.3.1_1788382013328_0.3441095444878093"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-06T20:38:05.160Z","modified":"2026-09-02T20:46:53.707Z","0.1.0":"2026-08-06T20:38:05.456Z","0.1.1":"2026-08-06T20:38:51.492Z","0.1.2":"2026-08-06T20:54:09.220Z","0.1.3":"2026-08-07T07:20:58.686Z","0.4.0":"2026-09-02T20:42:34.812Z","0.3.1":"2026-09-02T20:46:53.508Z"},"author":{"name":"AgentBadge"},"license":"MIT","keywords":["agent","readiness","scanner","openapi","sitemap","robots","llms-txt","ai-ready","mcp","webmcp","seo","aeo","accessibility","scoring","pillars","integrity"],"description":"Agent Readiness Scanner CLI — scans websites for AI agent readiness resources","maintainers":[{"name":"spread-paul","email":"spread2009@gmail.com"}],"readme":"# @agentbadge/scanner\n\n> Agent Readiness Scanner — scans websites for AI agent readiness resources, scores them across 4 pillars, and produces signed integrity reports.\n\n[![npm version](https://img.shields.io/npm/v/@agentbadge/scanner.svg)](https://www.npmjs.com/package/@agentbadge/scanner)\n[![license](https://img.shields.io/npm/l/@agentbadge/scanner.svg)](https://github.com/agentbadge/agentbadge/blob/main/packages/agent-readiness-scanner/LICENSE)\n\n## Install\n\n```bash\nnpm install @agentbadge/scanner\n# or\nbun add @agentbadge/scanner\n# or\nyarn add @agentbadge/scanner\n```\n\n## CLI Usage\n\n### scan\n\nScan a URL for agent readiness and produce a signed report.\n\n```bash\n# Basic scan\nagentbadge-scan scan https://agentbadge.xyz/\n\n# Force refetch all resources\nagentbadge-scan scan https://agentbadge.xyz/ --no-cache\n\n# Output as JSON only\nagentbadge-scan scan https://agentbadge.xyz/ --json\n\n# Output format: pretty (default), table, all, json\nagentbadge-scan scan https://agentbadge.xyz/ --format table\n\n# Custom report output path\nagentbadge-scan scan https://agentbadge.xyz/ --output ./my-report.json\n\n# Skip Ed25519 signing (dev mode)\nagentbadge-scan scan https://agentbadge.xyz/ --skip-sign\n\n# Enable anonymous telemetry (opt-in)\nagentbadge-scan scan https://agentbadge.xyz/ --telemetry\n\n# Run Lighthouse audit (requires Chrome)\nagentbadge-scan scan https://agentbadge.xyz/ --lighthouse\n\n# Generate premium PDF report (requires Chrome/Chromium)\nagentbadge-scan scan https://agentbadge.xyz/ --pdf\nagentbadge-scan scan https://agentbadge.xyz/ --pdf --pdf-output ./my-report.pdf\nagentbadge-scan scan https://agentbadge.xyz/ --pdf --chrome-path /usr/bin/chromium-browser\n\n# Limit resources to fetch\nagentbadge-scan scan https://agentbadge.xyz/ --resources robots,sitemap,openapi\n```\n\n### badge\n\nGenerate an SVG badge from a report.\n\n```bash\nagentbadge-scan badge agentbadge-report.json\nagentbadge-scan badge agentbadge-report.json --output badge.svg --label \"agent readiness\"\n```\n\n### fix\n\nGenerate fix suggestions from a report.\n\n```bash\nagentbadge-scan fix agentbadge-report.json\nagentbadge-scan fix agentbadge-report.json --dry-run\nagentbadge-scan fix agentbadge-report.json --output fix-suggestions.json\n```\n\n### verify-report\n\nVerify the integrity signature of a report.\n\n```bash\nagentbadge-scan verify-report agentbadge-report.json\n```\n\n## Programmatic Usage\n\n```ts\nimport {\n  scanDomain,\n  RuleEngine,\n  runScoringEngine,\n  assembleReport,\n  getScanResult,\n  AGENT_READINESS_RULESET,\n  RULE_DESCRIPTIONS,\n  PILLAR_DESCRIPTIONS,\n  CATEGORY_DESCRIPTIONS,\n  PILLARS,\n  CATEGORY_TO_PILLAR,\n  computeGrade,\n} from \"@agentbadge/scanner\";\n\n// Scan a domain\nconst sourceState = await scanDomain(\"https://agentbadge.xyz/\");\n\n// Run rule engine\nconst ruleResult = RuleEngine.run(sourceState);\n\n// Run scoring engine (v2-pillars model)\nconst scoreResult = runScoringEngine({\n  assertions: ruleResult.assertions,\n  rulesetManifest: AGENT_READINESS_RULESET,\n});\n\n// Assemble signed report\nconst report = assembleReport({\n  scope: { agent_id: \"my-agent\", agent_version: \"1.0.0\", endpoint_base_url: \"https://agentbadge.xyz/\" },\n  assertions: ruleResult.assertions,\n  scoreResult,\n  previousHash: null,\n  keyId: \"my-key-id\",\n});\n\n// Get structured scan result as JSON\nconst scanJson = await getScanResult(\"https://agentbadge.xyz/\", { noCache: true });\n```\n\n## Ruleset\n\n**159 rules** (AB-001 through AB-160) across **17 categories** and **4 pillars**. Ruleset version: **2.0.0**.\n\n### Categories\n\n| Category | Pillar | Description |\n|----------|--------|-------------|\n| discovery | Discovery | robots.txt, sitemap.xml, agent-guide.json |\n| machine_readable | Discovery | Structured data, JSON-LD, semantic HTML |\n| openapi | Discovery | OpenAPI spec presence and quality |\n| skills | Discovery | Agent skills, .well-known/ai-plugin.json |\n| agents_txt | Discovery | agents.txt protocol |\n| webmcp | Discovery | WebMCP server descriptor |\n| content_negotiation | Discovery | Content negotiation for AI agents |\n| seo_aeo | Discovery | SEO/AEO meta tags, OpenGraph |\n| documentation | Understandability | API docs, llms.txt, ai.txt |\n| actionability | Understandability | Actionable instructions for agents |\n| accessibility | Understandability | WCAG, screen-reader compatibility |\n| pricing | Understandability | pricing.json endpoint |\n| rate_limits | Understandability | Rate limit headers and docs |\n| bot_auth | Executability | Bot authentication mechanisms |\n| identity | Executability | Identity verification, owner proof |\n| payments | Executability | Payment protocols (L402, x402) |\n| bazaar | Executability | Marketplace listing, agent card |\n| error_semantics | Executability | Error response schemas |\n| retry_semantics | Executability | Retry headers and policies |\n| sandbox | Executability | Sandbox/test mode availability |\n| versioning | Executability | API versioning strategy |\n| verification | Verifiability | Verification mechanisms |\n| infrastructure | Verifiability | Infrastructure reliability, DNS |\n| active_probing | Verifiability | Active probing endpoints |\n| agent_policy | Verifiability | Agent policy declarations |\n\n### Pillars\n\n| Pillar | Weight | Question |\n|--------|--------|----------|\n| Discovery | 20% | Can an agent find you? |\n| Understandability | 25% | Can an agent understand you? |\n| Executability | 30% | Can an agent act on your API? |\n| Verifiability | 25% | Can an agent verify what it observed? |\n\n## Scoring\n\nThe scanner uses a **4-pillar scoring model (v2)**:\n\n1. Each category receives a score (0–100) based on assertion statuses (VERIFIED=1.0, INFERRED=0.7, CONFLICT=0.0, GAP=0.0, NOT_APPLICABLE=0.0).\n2. Category scores are grouped into pillars by `CATEGORY_TO_PILLAR` mapping.\n3. Each pillar score is the weighted average of its category scores.\n4. The overall score is the weighted average of pillar scores (weights: Discovery 20%, Understandability 25%, Executability 30%, Verifiability 25%).\n5. Floor caps apply: high-severity GAPs in discovery/documentation cap the score at 40; critical-severity GAPs cap at 30.\n6. A letter grade (A–F) is assigned based on the final score.\n\n## Rule Descriptions\n\nEvery rule has a detailed description with `rule_id`, `category`, `icon`, `title`, `short_description`, `user_value`, `wrong_example`, `right_example`, `effort_hint`, and `estimated_cost`. Access via:\n\n```ts\nimport { RULE_DESCRIPTIONS, PILLAR_DESCRIPTIONS, CATEGORY_DESCRIPTIONS } from \"@agentbadge/scanner\";\n```\n\n## Resource Fetchers\n\n48 resource fetchers scan for:\n\nrobots.txt, sitemap.xml, agent-guide.json, OpenAPI spec, llms.txt, ai.txt, agents.txt, .well-known/ai-plugin.json, WebMCP descriptor, JSON-LD, OpenGraph, semantic HTML, pricing.json, auth metadata, OAuth endpoints, L402/x402 headers, DNS AID, identity proofs, agent cards, skill files, accessibility reports, content negotiation, favicons, RSS feeds, link headers, MCP server.json, content depth, operational discovery, and more.\n\n## Output Formats\n\n- **pretty** — Human-readable terminal output with category grouping (default)\n- **table** — Compact table format\n- **json** — Machine-readable JSON to stdout\n- **all** — All formats combined\n- **PDF** — Premium PDF report (requires Chrome/Chromium)\n\n## Configuration\n\n| Option | CLI Flag | Description |\n|--------|----------|-------------|\n| No cache | `--no-cache` | Force refetch all resources |\n| Format | `--format <pretty\\|table\\|all\\|json>` | Output format |\n| Output path | `--output <path>` | Custom report file path |\n| Skip signing | `--skip-sign` | Skip Ed25519 signing (dev mode) |\n| Telemetry | `--telemetry` | Enable anonymous usage telemetry |\n| Lighthouse | `--lighthouse` | Run Lighthouse audit (requires Chrome) |\n| PDF | `--pdf` | Generate PDF report (requires Chrome) |\n| Chrome path | `--chrome-path <path>` | Path to Chrome/Chromium |\n| Resources | `--resources <list>` | Comma-separated resource filter |\n\n## Feedback & Contact\n\nHave questions, suggestions, or found a bug? We'd love to hear from you.\n\n- **Contact page**: [agentbadge.xyz/contact](https://agentbadge.xyz/contact)\n- **Email**: [support@agentbadge.xyz](mailto:support@agentbadge.xyz)\n- **Discord**: Join us via the contact page\n- **Telegram**: Reach out via the contact page\n\n## License\n\nMIT\n","readmeFilename":"README.md"}