Export config
Configuration governance for Claude Code. Bootstrap, audit, sync, and evolve .claude/ across projects.
npx -y skills add luiseiman/dotforge --skill export-configAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Export dotforge configuration to other AI code editors (Cursor, Codex, Windsurf, OpenClaw).
SKILL.md
4.9 KB, as published. Nobody here has run it
Export Configuration
Convert the current project's dotforge configuration into formats compatible with other AI coding tools.
Input
$ARGUMENTS contains the target format: cursor, codex, windsurf, or openclaw.
If no argument provided, show available targets and ask.
Step 1: Read current configuration
Read these files from the current project:
CLAUDE.md— project instructions.claude/rules/*.md— contextual rules (strip YAML frontmatter).claude/settings.json— permissions and hooks
If none exist, error: "No dotforge configuration found. Run /forge bootstrap first."
Step 2: Transform based on target
cursor → .cursorrules
Generate a single .cursorrules file at project root:
- Extract content from
CLAUDE.md(skip forge markers) - Append all rules from
.claude/rules/*.md(strip YAML frontmatter —globs:,paths:,alwaysApply:, etc. — keep content) - Convert deny list to text: "DO NOT: read/modify files matching: .env, *.key, *.pem, credentials"
- Convert hooks to text instructions: "Before executing bash commands, check for destructive patterns: rm -rf, DROP TABLE, force push"
- Wrap in a single markdown document
codex → AGENTS.md
Generate AGENTS.md at project root:
- Start with project context from
CLAUDE.md - Append rules as "## Rules" section
- Convert permissions to "## Permissions" section: list allowed and denied commands
- Add "## Workflow" section from agent orchestration rules if present
- Format as flat markdown (Codex expects simple instructions)
windsurf → .windsurfrules
Generate .windsurfrules at project root:
- Same content extraction as cursor
- Windsurf format is similar to
.cursorrules— single markdown file - Add Windsurf-specific header: "You are an AI assistant working on this project."
- Append all rules and converted hooks/permissions
openclaw → ~/.openclaw/skills/{project}/SKILL.md + workspace agent config
Generate an OpenClaw workspace skill for the current project:
- Create skill directory:
~/.openclaw/skills/{project-slug}/ - Generate
SKILL.mdwith frontmatter:--- name: {project-slug} description: "AI assistant for {project-name} — {stack description}" user-invocable: true metadata: {"openclaw":{"requires":{"bins":["claude"]}}} --- - Body content:
- Project context from
CLAUDE.md(skip forge markers, keep substance) - Build/test commands as executable instructions
- Rules converted to behavioral instructions (strip
globs:frontmatter) - Deny list as explicit "NEVER read or modify" instructions
- Hook logic as text: "Before executing commands, check for destructive patterns: ..."
- Agent roles summarized: "For architecture decisions, think like an architect. For security, scan for OWASP top 10."
- Project context from
- Add execution section:
## Execution When asked to work on this project: 1. cd to {project-path} 2. Use `claude --print "<task>"` to execute via Claude Code 3. Return the result formatted for the current channel
Additionally, if the project has specific commands (.claude/commands/*.md), list them as available actions:
## Available commands
- /audit — audit project configuration
- /health — health check
- /debug — assisted debugging
- /review — code review
What OpenClaw export preserves vs loses
| Feature | Preserved | How |
|---|---|---|
| Project context | ✅ | CLAUDE.md content in skill body |
| Rules | ✅ | Converted to text instructions |
| Deny list | ✅ | "NEVER read/modify" instructions |
| Hook logic | ⚠️ Partial | Text instructions (no enforcement) |
| Agent orchestration | ⚠️ Partial | Summarized as behavioral guidance |
| Audit scoring | ✅ | Via claude --print "/forge audit" bridge |
| Session metrics | ❌ | OpenClaw sessions don't generate dotforge metrics |
| Stack-specific auto-loading | ❌ | All rules flattened into single skill |
Step 3: Handle conflicts
Before writing:
- Check if target file already exists
- If exists: show diff preview and ask user to confirm overwrite
- If user declines: suggest alternative filename (e.g.,
.cursorrules.dotforge)
Step 4: Report
Show:
Export complete: {{target}}
Output: {{filename}}
Sources: CLAUDE.md, {{N}} rules, settings.json
Note: hooks and deny list converted to text instructions (no enforcement outside Claude Code)
Warn: "Exported rules are advisory only. Hook enforcement (destructive command blocking) only works in Claude Code."
Limitations
- Hooks cannot be enforced outside Claude Code — converted to text instructions
- Agent orchestration is Claude Code-specific — simplified to workflow instructions
- Stack-specific rules are included but glob-based auto-loading is Claude Code-only