{"_id":"@inite/visibility","_rev":"5-dba790d92de02fa2d392923afab75aa0","name":"@inite/visibility","dist-tags":{"latest":"1.3.0"},"versions":{"1.1.0":{"name":"@inite/visibility","version":"1.1.0","keywords":["mcp","modelcontextprotocol","aeo","ai-visibility","llms-txt","seo"],"author":{"url":"https://inite.ai","name":"INITE"},"license":"MIT","_id":"@inite/visibility@1.1.0","maintainers":[{"name":"mikefluff","email":"mf@mikefluff.com"}],"homepage":"https://inite.ai/en/analyze","bugs":{"url":"https://github.com/inite-ai/inite-visibility/issues"},"bin":{"inite-visibility":"dist/bin.js"},"dist":{"shasum":"3f4aee1c3f0a066035163abf0a535c14b4ea6068","tarball":"https://registry.npmjs.org/@inite/visibility/-/visibility-1.1.0.tgz","fileCount":11,"integrity":"sha512-2XRj7+ucrPiVohSr5CkFnn+LUD51TDNEfo4w/lzvJ4Xb9oN5NJ/ejoYbUT7qcobQRxnEcYjQDfvbIPEgZ8Ir4w==","signatures":[{"sig":"MEUCIQCiC8U5xLVcl6/RDm+36npjd6Ay58DUukLCWri1B0Jc3wIgQN0EN3FNFsAv/63Ts3DZM8a7UuzMjY+x4njVpuugzQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45115},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"0bfa8813e60c1e8c16d58fd885075539cf4c14e3","scripts":{"test":"node --test test/*.test.js","build":"tsc","prepare":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefluff","email":"mf@mikefluff.com"},"repository":{"url":"git+https://github.com/inite-ai/inite-visibility.git","type":"git"},"_npmVersion":"11.13.0","description":"MCP server for the INITE AI visibility audit — see how ChatGPT, Claude, Gemini and Perplexity read a website, from inside your agent.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/visibility_1.1.0_1788663196468_0.8550864083427347","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@inite/visibility","version":"1.1.1","keywords":["mcp","modelcontextprotocol","aeo","ai-visibility","llms-txt","seo"],"author":{"url":"https://inite.ai","name":"INITE"},"license":"MIT","_id":"@inite/visibility@1.1.1","maintainers":[{"name":"mikefluff","email":"mf@mikefluff.com"}],"homepage":"https://inite.ai/en/analyze","bugs":{"url":"https://github.com/inite-ai/inite-visibility/issues"},"bin":{"inite-visibility":"dist/bin.js"},"dist":{"shasum":"94e747a25c15c67275e33195b0bf542e89edf05c","tarball":"https://registry.npmjs.org/@inite/visibility/-/visibility-1.1.1.tgz","fileCount":11,"integrity":"sha512-YU5CsHWtlETaQ9TzuYIid2yaFLa40dFZkFZlhJ6dLO5R2VZUwEbY201DkoRgKQMJPZUcKNkrtCZ0dOPL1LI0Mw==","signatures":[{"sig":"MEUCIQCFO8ik2xer6W7ZRtIVJvva7RYBRXQVnA9/AXBmSeX26wIgBniQm1hg9LWgKxbS6eUu+1BIAdPoGCUgoa1/wKZuiao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC8v8/2eKpRvyjn6x9cy4AkrcnX+lp5J5Ju86PVceiriQIhAO7n5JHdDjo13AriS4EY5BN6cotMBGpDArgHyKh0imrT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45940},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"131467c9a41e8d7bb25542156bba853191b366da","mcpName":"io.github.inite-ai/inite-visibility","scripts":{"test":"node --test test/*.test.js","build":"tsc","prepare":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefluff","email":"mf@mikefluff.com"},"repository":{"url":"git+https://github.com/inite-ai/inite-visibility.git","type":"git"},"_npmVersion":"11.13.0","description":"MCP server for the INITE AI visibility audit — see how ChatGPT, Claude, Gemini and Perplexity read a website, from inside your agent.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/visibility_1.1.1_1788666429714_0.19433891057670438","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@inite/visibility","version":"1.1.2","keywords":["mcp","modelcontextprotocol","aeo","ai-visibility","llms-txt","seo"],"author":{"url":"https://inite.ai","name":"INITE"},"license":"MIT","_id":"@inite/visibility@1.1.2","maintainers":[{"name":"mikefluff","email":"mf@mikefluff.com"}],"homepage":"https://inite.ai/en/analyze","bugs":{"url":"https://github.com/inite-ai/inite-visibility/issues"},"bin":{"inite-visibility":"dist/bin.js"},"dist":{"shasum":"cf4ce833d2ec8c7f7547e8120952c6e40d7cf69a","tarball":"https://registry.npmjs.org/@inite/visibility/-/visibility-1.1.2.tgz","fileCount":11,"integrity":"sha512-scS9Tjh1GmgVbGF9Yr2zNgb6VWopoVcIDah6jvygbfogge6AKBZ4GDEXHOBnn1VWJNsQnEbAIS5gR5jDn8eXaw==","signatures":[{"sig":"MEQCIBUWv7/MaseUDWqSiMjpLxGebaU/v+aYcn3beD+/ensLAiAmhg5cezTr7Gd1/l626tuLWGmKut97T8RzaaPwckpLrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFffKImo1+rYY3MdbCVfyR+iFwi8xx3rJ6JypBu3lHMXAiEA/uXGw7chRccE2BOK5PEf+V9f1uUH+G2jbOEO59VbW1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46349},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"79624dfc862e5ef19cf964d7ba9ef0c540e2a6ff","mcpName":"ai.inite/inite-visibility","scripts":{"test":"node --test test/*.test.js","build":"tsc","prepare":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefluff","email":"mf@mikefluff.com"},"repository":{"url":"git+https://github.com/inite-ai/inite-visibility.git","type":"git"},"_npmVersion":"11.13.0","description":"MCP server for the INITE AI visibility audit — see how ChatGPT, Claude, Gemini and Perplexity read a website, from inside your agent.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/visibility_1.1.2_1788669016972_0.2863868573047288","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@inite/visibility","version":"1.2.0","keywords":["mcp","modelcontextprotocol","aeo","ai-visibility","llms-txt","seo"],"author":{"url":"https://inite.ai","name":"INITE"},"license":"MIT","_id":"@inite/visibility@1.2.0","maintainers":[{"name":"mikefluff","email":"mf@mikefluff.com"}],"homepage":"https://inite.ai/en/analyze","bugs":{"url":"https://github.com/inite-ai/inite-visibility/issues"},"bin":{"inite-visibility":"dist/bin.js"},"dist":{"shasum":"c0e8895a46fa35ee913e0c63b03815fc289a15da","tarball":"https://registry.npmjs.org/@inite/visibility/-/visibility-1.2.0.tgz","fileCount":11,"integrity":"sha512-rwzrTghEql9Ql8lkARS+QjXuNrIPVgrEbyWvz2urRnMc0L2q/ZAeCUHYJ5VQJ8SNeNa9xQZf13YPkQbzepi2LA==","signatures":[{"sig":"MEYCIQDFskg75HXSD+WjATMsf4bgZzSmI5hlCnD2ePXy8g/P9AIhALc4LWgSezXVpmnPN65VrVO1i8SwUKlxuaOg8RcGVT9A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICceMvU0RJbLKGb5hhS7FEr69bsvbAvDpPYkXZ0/RAQ9AiEAj61g2ENuaMFxiFKBWDS16i64KBfTuQRWz8vUP81gOG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@inite%2fvisibility@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":58649},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"797e754362f249c048eceac4db366485cebcb023","mcpName":"ai.inite/inite-visibility","scripts":{"test":"node --test test/*.test.js","build":"tsc","prepare":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefluff","email":"mf@mikefluff.com"},"repository":{"url":"git+https://github.com/inite-ai/inite-visibility.git","type":"git"},"_npmVersion":"10.9.9","description":"MCP server for INITE - the portal, the AI visibility analyzer and the Atlas of AI tools, from inside your agent. Works without an account; signing in adds the full audit.","directories":{},"_nodeVersion":"22.23.3","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/visibility_1.2.0_1792453450945_0.9537128576594047","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"_id":"@inite/visibility@1.3.0","bin":{"inite-visibility":"dist/bin.js"},"bugs":{"url":"https://github.com/inite-ai/inite-visibility/issues"},"dist":{"shasum":"9a0393714eb834e9ca71c805f291c2ab79e13065","tarball":"https://registry.npmjs.org/@inite/visibility/-/visibility-1.3.0.tgz","fileCount":11,"integrity":"sha512-0U7AKFPwCMdbhsrMliqrm+F3w7+FiU4b/y2IB0UYqBtvUJ5AQhRxklpf4xmBtXgTZH7dtAp5M4WNh1wX92dmHA==","signatures":[{"sig":"MEYCIQD7HREHoS/w6AiVENuJMu2n1SH4oDLOPmC582e7V+dpBgIhAOLOCnqLovWrO/od8sHH754pXE7nf/b39ZM21G/ElIsK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFlW7FvyXHBckpMCb5g1waJAg4znSsgdfU3GjdcCQ2BMAiArUCHFXh2hFrxnbJPAEPiDZlPMFjh2X8+LlijfoUi6Ug=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@inite%2fvisibility@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60636},"main":"dist/index.js","name":"@inite/visibility","type":"module","types":"./dist/index.d.ts","author":{"url":"https://inite.ai","name":"INITE"},"engines":{"node":">=20"},"gitHead":"72d44eaf6f7f21c212ab2243f4a77c7dac9da14a","license":"MIT","mcpName":"ai.inite/inite-visibility","scripts":{"test":"node --test test/*.test.js","build":"tsc","prepare":"npm run build","prepublishOnly":"npm run build"},"version":"1.3.0","_npmUser":{"name":"mikefluff","email":"mf@mikefluff.com"},"homepage":"https://inite.ai/en/analyze","keywords":["mcp","modelcontextprotocol","aeo","ai-visibility","llms-txt","seo"],"repository":{"url":"git+https://github.com/inite-ai/inite-visibility.git","type":"git"},"_npmVersion":"10.9.9","description":"MCP server for INITE - the portal, the AI visibility analyzer and the Atlas of AI tools, from inside your agent. Works without an account; signing in adds the full audit.","directories":{},"maintainers":[{"name":"mikefluff","email":"mf@mikefluff.com"}],"_nodeVersion":"22.23.3","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/visibility_1.3.0_1792457012761_0.315817008784149"}}},"time":{"created":"2026-09-06T02:53:16.293Z","modified":"2026-10-20T00:43:33.186Z","1.1.0":"2026-09-06T02:53:16.608Z","1.1.1":"2026-09-06T03:47:09.788Z","1.1.2":"2026-09-06T04:30:17.049Z","1.2.0":"2026-10-19T23:44:11.211Z","1.3.0":"2026-10-20T00:43:32.849Z"},"bugs":{"url":"https://github.com/inite-ai/inite-visibility/issues"},"author":{"url":"https://inite.ai","name":"INITE"},"license":"MIT","homepage":"https://inite.ai/en/analyze","keywords":["mcp","modelcontextprotocol","aeo","ai-visibility","llms-txt","seo"],"repository":{"url":"git+https://github.com/inite-ai/inite-visibility.git","type":"git"},"description":"MCP server for INITE - the portal, the AI visibility analyzer and the Atlas of AI tools, from inside your agent. Works without an account; signing in adds the full audit.","maintainers":[{"name":"mikefluff","email":"mf@mikefluff.com"}],"readme":"# INITE MCP — AI visibility, from inside your agent\n\nAsk your assistant whether the answer engines can see a website, and get a\nnumber back.\n\n```\n> Can ChatGPT actually find stripe.com, or is it invisible?\n\n  analyze_site(url: \"stripe.com\")   → run_id: cm4x…\n  get_analysis(run_id: \"cm4x…\")     → Score: 78/100\n```\n\nThe audit reads a live site the way an assistant does — the identity files an\nengine looks for (`llms.txt`, `ai.json` and the rest), the crawler policy, the\nschema graph, page health — and then asks Claude, ChatGPT, Gemini and\nPerplexity whether they name it. One score out of 100 across eight weighted\nsections.\n\nIt is the same audit that runs at [inite.ai/en/analyze](https://inite.ai/en/analyze).\n\n## Works before you sign in\n\nThree of the tools run entirely on your machine — a `robots.txt` fetched, a\nfile probed for, a page parsed. No account, no allowance, no call home.\n\n```\n> Is anything blocking AI crawlers on stripe.com?\n\n  check_ai_access(url: \"stripe.com\")\n\n  Retrieval: all 7 answer-engine crawlers may fetch the site.\n  Training:  3 of 8 blocked — Meta-ExternalAgent, Bytespider, Amazonbot.\n```\n\nThe rest is inite.ai's AI visibility server, and it answers signed out too, as\na guest: `check_identity`, the fix plan (`visibility_fixes`), a competitor read\nthe same way (`compare_sites`), how the reading moved (`visibility_history`),\nand `analyze_site` as the survey - the audit without its two paid steps, two a\nday per address.\n\n```\n> What should firecrawl.dev fix first so ChatGPT can use it?\n\n  visibility_fixes(url: \"firecrawl.dev\")\n\n  1. [critical] No structured data on the site (about +3.5 points)\n     Do: Add Organization (and WebSite) JSON-LD to every page.\n  2. [high] 7 retrieval crawlers are blocked on …\n```\n\nVisibility and nothing else. INITE's services and booking are\n[`ai.inite/inite`](https://registry.modelcontextprotocol.io/v0.1/servers?search=ai.inite/inite),\nthe catalogue of AI tools is [`ai.inite/atlas`](https://inite.ai/en/atlas).\n\nSigning in makes the calls your account's: its tier of the audit (the teaser on\na free plan, the whole audit on a paid one) and your audits: `my_reports`, and\nthe fix plan and history built from them.\n\n## Install\n\n**Claude Desktop, Cursor, or any client that launches a stdio server:**\n\n```json\n{\n  \"mcpServers\": {\n    \"inite\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@inite/visibility\"]\n    }\n  }\n}\n```\n\nThen sign in once:\n\n```sh\nnpx @inite/visibility login\n```\n\nThat opens a browser, you approve, and the token is stored at\n`~/.config/inite/mcp.json` with owner-only permissions. Authorization code with\nPKCE over a loopback redirect, the flow RFC 8252 prescribes for a native app.\nNothing is written to the repository and no secret ships in the package.\n\n**Already have a token** (CI, a shared config, a container):\n\n```json\n{\n  \"mcpServers\": {\n    \"inite\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@inite/visibility\"],\n      \"env\": { \"INITE_TOKEN\": \"…\" }\n    }\n  }\n}\n```\n\n`INITE_TOKEN` wins over the stored file.\n\n**Client speaks remote MCP?** Skip this package. Point it straight at\n`https://inite.ai/api/mcp/analyzer`: every open tool answers without a token,\nand a member tool answers `401` with `WWW-Authenticate` naming\n[the protected-resource metadata](https://inite.ai/.well-known/oauth-protected-resource/api/mcp/analyzer),\nwhich names the authorization server.\n\n## Tools\n\n**Local — no account:**\n\n| tool | what it does |\n|---|---|\n| `check_ai_access(url)` | Which AI crawlers `robots.txt` lets in, separating the ones that fetch a page to answer a live question from the ones that only collect training data. Blocking the first kind is what makes a site invisible; blocking the second costs nothing. |\n| `check_identity_files(url)` | Which of the ten identity files exist — `llms.txt`, `ai.json`, `identity.json` and the rest. |\n| `check_page_signals(url)` | Title, description, canonical, hreflang, and the Schema.org types in the page's JSON-LD. |\n\n**Remote — open without an account, more with one:**\n\n| tool | what it does |\n|---|---|\n| `check_identity(url)` | Free and instant: which answer-engine crawlers get in, the identity files, structured data, an identity score out of 100 and what that reading says to fix. No model asked. |\n| `visibility_fixes(url)` | The fix plan, most important first: what to change, why, how many points it should recover, the pages it applies to, and a paste-ready file when there is one. Signed in, built from your latest audit of the site. |\n| `compare_sites(url, other)` | Your site and a competitor's, read the same way, side by side, and who is ahead on each count. |\n| `visibility_history(url)` | How the reading moved: the INITE Atlas's weekly readings for a site it carries, and your own audits. |\n| `analyze_site(url)` | Starts the audit that also asks the answer engines whether they name the site, and returns a `run_id`. A survey without an account, the teaser on a free plan, the whole audit on a paid one. |\n| `get_analysis(run_id)` | Progress while it runs; the score out of 100 and what to fix first once it finishes. |\n| `my_reports()` | Signed in: your audits, newest first. |\n\nTwo tools rather than one for the audit, because it is asynchronous. A single\ntool that blocked for a minute would be torn down by most clients' timeouts.\n\n## Commands\n\n```\ninite-visibility            run as an MCP server over stdio (what a client does)\ninite-visibility login      sign in through the browser\ninite-visibility whoami     say whether a usable token is present\n```\n\n## What this package is\n\nTwo halves.\n\nThe local checks are real work done here: fetching, parsing, and the robots\nrules applied properly — most-specific group wins, longest matching rule wins,\n`Allow` breaks a tie. They cost nobody anything because your machine does them.\n\nThe remote half defines no schemas of its own. It asks `inite.ai` what it\noffers and forwards calls there, so that tool list is whatever the service\nimplements today. A local copy would be a second source of truth, and the first\nthing it would do is drift.\n\nWhat stays on the server is what costs something or is ours: four answer\nengines asked whether they name a site, and the weights that turn everything\ninto one number. The local tools report facts; `analyze_site` reports a score.\n\n## Account and allowance\n\nWithout an account every open tool answers, under a per-address allowance: the\nidentity check, the fix plan, the comparison and the history, and the audit as\na survey, two a day. An account makes the audit its plan's own, exactly as on\nthe website: the teaser on a free plan, the full pipeline - four answer engines\nasked - on a paid one. [Plans are here](https://inite.ai/en/pricing).\n\n## Environment\n\n| variable | meaning |\n|---|---|\n| `INITE_TOKEN` | Use this token instead of the stored one. |\n| `INITE_MCP_URL` | Point at a different endpoint. Default `https://inite.ai/api/mcp/analyzer`. |\n| `INITE_TOKEN_FILE` | Where the token lives. Default `~/.config/inite/mcp.json`. |\n| `INITE_AUTH_URL` | Authorization server. Default `https://auth-api.inite.ai`. |\n\n## Namespace\n\nPublished to the MCP registry as `ai.inite/inite-visibility`, a namespace held\nby proving control of `inite.ai` — the public half of the key is served at\n[/.well-known/mcp-registry-auth](https://inite.ai/.well-known/mcp-registry-auth).\n\nNamed by the domain rather than the code host on purpose: a service whose whole\njob is being legible to machines should tell them who it belongs to in its own\nname.\n\n## A note on the command name\n\n`npx @inite/visibility` resolves because there is exactly one binary in the\npackage. npm looks for a command matching the package name with the scope\nstripped — `visibility` — does not find it, and runs the only one there is.\n\nThe binary is called `inite-visibility` rather than `visibility` on purpose: a\nscoped package has no business claiming a word that general in your `PATH` on\na global install. The cost is that a second binary would break the line above\nfor every client, so a test pins it at one.\n\nIf you are invoking it from a directory that contains this package's own\n`package.json`, npm prefers the local copy and finds no linked command. Name it\nexplicitly there:\n\n```sh\nnpx -p @inite/visibility inite-visibility login\n```\n\n## Development\n\n```sh\nnpm install\nnpm run build\nnpm test\n```\n\nThe tests cover what the bridge can get wrong without saying so: dropping the\ncredential, turning \"signed out\" into \"broken\", swallowing an error into a\nsuccess, and letting a stale file beat the environment.\n\n## Contribute with an AI agent\n\n[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/inite-ai/inite-visibility)\n\nYou don't need to be an engineer. Open the repo in your coding agent and say\n`/contribute` (Claude Code) — or \"read AGENTS.md and help me add …\" in any\nother agent. [AGENTS.md](AGENTS.md) holds the rules, the commands CI runs and\nthe idea → PR loop; [CONTRIBUTING.md](CONTRIBUTING.md) is the short version.\nOnly want to suggest something? `/spec-idea`, or the\n[Product idea](https://github.com/inite-ai/inite-visibility/issues/new?template=product-idea.yml)\nform.\n\n## Licence\n\nMIT. The service it talks to is [INITE](https://inite.ai).\n","readmeFilename":"README.md"}