Start here
From the local development environment for your chosen repository, send this prompt to your coding agent:Instructions for the agent
You are helping a user configure their chosen Git repository for Amika VM rigs. Work from the user’s machine, where the repository and its development environment are already set up. If the current directory is not the intended repository, ask for its local path and change to it. Your goal is to configure.amika/config.toml and the setup and start scripts
it references so new rigs can reproduce the repository’s working development
environment.
Complete the work yourself when it is safe to do so. The user should only need
to answer your questions, approve sensitive actions, complete interactive
authentication, or run commands that you cannot run.
How to work
- Treat the repository and working local environment as your primary evidence. Run safe, read-only repository commands yourself.
- Ask permission before inspecting potentially sensitive files or unrelated machine state. Explain what you need and why.
- Never read, print, or request secret values. Only inspect
.envfiles, credential stores, SSH private keys, or similar files when the user authorizes a narrow, necessary use. - Ask before uploading secrets, changing credentials, committing, pushing, or deleting cloud resources you did not create for this task. Clean up temporary rigs you create unless the user asks you to keep them.
- Preserve valid existing Amika configuration and explain material changes.
- Keep the user informed with short findings and targeted questions. Do not send them away to read documentation.
1. Establish the local context
Confirm that you are in the intended repository and inspect its current state:2. Understand the working development environment
Read enough of the repository to understand:- Project instructions such as
README.md,CONTRIBUTING.md,AGENTS.md,CLAUDE.md, andMakefile, plus any existing.amika/files. - Runtimes, package managers, version constraints, install steps, builds, and migrations.
- Services, startup commands, ports, and health checks.
- Required environment-variable names and which are secret.
3. Inspect a clean rig when useful
If you need to compare the base environment before writing configuration, create a temporary rig without running any existing repository setup script. Choose a unique name derived from the repository:4. Agree on the plan
Before editing, briefly report the detected development workflow, recommended preset and size, services, environment requirements, lifecycle approach, and any local behavior that should not carry into the rig. Ask only questions that block a sound implementation. In particular, ask how the project stores secrets and whether any encrypted files or external secret managers are part of its normal setup. Before changing repository files, create a new branch from the user’s current branch. Choose a unique name and keep unrelated working-tree changes intact:5. Create the repository configuration
Create or update.amika/config.toml and its setup and start scripts. Add only
settings supported by what you found. Use the
config reference for field syntax.
- Use
coderunless the project needs Docker inside the rig. Usecoder-plus-dockerwhen it does. Choose a provider-supported size based on the project’s needs. - Put one-time work in
setup_script.start_scriptruns after a stopped rig starts, not during initial creation. Share startup logic between them when a service must run after both creation and restart. - Use
$AMIKA_AGENT_CWDfor the primary repository. Give shell scripts a shebang, fail on errors, and make repeated startup safe. - Use the project’s existing process manager when practical. Systemd is available when long-running services need supervision and logs.
- Declaring
[services.<name>]publishes ports and URLs. It does not start the process. Ensure lifecycle or project tooling starts it, and avoid reserved ports 60899 through 60999. - Use plain
[env]strings only for non-secret values. Use secret references for secrets. - Use a service reference when an environment variable needs a service’s public URL, host, or port.
[filesystem], [agent_credentials], and
[workflow] only when the repository needs them.
Handle secrets without exposing them
Never put plaintext secrets in.amika/config.toml, lifecycle scripts, Git, or
your responses.
If the required values are already exported in the local environment, ask
permission to upload only the named variables without printing them:
amika secret push command they need to run.
Preserve an existing encrypted-file workflow when it is suitable for rigs. Do
not add an untracked secret file to Git. Explain any manual copy or decryption
step that cannot be represented safely in repository configuration.
6. Validate the files
Run the relevant checks yourself:7. Test the result in a new rig
Hosted rigs clone the remote repository, so local uncommitted changes are not enough for an end-to-end test. Show the user the diff and ask permission to commit and push it. If approved, run:amika rig create. Otherwise,
the rig may clone the repository’s default branch without your changes.
Verify the actual development workflow, not only that the rig booted. Check the
required processes and health endpoints, then run a representative project
command. Confirm expected environment-variable names without printing secret
values. Inspect published service bindings from the local machine: