CLI commands, Python SDK, and MCP server.
All commands accept --json for machine-readable output.
Compile knowledge sources into a portable .atlas bundle.
atlas compile [--out <path>] [--json] <source.md> [source.yaml ...]
| Argument | Description |
|---|---|
| source.md | Markdown knowledge file (required) |
| source.yaml | Optional decision tree YAML file(s) |
| --out | Output bundle path (default: <name>.atlas) |
| --json | JSON output |
Search a compiled bundle for knowledge matching a query.
atlas solve [--bundle <path>] [--json] <query>
| Argument | Description |
|---|---|
| query | Free-text search query |
| --bundle | Path to .atlas bundle |
| --json | JSON output |
Walk a decision tree to reach a deterministic recommendation.
atlas decide [--bundle <path>] [--json] <query> [-c <key=val> ...]
| Argument | Description |
|---|---|
| query | Query string (matched against tree tags) |
| -c | Context key=value pairs for branch conditions |
| --bundle | Path to .atlas bundle |
| --json | JSON output |
Verify bundle integrity — all edges reference valid nodes.
atlas verify [--bundle <path>] [--artifact <id>] [--policy <name>] [--json]
Download and install a package from the registry.
atlas install [-n <org>] [--json] <package.md ...>
Search the public registry for knowledge packages.
atlas search [--json] <query>
Publish a package to the registry.
atlas publish [--json] <path.md>
Dump a compiled bundle's contents as JSON.
atlas dump [--json] <bundle>
Scaffold a new knowledge package.
atlas init [--template <name>] <name>
Ask an LLM to reason over a bundle's knowledge (requires Ollama or a compatible model endpoint).
atlas reason [--bundle <path>] [--model <name>] [--json] <query>
| Function | Description |
|---|---|
solve(bundle, query, timeout=None) -> SolveResult | Search knowledge bundle |
decide(bundle, query, context=None, timeout=None) -> DecideResult | None | Walk decision tree |
verify(bundle, artifact=None, timeout=None) -> VerificationReport | Verify bundle integrity |
compile(sources, out=None, timeout=None) -> dict | Compile knowledge sources |
install(sources, name=None, timeout=None) -> list[dict] | Install packages from registry |
load(source, timeout=None) -> dict | Compile and load in one step |
reason(bundle, query, model=None, timeout=None) -> str | LLM-based reasoning |
| Class | Fields |
|---|---|
SolveResult | query, bundle, confidence, total_matches, nodes: list[Node] |
DecideResult | tree_id, path, rationale, recommendations: list[Recommendation], agent_instructions |
Node | id, name, kind, description, version, confidence |
Recommendation | node_id, confidence |
VerificationReport | passed, checks: list[VerificationCheck] |
VerificationCheck | name, passed, message, severity |
The Agent class wraps the full registry-to-query pipeline:
from atlas_sdk import Agent
# From registry packages
agent = Agent("my-agent", packages=["flutter_core", "riverpod"])
# Or from local sources
agent = Agent("local", sources=["my_package.md", "decisions.yaml"])
# Discover packages by keyword
packages = agent.discover("form validation", limit=5)
# Solve
result = agent.solve("How do I validate a form?")
# Decide
decision = agent.decide("build web app", context={"type": "saas"})
# Verify
report = agent.verify("validate input")
Atlas provides a Model Context Protocol server for AI coding assistants.
# Start the MCP server
npx atlas-mcp-server
# Available tools:
# - atlas_solve: Search knowledge bundles
# - atlas_decide: Walk decision trees
# - atlass_verify: Verify bundle integrity
# - atlas_compile: Compile knowledge sources
# - atlas_search: Search the registry
# Resource template:
# - atlas://{bundle}: Browse a compiled bundle
Two composite actions are available:
| Action | Description |
|---|---|
.github/actions/atlas-compile/ | Compile all .md packages in a repository |
.github/actions/atlas-verify/ | Verify all compiled .atlas bundles |