Documentation Index Fetch the complete documentation index at: https://docs.cloudshipai.com/llms.txt
Use this file to discover all available pages before exploring further.
What are Bundles?
Bundles are portable packages containing complete Station environment configurations:
MCP server definitions
Agent prompts
Variable schemas
Documentation
Bundles enable:
Sharing configurations between teams
Deploying pre-configured agents instantly
Version control for agent configurations
Bundle Structure
my-bundle.tar.gz/
├── manifest.json # Bundle metadata
├── template.json # MCP server configurations
├── variables.schema.json # Variable validation schema
├── README.md # Documentation
├── examples/
│ └── development.vars.yml
└── agents/
├── analyst.prompt
└── reviewer.prompt
Creating Bundles
"Create a bundle from the production environment"
Station uses the create_bundle_from_environment tool to package your environment.
Via CLI
# Create bundle from default environment
stn bundle create default --output my-bundle.tar.gz
# Create from specific environment
stn bundle create production --output prod-bundle.tar.gz
Bundle Contents
The created bundle includes:
All MCP servers from template.json
All agents from agents/*.prompt
Variable schema from variables.schema.json
Environment documentation
Installing Bundles
From CloudShip
# Install by bundle UUID
stn bundle install e26b414a-f076-4135-927f-810bc1dc892a my-environment
From URL
# Install from GitHub release
stn bundle install https://github.com/org/repo/releases/download/v1.0/bundle.tar.gz my-env
From Local File
# Install from local file
stn bundle install ./my-bundle.tar.gz my-environment
With stn up
Install bundle when starting Docker container:
stn up --bundle e26b414a-f076-4135-927f-810bc1dc892a
Sharing Bundles
Upload to CloudShip
# Share environment as bundle
stn bundle share production
# Share existing bundle file
stn bundle share ./my-bundle.tar.gz
After sharing, you’ll receive a bundle UUID for distribution.
Self-Hosted Distribution
Host bundles on any HTTP server:
# Upload to your server
scp my-bundle.tar.gz user@server:/var/www/bundles/
# Install from URL
stn bundle install https://server/bundles/my-bundle.tar.gz my-env
Bundle Manifest
The manifest.json describes the bundle:
{
"name" : "security-scanner" ,
"version" : "1.0.0" ,
"description" : "Security scanning agents with vulnerability detection" ,
"author" : "CloudShip AI" ,
"created" : "2024-01-15T10:00:00Z" ,
"station_version" : ">=0.1.0" ,
"variables" : [
{
"name" : "GITHUB_TOKEN" ,
"description" : "GitHub API token for repository access" ,
"required" : true
}
]
}
Variable Handling
Defining Variables
In variables.schema.json:
{
"$schema" : "http://json-schema.org/draft-07/schema#" ,
"type" : "object" ,
"properties" : {
"GITHUB_TOKEN" : {
"type" : "string" ,
"description" : "GitHub API token"
},
"SLACK_WEBHOOK" : {
"type" : "string" ,
"description" : "Slack webhook URL"
}
},
"required" : [ "GITHUB_TOKEN" ]
}
Providing Variables
When installing, Station prompts for required variables:
stn bundle install ./bundle.tar.gz my-env
# Enter value for GITHUB_TOKEN: ghp_xxxxx
# Enter value for SLACK_WEBHOOK (optional): https://hooks.slack.com/...
Or provide via file:
stn bundle install ./bundle.tar.gz my-env --vars ./my-vars.yml
Demo Bundles
Station includes demo bundles for testing:
# List available demos
stn mock list
# Run a demo MCP server
stn mock cloudquery
stn mock aws-cost-explorer
Best Practices
Use semantic versioning in manifest:
Always include descriptions for required variables: {
"GITHUB_TOKEN" : {
"description" : "GitHub API token with repo and read:org scopes"
}
}
Add example variable files: # examples/development.vars.yml
GITHUB_TOKEN : ghp_your_dev_token
SLACK_WEBHOOK : "" # Optional in dev
Install your bundle in a fresh environment before sharing: rm -rf ~/.config/station/environments/test
stn bundle install ./my-bundle.tar.gz test
stn sync test