Features & What Is Next
Everything xcaffold can do today — and where it is heading.
agent
.xcafAI agent definition
Configures a named AI agent with a model, allowed tools, system instructions, and linked skills and rules.
skill
.xcafReusable prompt behavior
A reusable behavior block injected into agents. Skills can be shared across multiple agents and projects.
rule
.xcafAlways-applied constraint
A guideline or constraint applied globally to every agent session. Use for coding standards, security rules, and tone guidelines.
workflow
.xcafMulti-step process definition
Defines a reusable sequence of steps agents can follow for specific recurring tasks.
mcp
.xcafMCP server configuration
Declares and configures Model Context Protocol servers available to agents in the workspace.
hooks
.xcafPre/post event shell hooks
Shell commands triggered on agent lifecycle events (pre-tool-call, post-tool-call, session-start, session-end).
blueprint
.xcafSubset selector for partial compilation
Defines a named subset of resources to compile together. By default, a project compiles all resources; a blueprint targets a specific subset.
context
.xcafWorkspace-level instruction block
Defines reusable instruction content that is injected into CLAUDE.md or equivalent project-level configuration. Use for shared coding standards, project context, and team conventions.
memory
.xcafPersistent agent memory entry
Declares a memory file that agents can read across sessions. Use for project facts, user preferences, and cross-session state.
settings
.xcafProvider settings configuration
Configures provider-specific settings such as permission modes, model defaults, and environment preferences.
policy
.xcafEnforcement constraints
Declares require/deny rules that the compiler validates against all resources in the workspace. Designed for org-wide governance.
$ xcaffold init
Bootstrap a new project.xcaf configuration
Bootstraps a new project.xcaf configuration with starter manifests in the xcaf/ directory. Detects existing provider configs and prompts for import.
$ xcaffold apply
Compile .xcaf resources into provider-native agent files
Deterministic one-way compilation. Reads xcaf/ manifests, compiles through the BIR pipeline, and writes provider-native output to .claude/, .cursor/, .gemini/, etc.
$ xcaffold status
Show compilation state and check for drift across all providers
Compares compiled output against .xcaffold/project.xcaf.state hashes. Detects manual edits to provider directories that diverge from the last apply.
$ xcaffold import
Import existing provider config into project.xcaf
Reverse-engineers existing .claude/, .cursor/, or .gemini/ directories into portable xcaf/ manifests. Supports per-kind filtering and incremental updates.
$ xcaffold validate
Check .xcaf syntax, cross-references, and structural invariants
Validates YAML syntax, schema constraints, cross-references between resources, and policy compliance. Safe for CI — produces deterministic output with exit codes.
$ xcaffold graph
Visualize the resource dependency graph
Renders the topology of how agents, skills, rules, and MCP servers are connected. Outputs to terminal, Mermaid, Graphviz dot, or JSON format.
$ xcaffold list
List discovered resources and blueprints
Prints every resource discovered in the xcaf/ directory tree, grouped by kind. Shows which blueprints are defined and their resource selections.