Version coordination meta-package for Outfitter
npm install @outfitter/kitVersion coordination meta-package for Outfitter.
This package ensures compatible versions across all @outfitter/* packages. Install it alongside specific packages to get coordinated version constraints via peerDependencies.
``bash`
bun add @outfitter/kit
Use @outfitter/kit when:
1. Building applications that use multiple Outfitter packages
2. Ensuring compatibility between package versions
3. Checking version requirements programmatically
`bash`Install stack alongside the packages you need
bun add @outfitter/kit @outfitter/cli @outfitter/logging @outfitter/config
The stack's peerDependencies will warn if you have incompatible versions installed.
See VERSIONS.md for the complete compatibility matrix.
| Package | Minimum Version |
|---------|-----------------|
| @outfitter/contracts | 0.1.0-rc.1 |
| @outfitter/types | 0.1.0-rc.1 |
| @outfitter/cli | 0.1.0-rc.1 |
| @outfitter/config | 0.1.0-rc.1 |
| @outfitter/logging | 0.1.0-rc.1 |
| @outfitter/file-ops | 0.1.0-rc.1 |
| @outfitter/state | 0.1.0-rc.1 |
| @outfitter/mcp | 0.1.0-rc.1 |
| @outfitter/index | 0.1.0-rc.1 |
| @outfitter/daemon | 0.1.0-rc.1 |
| @outfitter/testing | 0.1.0-rc.1 |
The current stack version (matches package.json).
`typescript
import { STACK_VERSION } from "@outfitter/kit";
console.log(Using Outfitter Stack ${STACK_VERSION});`
Minimum compatible versions for each package.
`typescript
import { MINIMUM_VERSIONS } from "@outfitter/kit";
// Check if a package meets the minimum version
const cliMinimum = MINIMUM_VERSIONS["@outfitter/cli"]; // "0.1.0-rc.0"
`
Type for valid package names in the stack.
`typescript
import { type OutfitterPackage, MINIMUM_VERSIONS } from "@outfitter/kit";
function getMinVersion(pkg: OutfitterPackage): string {
return MINIMUM_VERSIONS[pkg];
}
getMinVersion("@outfitter/cli"); // "0.1.0-rc.0"
getMinVersion("@outfitter/invalid"); // TypeScript error
`
| Export | Type | Description |
|--------|------|-------------|
| STACK_VERSION | string | Current stack version |MINIMUM_VERSIONS
| | Record | Minimum versions for all packages |OutfitterPackage
| | type | Union type of valid package names |
Packages are organized into tiers based on stability:
- Result/Error patterns
- @outfitter/types - Branded types$3
Expected to evolve:
- @outfitter/cli - CLI framework (includes terminal rendering)
- @outfitter/config - Configuration
- @outfitter/logging - Structured logging
- @outfitter/file-ops - File operations
- @outfitter/state - State management
- @outfitter/mcp - MCP server framework
- @outfitter/index - SQLite FTS5 indexing
- @outfitter/daemon - Daemon lifecycle$3
Workflow-focused:
- @outfitter/testing - Test harnessesRelated Packages
All
@outfitter/*` packages are designed to work together. See individual package documentation:- @outfitter/contracts - Result types and error patterns
- @outfitter/cli - CLI framework
- @outfitter/daemon - Daemon lifecycle management
- @outfitter/testing - Test harnesses
MIT