Create & Publish
Learn how to create and publish your agents to the Compozy registry.
Repository-Based Agents
Repository-based agents are standalone projects that can be published and shared with other Compozy users. You can create agents using either TypeScript (running on Deno runtime) or Python, which can be compiled into platform-specific binaries for efficient distribution.
Repository Structure
Project Configuration
The deno.json
file configures your development environment and build process:
The compile
task is required in your deno.json
file. Compozy uses this task to compile your agent into a platform-specific binary during the publishing process.
The deno.json
file configures your development environment and build process:
The compile
task is required in your deno.json
file. Compozy uses this task to compile your agent into a platform-specific binary during the publishing process.
The pyproject.toml
file configures your Python project:
Manifest File
The manifest.yaml
defines your agent’s metadata, configuration, and action schemas. Here’s a comprehensive example:
The type
field is required and must be set to agent
. For Python projects, set main: src/main.py
instead of src/index.ts
.
Implementation
Publishing Process
Prepare Your Repository
- Initialize a GitHub repository
- Set up CI/CD workflows for testing and releases
- Include comprehensive documentation in README.md
Validate
Ensure your agent configuration is valid:
Version and Release
- Use semantic versioning (MAJOR.MINOR.PATCH)
- Create GitHub releases with detailed changelogs
- Tag releases (e.g.,
v1.0.0
)
Build and Distribution
Submit to Registry
Once your agent is ready for distribution:
After submission, our team will review your agent to ensure it meets our quality and security standards. You’ll receive notifications about the review process and when your agent is approved and listed in the registry.
Make sure your agent follows these best practices:
- Use semantic versioning for your agent versions
- Include comprehensive documentation in README.md
- Implement proper error handling and validation
- Use environment variables for sensitive configuration
- Define clear action schemas and instructions