Skip to content

Init & config

A deployment is declared once, as a [tool.aura.deployment.<name>] table in your model folder’s own pyproject.toml — the file that lands as run/pyproject.toml. Build backends ignore tool tables they don’t know, so the config travels with the artifact without affecting it.

aura deploy is what reads it.

Writes the table for you:

Terminal window
cd my-model/solver && aura init

It asks for the deployment name (defaulting to the folder’s), the model folder, and the data folder, then appends the section to ./pyproject.toml, creating the file if it isn’t there. --config <path> edits a different one. This is the one command that talks to no server, so it needs no API key.

The section it writes carries agents_md and skills_folder commented out, with a note on what each is for. Uncomment one to ship the agent’s instructions or a skills folder — aura init never points them at a file for you.

pyproject.toml
[tool.aura.deployment.vrp]
model_folder = "." # uploaded under run/ (default ".")
data_folder = "../define/data" # uploaded under data/ (required)
include = ["pyproject.toml", "run.py", "src/solver/**"]
data_include = ["**"]
exclude = ["notes/**"]
agents_md = "../agent-config/AGENTS.md"
skills_folder = "../agent-config/skills"
Key Default Means
model_folder "." Uploaded under run/
data_folder required Uploaded under data/
include ["**"] Globs relative to model_folder
data_include ["**"] Globs relative to data_folder
exclude Applies to both folders; wins over include
agents_md Markdown shipped as the agent’s instructions
skills_folder Each subdirectory becomes one skill

The deployment name is the table key: lowercase letters, digits, hyphens. Several deployments may live in one file; aura deploy <name> picks one, and the name is optional when only one is defined.

Folder paths resolve relative to the pyproject.toml. Commands that read the table search upward from the current directory for one carrying a [tool.aura] table, or take --config <path>.

Built-in excludes always apply, on top of yours: dot-prefixed files and directories (.git, .venv, .env, …), __pycache__, node_modules, dist, venv, *.pyc. The server additionally rejects dot-prefixed and executable paths.

To see what a table actually resolves to before anything moves, aura deploy --dry-run prints the file list and uploads nothing.