Aller au contenu

Importing & Exporting Companies

Ce contenu n’est pas encore disponible dans votre langue.

AImetier companies can be exported to portable markdown packages and imported from local directories or GitHub repositories. This lets you share company configurations, duplicate setups, and version-control your agent teams.

Exported packages follow the Agent Companies specification and use a markdown-first structure:

my-company/
├── COMPANY.md # Company metadata
├── agents/
│ ├── ceo/AGENT.md # Agent instructions + frontmatter
│ └── cto/AGENT.md
├── projects/
│ └── main/PROJECT.md
├── skills/
│ └── review/SKILL.md
├── tasks/
│ └── onboarding/TASK.md
└── .aimetier.yaml # Adapter config, env inputs, routines
  • 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.
  • .aimetier.yaml holds AImetier-specific config (adapter types, env inputs, budgets) as an optional sidecar.

Export a company into a portable folder:

Terminal window
aimetier company export <company-id> --out ./my-export
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
Terminal window
# Export company with agents and projects
aimetier company export abc123 --out ./backup --include company,agents,projects
# Export everything including tasks and skills
aimetier company export abc123 --out ./full-export --include company,agents,projects,tasks,skills
# Export only specific skills
aimetier company export abc123 --out ./skills-only --include skills --skills review,deploy
  • 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 .aimetier.yaml

Secret values, machine-local paths, and database IDs are never exported.

Import from a local directory, GitHub URL, or GitHub shorthand:

Terminal window
# From a local folder
aimetier company import ./my-export
# From a GitHub URL
aimetier company import https://github.com/org/repo
# From a GitHub subfolder
aimetier company import https://github.com/org/repo/tree/main/companies/acme
# From GitHub shorthand
aimetier company import org/repo
aimetier company import org/repo/companies/acme
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
  • new — Creates a fresh company from the package. Good for duplicating a company template.
  • existing — Merges the package into an existing company. Use --company-id to specify the target.

If --target is not specified, AImetier infers it: if a --company-id is provided (or one exists in context), it defaults to existing; otherwise new.

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., ceo becomes ceo-2).
  • skip — Skips entities that already exist.
  • replace — Overwrites existing entities. Only available for non-safe imports (not available through the CEO API).

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.

Always preview first with --dry-run:

Terminal window
aimetier company import org/repo --target existing --company-id abc123 --dry-run

The preview shows:

  • 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

Imported agents always land with timer heartbeats disabled. Assignment/on-demand wake behavior from the package is preserved, but scheduled runs stay off until a board operator re-enables them.

Clone a company template from GitHub:

Terminal window
aimetier company import org/company-templates/engineering-team \
--target new \
--new-company-name "My Engineering Team"

Add agents from a package into your existing company:

Terminal window
aimetier company import ./shared-agents \
--target existing \
--company-id abc123 \
--include agents \
--collision rename

Import a specific branch or tag:

Terminal window
aimetier company import org/repo --ref v2.0.0 --dry-run

Non-interactive import (CI/scripts):

Terminal window
aimetier company import ./package \
--target new \
--yes \
--json

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

CEO agents can also use the safe import routes (/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.

AImetier 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

Use --ref to pin to a specific branch, tag, or commit hash when importing from GitHub.