6.9 KiB
Usage Patterns
Practical workflows and patterns for using Repomix in different scenarios.
AI Analysis Workflows
Full Repository
repomix --remove-comments --style markdown -o full-repo.md
Use: New codebase, architecture review, complete LLM context, planning Tips: Remove comments, use markdown, check token limits, review before sharing
Focused Module
repomix --include "src/auth/**,src/api/**" -o modules.xml
Use: Feature analysis, debugging specific areas, targeted refactoring Tips: Include related files only, stay within token limits, use XML for AI
Incremental Analysis
git checkout feature-branch && repomix --include "src/**" -o feature.xml
git checkout main && repomix --include "src/**" -o main.xml
Use: Feature branch review, change impact, before/after comparison, migration planning
Cross-Repository
npx repomix --remote org/repo1 -o repo1.xml
npx repomix --remote org/repo2 -o repo2.xml
Use: Microservices, library comparisons, consistency checks, integration analysis
Security Audit
Third-Party Library
npx repomix --remote vendor/library --style xml -o audit.xml
Workflow: Package library → enable security checks → review vulnerabilities → check suspicious patterns → AI analysis Check for: API keys, hardcoded credentials, network calls, obfuscation, malicious patterns
Pre-Deployment
repomix --include "src/**,config/**" --style xml -o pre-deploy-audit.xml
Checklist: No sensitive data, no test credentials, env vars correct, security practices, no debug code
Dependency Audit
repomix --include "**/package.json,**/package-lock.json" -o deps.md --style markdown
repomix --include "node_modules/suspicious-package/**" -o dep-audit.xml
Use: Suspicious dependency, security advisory, license compliance, vulnerability assessment
Compliance
repomix --include "src/**,LICENSE,README.md,docs/**" --style markdown -o compliance.md
Include: Source, licenses, docs, configs. Exclude: Test data, dependencies
Documentation
Doc Context
repomix --include "src/**,docs/**,*.md" --style markdown -o doc-context.md
Use: API docs, architecture docs, user guides, onboarding Tips: Include existing docs, include source, use markdown
API Documentation
repomix --include "src/api/**,src/routes/**,src/controllers/**" --remove-comments -o api-context.xml
Include: Routes, controllers, schemas, middleware Workflow: Package → AI → OpenAPI/Swagger → endpoint docs → examples
Architecture
repomix --include "src/**/*.ts,*.md" -i "**/*.test.ts" --style markdown -o architecture.md
Focus: Module structure, dependencies, design patterns, data flow
Examples
repomix --include "examples/**,demos/**,*.example.js" --style markdown -o examples.md
Library Evaluation
Quick Assessment
npx repomix --remote owner/library --style markdown -o library-eval.md
Evaluate: Code quality, architecture, dependencies, tests, docs, maintenance
Feature Comparison
npx repomix --remote owner/lib-a --style xml -o lib-a.xml
npx repomix --remote owner/lib-b --style xml -o lib-b.xml
Compare: Features, API design, performance, bundle size, dependencies, maintenance
Integration Feasibility
npx repomix --remote vendor/library --include "src/**,*.md" -o library.xml
repomix --include "src/integrations/**" -o our-integrations.xml
Analyze compatibility between target library and your integration points
Migration Planning
repomix --include "node_modules/old-lib/**" -o old-lib.xml
npx repomix --remote owner/new-lib -o new-lib.xml
Compare current vs target library, analyze usage patterns
Workflow Integration
CI/CD
# GitHub Actions
- name: Generate Snapshot
run: |
npm install -g repomix
repomix --style markdown -o release-snapshot.md
- name: Upload Artifact
uses: actions/upload-artifact@v3
with: {name: repo-snapshot, path: release-snapshot.md}
Use: Release docs, compliance archives, change tracking, audit trails
Git Hooks
#!/bin/bash
# .git/hooks/pre-commit
git diff --cached --name-only > staged-files.txt
repomix --include "$(cat staged-files.txt | tr '\n' ',')" -o .context/latest.xml
IDE (VS Code)
{"version": "2.0.0", "tasks": [{"label": "Package for AI", "type": "shell", "command": "repomix --include 'src/**' --remove-comments --copy"}]}
Claude Code
repomix --style markdown --copy # Then paste into Claude
Language-Specific Patterns
TypeScript
repomix --include "**/*.ts,**/*.tsx" --remove-comments --no-line-numbers
Exclude: **/*.test.ts, dist/, coverage/
React
repomix --include "src/**/*.{js,jsx,ts,tsx},public/**" -i "build/,*.test.*"
Include: Components, hooks, utils, public assets
Node.js Backend
repomix --include "src/**/*.js,config/**" -i "node_modules/,logs/,tmp/"
Focus: Routes, controllers, models, middleware, configs
Python
repomix --include "**/*.py,requirements.txt,*.md" -i "**/__pycache__/,venv/"
Exclude: __pycache__/, *.pyc, venv/, .pytest_cache/
Monorepo
repomix --include "packages/*/src/**" -i "packages/*/node_modules/,packages/*/dist/"
Consider: Package-specific patterns, shared deps, cross-package refs, workspace structure
Troubleshooting
Output Too Large
Problem: Exceeds LLM token limits Fix:
repomix -i "node_modules/**,dist/**,coverage/**" --include "src/core/**" --remove-comments --no-line-numbers
Missing Files
Problem: Expected files not included Debug:
cat .gitignore .repomixignore # Check ignore patterns
repomix --no-gitignore --no-default-patterns --verbose
Sensitive Data Warnings
Problem: Security scanner flags secrets
Actions: Review files → add to .repomixignore → remove sensitive data → use env vars
repomix --no-security-check # Use carefully for false positives
Performance Issues
Problem: Slow on large repo Optimize:
repomix --include "src/**/*.ts" -i "node_modules/**,dist/**,vendor/**"
Remote Access
Problem: Cannot access remote repo Fix:
npx repomix --remote https://github.com/owner/repo # Full URL
npx repomix --remote https://github.com/owner/repo/commit/abc123 # Specific commit
# For private: clone first, run locally
Best Practices
Planning: Define scope → identify files → check token limits → consider security
Execution: Start broad, refine narrow → use appropriate format → enable security checks → monitor tokens
Review: Verify no sensitive data → check completeness → validate format → test with LLM
Iteration: Refine patterns → adjust format → optimize tokens → document patterns