Publish Agent
Publish your agent to Circuit infrastructure.--dry-run/-d: Show files that would be uploaded without actually publishing.--path <path>/-p <path>: Publish from a specific agent directory instead of the current directory.
- Validates agent config (requires at least
name) - Collects project files based on exclusion patterns
- Generates a content hash (SHA-256) of your project files
- Uploads code to Circuit infrastructure
- Polls publish status until complete
- Returns agent ID, version, and a link to the agent page
- Must be authenticated (
circuit signin) - Valid
circuit.tomlconfiguration with at leastname - All dependencies installed
- Version control:
.git/**,.svn/** - Dependencies:
node_modules/**,dist/**,venv/**,__pycache__/** - Secrets:
.env,.env.*,*.key,*.pem - IDE files:
.vscode/**,.idea/**,*.swp - Build artifacts:
coverage/**,.pytest_cache/**,.cache/** - Lock files:
package-lock.json,yarn.lock,pnpm-lock.yaml,uv.lock - Other:
Dockerfile,docker-compose.yml,*.md,*.sh,*.log,.DS_Store
filesToExclude in your agent config.
Note: DESCRIPTION.md is not uploaded as a file — its content is sent as agent metadata during publish.
Content deduplication:
Circuit calculates a content hash of your uploaded files on the server. If the hash matches a previously published version, a new version is not created and the existing version is reused. Files are still uploaded on each publish — deduplication applies to versioning only.