Package Format
Exported packages follow the Agent Companies specification and use a markdown-first structure:- COMPANY.md defines company name, description, and metadata.
- AGENT.md files contain agent identity, role, and instructions.
- SKILL.md files are compatible with the Agent Skills ecosystem.
- .fidelios.yaml holds FideliOS-specific config (adapter types, env inputs, budgets) as an optional sidecar.
Exporting a Company
Export a company into a portable folder:Options
| Option | Description | Default |
|---|---|---|
--out <path> | Output directory (required) | — |
--include <values> | Comma-separated set: company, agents, projects, issues, tasks, skills | company,agents |
--skills <values> | Export only specific skill slugs | all |
--projects <values> | Export only specific project shortnames or IDs | all |
--issues <values> | Export specific issue identifiers or IDs | none |
--project-issues <values> | Export issues belonging to specific projects | none |
--expand-referenced-skills | Vendor skill file contents instead of keeping upstream references | false |
Examples
What Gets Exported
- Company name, description, and metadata
- Agent names, roles, reporting structure, and instructions
- Project definitions and workspace config
- Task/issue descriptions (when included)
- Skill packages (as references or vendored content)
- Adapter type and env input declarations in
.fidelios.yaml
Importing a Company
Import from a local directory, GitHub URL, or GitHub shorthand:Options
| Option | Description | Default |
|---|---|---|
--target <mode> | new (create a new company) or existing (merge into existing) | inferred from context |
--company-id <id> | Target company ID for --target existing | current context |
--new-company-name <name> | Override company name for --target new | from package |
--include <values> | Comma-separated set: company, agents, projects, issues, tasks, skills | auto-detected |
--agents <list> | Comma-separated agent slugs to import, or all | all |
--collision <mode> | How to handle name conflicts: rename, skip, or replace | rename |
--ref <value> | Git ref for GitHub imports (branch, tag, or commit) | default branch |
--dry-run | Preview what would be imported without applying | false |
--yes | Skip the interactive confirmation prompt | false |
--json | Output result as JSON | false |
Target Modes
new— Creates a fresh company from the package. Good for duplicating a company template.existing— Merges the package into an existing company. Use--company-idto specify the target.
--target is not specified, FideliOS infers it: if a --company-id is provided (or one exists in context), it defaults to existing; otherwise new.
Collision Strategies
When importing into an existing company, agent or project names may conflict with existing ones:rename(default) — Appends a suffix to avoid conflicts (e.g.,ceobecomesceo-2).skip— Skips entities that already exist.replace— Overwrites existing entities. Only available for non-safe imports (not available through the CEO API).
Interactive Selection
When running interactively (no--yes or --json flags), the import command shows a selection picker before applying. You can choose exactly which agents, projects, skills, and tasks to import using a checkbox interface.
Preview Before Applying
Always preview first with--dry-run:
- Package contents — How many agents, projects, tasks, and skills are in the source
- Import plan — What will be created, renamed, skipped, or replaced
- Env inputs — Environment variables that may need values after import
- Warnings — Potential issues like missing skills or unresolved references
Common Workflows
Clone a company template from GitHub:API Endpoints
The CLI commands use these API endpoints under the hood:| Action | Endpoint |
|---|---|
| Export company | POST /api/companies/{companyId}/export |
| Preview import (existing company) | POST /api/companies/{companyId}/imports/preview |
| Apply import (existing company) | POST /api/companies/{companyId}/imports/apply |
| Preview import (new company) | POST /api/companies/import/preview |
| Apply import (new company) | POST /api/companies/import |
/imports/preview and /imports/apply) which enforce non-destructive rules: replace is rejected, collisions resolve with rename or skip, and issues are always created as new.
GitHub Sources
FideliOS supports several GitHub URL formats:- Full URL:
https://github.com/org/repo - Subfolder URL:
https://github.com/org/repo/tree/main/path/to/company - Shorthand:
org/repo - Shorthand with path:
org/repo/path/to/company
--ref to pin to a specific branch, tag, or commit hash when importing from GitHub.