{"title":"Amber Docs Assistant","description":"Create a documentation-grounded custom GPT and use Amber pages with ChatGPT, Claude, or Gemini","section":"guides","version":"v2","path":"guides/ai-assistants","canonical_url":"https://amberframework.org/docs/v2/guides/ai-assistants","markdown_url":"https://amberframework.org/docs/v2/guides/ai-assistants.md","inherited":false,"content_markdown":"# Amber Docs Assistant\n\nEvery V2 documentation page has a plain-Markdown source and one-click handoffs\nfor ChatGPT, Claude, and Gemini. For repeat use, you can also create a custom\nGPT whose knowledge is the complete published Amber V2 documentation.\n\nThe assistant is a reading and teaching layer. The documentation remains the\nsource of truth, and platform support claims still come from the published beta\nmatrix and its linked CI evidence.\n\nFor tools that support remote MCP servers, use the live, read-only\n[Amber documentation MCP server](mcp.md). It searches the published V2 source\nwithout requiring a knowledge-file refresh.\n\n## Download the knowledge file\n\n**Reference download: save this generated Markdown file before opening the GPT\nbuilder.**\n\n<a href=\"/docs/v2/knowledge.md\" download>Download the Amber V2 documentation knowledge bundle</a>\n\nThe bundle combines every page currently published under `/docs/v2`, including\ninherited maintenance references, and gives each section its canonical page\nURL. It is text-forward so the GPT can retrieve code and prose without\ninterpreting a visual layout.\n\nDownload a fresh copy after a documentation release. A custom GPT does not\nautomatically replace a knowledge file when this website changes.\n\nThe Custom GPT workflow below uses a knowledge upload because GPT knowledge and\nremote MCP configuration are different product surfaces. Do not paste the MCP\nendpoint into the Knowledge field.\n\n## Create the custom GPT\n\nCustom GPT creation happens in ChatGPT's web editor and depends on your plan\nand workspace permissions. Open [Explore GPTs](https://chatgpt.com/gpts), choose\n**Create**, and use the configuration view. OpenAI's current\n[creating and editing GPTs guide](https://help.openai.com/en/articles/8554397-creating-a-gpt)\ndocuments access, knowledge uploads, Preview testing, sharing, and version\nhistory.\n\nUse these public fields:\n\n| Field | Recommended value |\n|---|---|\n| Name | Amber Framework Guide |\n| Description | Build and understand Amber V2 applications with answers grounded in the published documentation. |\n| Knowledge | Upload the downloaded `amber-v2-docs.md` file. |\n\nKnowledge supplies source material; instructions define behavior. Keep those\nresponsibilities separate.\n\n## Where the examples go\n\n- Paste the **GPT instructions** block into the Custom GPT editor's\n  **Instructions** field. It is assistant configuration, not an Amber project\n  file.\n- Add each line in **Conversation starters** as its own starter in the same GPT\n  configuration screen.\n- Upload `amber-v2-docs.md` under **Knowledge**. Do not place it in an Amber\n  application's source tree.\n\n**GPT instructions: paste this complete Markdown into the Instructions field.**\n\n```markdown\n# Role\nYou are the Amber Framework Guide for Amber V2 beta users.\n\n# Source contract\n- Ground Amber answers in the uploaded Amber V2 documentation.\n- Cite the canonical Amber documentation page named in the relevant bundle section.\n- Distinguish release-gated web core, supported output, and preview ecosystem material.\n- Prefer V2-authored guidance when an inherited Amber 1.4.1 reference conflicts with V2.\n- Never invent a command, generator flag, package version, platform guarantee, benchmark, or file path.\n\n# Teaching contract\n- For every code example, name the exact file to create or edit.\n- For every command, name the directory where it runs.\n- Explain whether a snippet is a complete file, a replacement block, or an addition inside existing code.\n- Use Crystal, ECR, YAML, CSS, JavaScript, or terminal labels accurately.\n- Prefer the dependency-free web template unless the user deliberately chooses a preview integration.\n\n# Build workflow\nWhen a user wants to learn Amber through an app:\n1. Start with the Build a Pet Tracker guide.\n2. Keep HTML in ECR views, representation choice in controllers, routes in config/routes.cr, styles in app/assets/stylesheets, and browser modules in app/assets/javascript.\n3. End with crystal spec, a native crystal build, and the exact URL or curl request that proves the feature.\n\n# Uncertainty\nIf the uploaded documentation does not establish an answer, say what is unknown and link the closest canonical page. Do not convert an assumption into beta support language.\n```\n\n## Add useful conversation starters\n\n**GPT configuration: add these as separate Conversation starters.**\n\n```text\nBuild the Pet Tracker with me, one verified file at a time.\nShow me where HTML, JSON, CSS, and JavaScript belong in an Amber V2 app.\nCheck whether a generator or platform is release-gated before I depend on it.\nExplain this Amber error and cite the guide that supports your answer.\n```\n\n## Test before sharing\n\nUse the GPT editor's Preview with questions that require retrieval rather than\ngeneral Crystal knowledge:\n\n1. Ask it to start the Pet Tracker. It should name the parent directory for\n   `amber new pet_tracker` and then `src/models/pet.cr`.\n2. Ask for both HTML and JSON from one action. It should use `respond_with` and\n   name `src/controllers/pets_controller.cr`.\n3. Ask whether persistence and native generation are in the clean web compile\n   guarantee. It should say they are preview surfaces.\n4. Ask where CSS and JavaScript go. It should keep them local under `public/`\n   and preserve the generated import map.\n\nIf an answer omits a file location, weakens the beta boundary, or cannot cite a\ncanonical page, tighten the instructions before adding capabilities. Web search\nis optional; it is not a replacement for the uploaded release documentation.\n\n## Use one page with any assistant\n\nThe buttons above each documentation page create a prompt containing that\npage's public raw-Markdown URL. Use them when one page is enough. Copy as\nMarkdown remains the reliable fallback when an assistant does not accept a\nprefilled prompt or the site is running only on localhost.\n\nThe page-level source contract is:\n\n**Reference URL pattern:**\n\n```text\nhttps://amberframework.org/docs/v2/PAGE_PATH.md\n```\n\nFor example, the Pet Tracker source is\n`https://amberframework.org/docs/v2/guides/pet-tracker.md`. Add `.json` instead\nwhen the assistant or script needs title, description, version, canonical URL,\ninheritance state, and Markdown content in one structured object."}