outfitter
v1.0.4
Published
Command-line tool for equipping your development journey with configurations and fieldguides
Downloads
19
Maintainers
Readme
Outfitter
Command-line tool for equipping your development journey with configurations and fieldguides.
Installation
npm install -g outfitter
# or
pnpm add -g outfitter
# or
yarn global add outfitter
# or
brew install outfitterQuick Start
# Initialize a new project with Outfitter configurations
outfitter equip
# or
outfitter init
# Manage fieldguides (documentation & patterns)
outfitter fieldguides list
# or
outfitter fg list
outfitter fieldguides add react-patterns typescript-standards
# View help
outfitter --helpCommands
outfitter equip (alias: init)
Interactively install Outfitter configurations and utilities to your project.
outfitter equip # Interactive setup
outfitter equip --preset nextjs # Use Next.js presetAvailable presets:
nextjs- Next.js full-stack applicationsreact- React single-page applicationsnode- Node.js backend servicesminimal- Just TypeScript standards
outfitter fieldguides (alias: fg)
Manage project fieldguides - living documentation and patterns for your team.
# List available fieldguides
outfitter fieldguides list
# Add fieldguides to your project
outfitter fieldguides add react-patterns typescript-standards
# Update existing fieldguides
outfitter fieldguides update
# Create a new fieldguide
outfitter fieldguides create
# Configure fieldguide settings
outfitter fieldguides configTerrain Detection
Outfitter automatically detects your project's technology stack to provide tailored recommendations and configurations. This "terrain detection" analyzes your project for:
Detected Frameworks
- Frontend: Next.js, React, Vue, Svelte, Angular
- Build Tools: Vite, Webpack
- Languages: TypeScript, JavaScript, Python
Detected Tools
- Testing: Vitest, Jest, Playwright, Cypress
- State Management: Zustand, Redux, MobX
- Package Managers: pnpm, yarn, npm, bun
- CI/CD: GitHub Actions, GitLab CI
- Containerization: Docker
Detected Project Types
- Monorepo structures (pnpm workspaces, Lerna, Nx, Rush)
- TypeScript projects
- Python projects
The terrain detection runs automatically when you use commands like outfitter equip or outfitter fieldguides add, ensuring that:
- Recommended configurations match your tech stack
- Fieldguides are relevant to your frameworks
- Installation commands use your preferred package manager
Configuration
Projects initialized with Outfitter have a .outfitter/ directory containing:
.outfitter/
├── config.json # Project configuration and installed supplies
├── supplies/ # Local copies of installed supplies
└── cache/ # Version and update cacheconfig.json
{
"version": "1.0.0",
"preset": "nextjs",
"supplies": [
"typescript-standards",
"react-patterns",
"nextjs-patterns",
"testing-standards"
],
"installed": "2024-01-20T10:30:00Z"
}Packlists
Packlists allow you to share and standardize supply configurations across teams.
Creating a Packlist
# Export your current setup
outfitter pack export --output frontend-standard.jsonUsing a Packlist
# In a new project
outfitter init
outfitter pack import frontend-standard.jsonPacklist Format
{
"name": "Frontend Standard",
"version": "1.0.0",
"supplies": ["typescript-standards", "react-patterns", "testing-standards"],
"created": "2024-01-20T10:30:00Z"
}Available Supplies
Standards
typescript-standards- Core TypeScript patterns and conventionstesting-standards- Comprehensive testing methodologysecurity-standards- Security baseline and best practicesdocumentation-standards- Clear documentation guidelines
Patterns
react-patterns- React component and hook patternsnextjs-patterns- Next.js specific patternstypescript-error-handling- Error handling patternsperformance-patterns- Performance optimization patterns
Guides
react-hook-form- Form handling with React Hook Formreact-query- Data fetching with React Queryzustand-guide- State management with Zustandvitest-guide- Testing with Vitestplaywright-guide- E2E testing with Playwright
Integration with AI Assistants
Use the --with-claude flag during initialization to create a CLAUDE.md file
that references your installed supplies:
outfitter init --preset react --with-claudeThis creates a CLAUDE.md that helps AI assistants understand your project's standards and patterns.
Development
This package is part of the Outfitter monorepo.
See the Development Guide for instructions on building, testing, and contributing to this package.
Roadmap
- [ ] GitHub integration for fetching supplies
- [ ] Version management and updates
- [ ] Custom supply sources
- [ ] Team/organization presets
- [ ] Supply dependency resolution
- [ ] Offline mode with cached supplies
- [ ]
outfitter doctor- Check project compliance - [ ]
outfitter migrate- Migrate between standards versions
License
MIT
