symbi-init
Initialize a Symbiont-governed project. Creates agent definitions, Cedar policies, and configuration files. Use when setting up a new project with AI agent governance or adding Symbiont to an existing project.
Initialize Symbiont Project
Set up a governed agent project in the current directory.
Steps
-
Check if
symbiont.tomlalready exists. If so, ask before overwriting. -
Create the directory structure:
agents/ # Agent DSL definitions policies/ # Cedar policy files .symbiont/ # Local governance config and audit logs -
Create
symbiont.tomlwith sensible defaults:[runtime] security_tier = "tier1" # Docker isolation log_level = "info" [policy] engine = "cedar" enforcement = "strict" [schemapin] mode = "tofu" # Trust-On-First-Use -
Create a starter agent at
agents/assistant.dsl:metadata { version = "1.0.0" description = "Default governed assistant" } agent assistant(input: Query) -> Response { capabilities = ["read", "analyze"] policy default_access { allow: read(input) if true deny: write(any) if not approved audit: all_operations } with memory = "session" { result = process(input) return result } } -
Create a starter Cedar policy at
policies/default.cedar:// Default: allow read operations, require approval for writes permit( principal, action == Action::"read", resource ); forbid( principal, action == Action::"write", resource ) unless { principal.approved == true }; -
Create
.symbiont/local-policy.tomlwith default deny rules:[deny] paths = [".env", ".ssh/", ".aws/", ".gnupg/", "credentials"] commands = ["rm -rf", "git push --force", "mkfs", "dd if="] branches = ["main", "master", "production"] -
Create
AGENTS.mdmanifest for the project. -
Report what was created and suggest next steps.