AI Coding Assistants
Hot ships coding-agent context because conventional language assumptions do not apply to Hot syntax or execution semantics. Install the bundled instructions before asking an AI assistant to create or change Hot code.
This guide is about coding with AI assistants. To build an AI agent as part of your product, see Agents.
Install Project Context
From the root of a Hot project:
hot ai add
This installs:
AGENTS.md— concise repository instructions and critical Hot syntax rules.skills/hot-language/— detailed language guidance, references, and examples.skills/hot-ai-agents/— agent, model, tool, memory, and AI SDK integration guidance
Project-local context is the best default. It travels with the repository and lets the team review changes to the instructions alongside the code.
Install Skills Globally
To make the bundled Hot skills available across projects:
hot ai add --global
Global skills are installed under ~/.skills/. The exact skill set can vary by
Hot release.
Inspect what is installed:
hot ai list
Refresh installed files after upgrading Hot:
hot ai update
hot ai add and hot ai update use snapshots bundled with the installed Hot
release, so they work offline and stay version-aligned with the compiler.
Install the Latest Public Skills
The public skills are also published from hot-dev/hot-skills:
npx skills add hot-dev/hot-skills
Use the bundled hot ai add path when release alignment and offline
installation matter. Use the public skills source when you intentionally want
the newest published guidance.
Give the Assistant a Clear Task
Good coding-agent requests name the workflow behavior, existing namespace, and validation command:
Use the Hot language skill for this task.
Add an event handler in ::billing that listens for invoice:overdue,
posts a Slack notification, and retries transient failures three times.
Preserve the existing event payload shape. Run hot check and the relevant
Hot tests when finished.
For agent or model integrations, also ask the assistant to use the
hot-ai-agents skill:
Use the hot-language and hot-ai-agents skills.
Add a support agent with project-specific memory and one permission-scoped
MCP tool. Follow the existing namespace and package patterns. Do not invent
package APIs; inspect the installed package docs first.
The explicit skill request is useful in tools that load skills on demand.
AGENTS.md remains passive repository context for tools that support the
standard.
Validate Generated Hot Code
AI-generated Hot code should be treated like any other code change:
hot check
hot test
When working inside this repository, use the project-specific commands in its
AGENTS.md. Some Hot repositories run tests through Cargo:
cargo run test
Review generated code for the Hot-specific mistakes that general-purpose models make most often:
- Assignment uses
name value, notname = value. - Arithmetic and comparison use functions such as
addandeq, not infix operators. - Conditional flows use
if(...),cond, ormatch, not conventionalif/elseblocks. - Ordinary function bodies are serial; only explicit parallel flows run independent bindings concurrently.
- Expected failures use
Result.Errpatterns;fail(...)is for broken invariants. - Event handlers with external side effects account for at-least-once delivery.
- Namespaced package functions are inspected rather than guessed.
The bundled language skill contains the complete rules and examples.
LLM-Readable Documentation
Hot publishes two plain-text documentation resources:
https://hot.dev/llms.txt— compact documentation index with page descriptionshttps://hot.dev/llms-full.txt— the full user documentation in navigation order
Use the compact index for tools that can retrieve individual pages. Use the full document when a tool needs a single context artifact and its context window can hold the content.
The website documentation remains the source of truth for current public behavior. Bundled skills focus on the rules and workflows a coding agent needs to make correct changes.
Keep Secrets Out of Agent Context
Do not paste production API keys, model keys, customer data, .env contents,
or private run payloads into an assistant unless the selected tool and
environment are explicitly approved for that data.
Hot code reads secrets from context variables:
api-key ::hot::ctx/get("anthropic.api.key")
For local development, put the value in .env:
ANTHROPIC_API_KEY=your-provider-key
Then map it to a Hot context key in hot/ctx.hot:
::hot::run::ctx ns
::env ::hot::env
::hot::ctx/set({
"anthropic.api.key": ::env/get("ANTHROPIC_API_KEY", "")
})
Deployed projects do not use hot/ctx.hot. Set the same context key in
Context Variables in the Hot App for the target environment or project.
Use placeholders—not real values—in prompts and examples. See Context Variables and Context Requirements.
Troubleshooting
The assistant writes conventional syntax
Confirm AGENTS.md is visible from the working directory and explicitly ask
the assistant to load the hot-language skill.
hot ai list
Instructions are from an older Hot release
Upgrade Hot, then refresh installed AI support:
hot update
hot ai update
A package API is invented
Direct the assistant to the installed Hot package docs and ask it to verify the exact namespace, function, type, and context requirements before editing code.
The skill is unavailable in a specific tool
Keep AGENTS.md in the repository and provide the relevant page from
llms.txt or llms-full.txt as context. Skill discovery differs between
coding tools, while plain repository instructions and Markdown remain widely
usable.