Core shared configurations and utilities for Outfitter projects.
This monorepo contains the following packages:
- @outfitter/contracts - Result pattern utilities with zero dependencies (Bun build, 18ms)
- @outfitter/baselayer - Consolidated configurations with sub-path exports (includes TypeScript configs:
@outfitter/baselayer/typescript/*)
- outfitter (CLI) - Globally installable command-line tool
- @outfitter/flint - Unified formatting/linting setup
- @outfitter/packlist - Development setup orchestration
- @outfitter/fieldguides - Living documentation system
- @outfitter/contracts-zod - Zod integration utilities
// Modern sub-path export pattern
import { biomeConfig } from '@outfitter/baselayer/biome-config';
import { prettierConfig } from '@outfitter/baselayer/prettier-config';
import { changesetConfig } from '@outfitter/baselayer/changeset-config';Requirements:
- Bun 1.2.19
- Node.js ≥ 20
# One-command setup (installs tools, dependencies, and verifies setup)
bun run setup
# or
./scripts/setup.sh
# Windows users (if Git Bash/WSL not available)
bun run setup:win
# Manual setup
bun install
# Build all packages (contracts builds first, then everything else)
bun run build
# Run tests
bun test
# Lint and format
bun run ci:local
# Development with watch mode
bun run dev # In specific package directoryThis monorepo is optimized for speed:
- Full build: ~626ms (5-6x faster than baseline)
- Individual packages: 18-24ms bundling (8-10x faster)
- Bun native workspace filtering: Intelligent task orchestration
- Bun hybrid builds: JavaScript bundling + TypeScript declarations
This monorepo uses Changesets for version management and publishing.
# Add a changeset
bun run changeset
# Version packages
bun run changeset:version
# Publish to npm
bun run changeset:publishMIT