| name | codebase-exposure |
| description | Automated codebase exposure patterns for Claude Desktop and Claude Code. Pack codebases, configure MCP servers, generate skills. |
| allowed-tools | mcp__repomix__*, mcp__filesystem__*, mcp__github__*, Read, Write, Bash |
| token-budget | 800 |
Codebase Exposure Patterns
Automatically expose codebases to Claude Desktop and Claude Code for comprehensive AI analysis.
Architecture
| Location | Purpose | Managed By |
|---|---|---|
~/dotfiles/config/agents/skills/ |
SSOT for all skills | Git-tracked |
~/.claude/skills/ |
Symlinks for Claude Code | home-manager |
~/dotfiles/modules/home/apps/claude.nix |
MCP server definitions | nix-darwin |
Exposure Methods
| Method | Best For | Setup Effort |
|---|---|---|
| Repomix pack | One-time analysis, code review | Low |
| Repomix skill | Persistent reference, team sharing | Medium |
| MCP Filesystem | Real-time local access | Already configured |
| MCP GitHub | Remote repo access | Already configured |
Quick Commands
Pack Current Directory
repomix --style xml --compress
Generate Skill from Codebase
mcp__repomix__generate_skill({
directory: "/path/to/project",
skillName: "project-reference",
compress: true
})
repomix.config.ts Template
For Python/data analytics projects:
import { defineConfig } from 'repomix';
export default defineConfig({
output: {
style: 'xml',
compress: false,
showLineNumbers: true,
git: { sortByChanges: true },
},
include: [
'CLAUDE.md', 'README.md', 'justfile', 'flake.nix',
'**/pipeline/**/*.py',
'**/config/**/*.yaml',
'**/pyproject.toml',
],
ignore: {
customPatterns: [
'**/data/**', '**/snapshots/**',
'**/__pycache__/**', 'uv.lock',
],
},
});
Adding New MCP Servers
Edit ~/dotfiles/modules/home/apps/claude.nix:
mcpServerDefs = {
# ... existing servers ...
my-new-server = {
package = "@company/mcp-server";
args = [ ];
};
};
Then run: just rebuild
Adding New Skills
- Create:
~/dotfiles/config/agents/skills/my-skill/SKILL.md - Add symlink to
~/dotfiles/config/agents/nix/agents.nix:".claude/skills/my-skill".source = config.lib.file.mkOutOfStoreSymlink "${agentsDir}/skills/my-skill"; - Run:
just rebuild
Integration with PARAGON
All exposed codebases should comply with:
- Guard 5: No
anytypes - Guard 6: No
z.infer<> - Guard 7: No mock patterns
- Guard 13: No assumption language