Skip to content

Company Bootstrap Deployment Guide

CONCEPT:AU-KG.research.research-pipeline-runner — Company Operations Domain CONCEPT:AU-ECO.ui.company-infrastructure-orchestration — Company Infrastructure Orchestration

This guide walks through bootstrapping an autonomous SI-driven company from scratch using the agent-utilities ecosystem.

Prerequisites

  • [ ] agent-utilities installed and configured (~/.config/agent-utilities/config.json)
  • [ ] Docker Swarm or standalone Docker available on target hosts
  • [ ] Portainer deployed and accessible via portainer-mcp
  • [ ] AdGuard Home deployed and accessible via adguard-home-mcp
  • [ ] KG engine running (graph-os MCP server operational)
  • [ ] SSH access to target infrastructure via tunnel-manager-mcp

Phase 1: Company Entity Registration

1.1 Create Company Profile in KG

from agent_utilities.models.company import CompanyProfile

company = CompanyProfile(
    id="my_company",
    name="My Company LLC",
    legal_name="My Company LLC",
    dba_name="My Company",
    entity_type="llc",
    state_of_incorporation="WY",
    ein="XX-XXXXXXX",
)

Register via KG:

graph_write(action="add_node", node_id="my_company", node_type="company",
            properties='{"legal_name": "My Company LLC", "entity_type": "llc", ...}')

1.2 Create Agent Departments

For each department (legal, hr, finance, ops, strategy):

from agent_utilities.models.company import AgentDepartment

legal_dept = AgentDepartment(
    id="dept_legal",
    name="Legal Department",
    department_type="legal",
    team_config_id="tc_legal",
    automation_level=0.7,  # 70% automated, 30% human oversight
    human_oversight_required=True,
    prompt_agent="legal_compliance_coordinator",
)

1.3 Register Strategic Goals

from agent_utilities.models.company import StrategicGoal

revenue_goal = StrategicGoal(
    id="goal_revenue_2026",
    name="2026 Revenue Target",
    goal_type="profit",
    target_value=1000000.0,
    measurement_unit="USD",
    deadline="2026-12-31",
)

Phase 2: Infrastructure Deployment

2.1 Deploy Company Software

Use the infrastructure-blueprints skill-graph to deploy required software:

# Deploy ERPNext for accounting
portainer_stack(action="create_standalone_stack",
    endpoint_id=1,
    stack_file_content=<erpnext.yaml>)

# Deploy Twenty CRM
portainer_stack(action="create_standalone_stack",
    endpoint_id=1,
    stack_file_content=<twenty-crm.yaml>)

# Deploy Docassemble for legal
portainer_stack(action="create_standalone_stack",
    endpoint_id=1,
    stack_file_content=<docassemble.yaml>)

2.2 Configure DNS Rewrites

# Via adguard-home-mcp
adguard_home_rewrites(action="add_rewrite",
    params_json='{"domain": "erp.example.test", "answer": "192.0.2.10"}')
adguard_home_rewrites(action="add_rewrite",
    params_json='{"domain": "crm.example.test", "answer": "192.0.2.11"}')
adguard_home_rewrites(action="add_rewrite",
    params_json='{"domain": "legal.example.test", "answer": "192.0.2.12"}')

2.3 Register in KG Topology

Create CompanySoftware nodes and wire to infrastructure:

from agent_utilities.models.company import CompanySoftware

erp = CompanySoftware(
    id="sw_erpnext",
    name="ERPNext Instance",
    software_name="ERPNext",
    version="15.0",
    function_category="accounting",
    api_endpoint="https://erp.example.test/api",
    dns_rewrite="erp.example.test",
    host_id="host_prod_01",
)

Phase 3: Workflow Registration

3.1 Register Company Operations Agents

Each company department maps to an operations coordinator agent. The following coordinator prompts ship under agent_utilities/prompts/:

Coordinator prompt Responsibility
legal_compliance_coordinator Legal compliance review, contract analysis & risk
hr_operations_coordinator Employee onboarding, OKR-driven performance review
finance_operations_coordinator Payroll computation, financial reporting

3.2 Compile Skills to KG

Company workflows are authored as standard SKILL.md skill directories and compiled into GraphPlan objects via SkillCompiler, then registered in the KG. Use SkillCompiler.compile(skill_dir) to build a plan and SkillCompiler.register_in_kg(engine, skill_dir) to persist it:

from pathlib import Path

from agent_utilities.workflows.skill_compiler import SkillCompiler

# Compile and register each company operations skill directory
for skill_dir in Path("skills/ops").iterdir():
    plan = SkillCompiler.compile(skill_dir)        # SKILL.md -> GraphPlan
    if plan is not None:
        SkillCompiler.register_in_kg(kg_engine, skill_dir)

Alternatively, register a skill directly through MCP with graph_workflows(action="compile", ...).

Phase 4: KPI Dashboard Setup

4.1 Register Financial KPIs

from agent_utilities.models.company import KPI

mrr_kpi = KPI(
    id="kpi_mrr",
    name="Monthly Recurring Revenue",
    kpi_type="revenue",
    current_value=0.0,
    target_value=100000.0,
    trend="improving",
    measurement_frequency="monthly",
    goal_id="goal_revenue_2026",
)

4.2 Schedule KPI Updates

Use the KG cron scheduler to periodically update KPIs:

graph_schedules(action="run_now", name="financial-kpi-refresh")

Phase 5: Security Hardening

[!CAUTION] Before going to production, complete a full OS-5.1 security assessment.

  • [ ] Enable TLS for all services
  • [ ] Configure SSO/OIDC via Authentik or Keycloak
  • [ ] Set up audit logging for all financial operations
  • [ ] Enable MFA for human operators
  • [ ] Configure network segmentation
  • [ ] Set up backup and disaster recovery
  • [ ] Run graph_analyze(action="security_scan") on the full topology

Verification Checklist

  • [ ] All company nodes registered in KG
  • [ ] All departments have TeamConfigNode assignments
  • [ ] All software stacks deployed and healthy
  • [ ] DNS rewrites resolving correctly
  • [ ] Workflow compilation successful
  • [ ] KPI dashboard populated
  • [ ] Human oversight rules configured for legal, finance, and HR
  • [ ] Backup strategy documented and tested