Repository-Based Tools
Repository-based tools are standalone projects that can be published and shared with other Compozy users. You can create tools using either TypeScript (running on Deno runtime) or Python, which can be compiled into platform-specific binaries for efficient distribution.Repository Structure
- TypeScript
- Python
Project Configuration
- TypeScript
- Python
The
deno.json file configures your development environment and build process:Manifest File
Themanifest.yaml defines your tool’s metadata, configuration, and I/O schema. Here’s a comprehensive example:
The
type field is required and must be set to tool. For Python projects, set main: src/main.py instead of src/index.ts.Implementation
- TypeScript
- Python
Your
src/index.ts should implement the schema defined in the manifest:Publishing Process
1
Prepare Your Repository
- Initialize a GitHub repository
- Set up CI/CD workflows for testing and releases
- Include comprehensive documentation in README.md
2
Quality Checks
- Write unit tests covering main functionality
- Add integration tests for API interactions
- Ensure proper error handling and input validation
3
Version and Release
- Use semantic versioning (MAJOR.MINOR.PATCH)
- Create GitHub releases with detailed changelogs
- Tag releases (e.g.,
v1.0.0)
4
Build and Distribution
- TypeScript
- Python
5
Submit to Registry
Once your tool is ready for distribution:After submission, our team will review your tool to ensure it meets our quality and security standards. You’ll receive notifications about the review process and when your tool is approved and listed in the registry.
Make sure your repository is public and the latest release tag matches the version in your manifest.yaml before publishing.