Quickstart
1. Create an Agentfile
# syntax=agentrc.agentfile/v0.1
AGENT hello-local
CMD python ./agent.py
TOOL utcp:file_read
TOOL utcp:current_time
MOUNT /workspace ro
AUDIT basic
POLICY
permit(
principal == AgentRC::Agent::"hello-local",
action == AgentRC::Action::"tool.invoke",
resource in [AgentRC::Tool::"file_read", AgentRC::Tool::"current_time"]
);
END
2. Validate
agentrc lint Agentfile
Validation should answer:
- Is the file syntactically valid?
- Are unknown directives rejected?
- Are security boundaries explicit?
- Are secrets referenced, not embedded?
- Is the policy parseable?
3. Build a portable package
agentrc compile Agentfile
agentrc build --tag ghcr.io/adeelahmad/hello-local:0.1.0
The build produces an agentrc package containing:
Agentfileagentrc.lock- package metadata
- policy bundle
- declared tools, skills, functions, and support artifacts
4. Publish
agentrc push ghcr.io/adeelahmad/hello-local:0.1.0
5. Run with a compatible runner
agentrc run ghcr.io/adeelahmad/hello-local:0.1.0
A compatible runner may use a local process, container, gVisor sandbox, microVM, serverless platform, or managed cloud runtime. The substrate is deliberately outside the core agentrc specification.