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.
$ 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.
$ xcaffold VS Code Extension
IDE integration for .xcaf manifest authoring
Edit .xcaf files with IntelliSense, validate on save, visualize the dependency graph, and run all 18 xcaffold commands without leaving VS Code. Free and open source under Apache 2.0.