@outfitter/kit 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +131 -0
- package/VERSIONS.md +38 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +19 -0
- package/package.json +90 -0
package/README.md
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# @outfitter/kit
|
|
2
|
+
|
|
3
|
+
Version coordination meta-package for Outfitter.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
This package ensures compatible versions across all `@outfitter/*` packages. Install it alongside specific packages to get coordinated version constraints via `peerDependencies`.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
bun add @outfitter/kit
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## When to Use
|
|
16
|
+
|
|
17
|
+
Use `@outfitter/kit` when:
|
|
18
|
+
|
|
19
|
+
1. **Building applications** that use multiple Outfitter packages
|
|
20
|
+
2. **Ensuring compatibility** between package versions
|
|
21
|
+
3. **Checking version requirements** programmatically
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Install stack alongside the packages you need
|
|
25
|
+
bun add @outfitter/kit @outfitter/cli @outfitter/logging @outfitter/config
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
The stack's `peerDependencies` will warn if you have incompatible versions installed.
|
|
29
|
+
|
|
30
|
+
## Version Matrix
|
|
31
|
+
|
|
32
|
+
See [VERSIONS.md](./VERSIONS.md) for the complete compatibility matrix.
|
|
33
|
+
|
|
34
|
+
### Current Release (0.1.0-rc.1)
|
|
35
|
+
|
|
36
|
+
| Package | Minimum Version |
|
|
37
|
+
|---------|-----------------|
|
|
38
|
+
| @outfitter/contracts | 0.1.0-rc.1 |
|
|
39
|
+
| @outfitter/types | 0.1.0-rc.1 |
|
|
40
|
+
| @outfitter/cli | 0.1.0-rc.1 |
|
|
41
|
+
| @outfitter/config | 0.1.0-rc.1 |
|
|
42
|
+
| @outfitter/logging | 0.1.0-rc.1 |
|
|
43
|
+
| @outfitter/file-ops | 0.1.0-rc.1 |
|
|
44
|
+
| @outfitter/state | 0.1.0-rc.1 |
|
|
45
|
+
| @outfitter/mcp | 0.1.0-rc.1 |
|
|
46
|
+
| @outfitter/index | 0.1.0-rc.1 |
|
|
47
|
+
| @outfitter/daemon | 0.1.0-rc.1 |
|
|
48
|
+
| @outfitter/testing | 0.1.0-rc.1 |
|
|
49
|
+
|
|
50
|
+
## Exports
|
|
51
|
+
|
|
52
|
+
### STACK_VERSION
|
|
53
|
+
|
|
54
|
+
The current stack version (matches package.json).
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
import { STACK_VERSION } from "@outfitter/kit";
|
|
58
|
+
|
|
59
|
+
console.log(`Using Outfitter Stack ${STACK_VERSION}`);
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### MINIMUM_VERSIONS
|
|
63
|
+
|
|
64
|
+
Minimum compatible versions for each package.
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
import { MINIMUM_VERSIONS } from "@outfitter/kit";
|
|
68
|
+
|
|
69
|
+
// Check if a package meets the minimum version
|
|
70
|
+
const cliMinimum = MINIMUM_VERSIONS["@outfitter/cli"]; // "0.1.0-rc.0"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### OutfitterPackage
|
|
74
|
+
|
|
75
|
+
Type for valid package names in the stack.
|
|
76
|
+
|
|
77
|
+
```typescript
|
|
78
|
+
import { type OutfitterPackage, MINIMUM_VERSIONS } from "@outfitter/kit";
|
|
79
|
+
|
|
80
|
+
function getMinVersion(pkg: OutfitterPackage): string {
|
|
81
|
+
return MINIMUM_VERSIONS[pkg];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
getMinVersion("@outfitter/cli"); // "0.1.0-rc.0"
|
|
85
|
+
getMinVersion("@outfitter/invalid"); // TypeScript error
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## API Reference
|
|
89
|
+
|
|
90
|
+
| Export | Type | Description |
|
|
91
|
+
|--------|------|-------------|
|
|
92
|
+
| `STACK_VERSION` | `string` | Current stack version |
|
|
93
|
+
| `MINIMUM_VERSIONS` | `Record<OutfitterPackage, string>` | Minimum versions for all packages |
|
|
94
|
+
| `OutfitterPackage` | `type` | Union type of valid package names |
|
|
95
|
+
|
|
96
|
+
## Dependency Tiers
|
|
97
|
+
|
|
98
|
+
Packages are organized into tiers based on stability:
|
|
99
|
+
|
|
100
|
+
### Foundation (cold)
|
|
101
|
+
Stable APIs, rarely change:
|
|
102
|
+
- `@outfitter/contracts` - Result/Error patterns
|
|
103
|
+
- `@outfitter/types` - Branded types
|
|
104
|
+
|
|
105
|
+
### Runtime (warm)
|
|
106
|
+
Expected to evolve:
|
|
107
|
+
- `@outfitter/cli` - CLI framework (includes terminal rendering)
|
|
108
|
+
- `@outfitter/config` - Configuration
|
|
109
|
+
- `@outfitter/logging` - Structured logging
|
|
110
|
+
- `@outfitter/file-ops` - File operations
|
|
111
|
+
- `@outfitter/state` - State management
|
|
112
|
+
- `@outfitter/mcp` - MCP server framework
|
|
113
|
+
- `@outfitter/index` - SQLite FTS5 indexing
|
|
114
|
+
- `@outfitter/daemon` - Daemon lifecycle
|
|
115
|
+
|
|
116
|
+
### Tooling (lukewarm)
|
|
117
|
+
Workflow-focused:
|
|
118
|
+
- `@outfitter/testing` - Test harnesses
|
|
119
|
+
|
|
120
|
+
## Related Packages
|
|
121
|
+
|
|
122
|
+
All `@outfitter/*` packages are designed to work together. See individual package documentation:
|
|
123
|
+
|
|
124
|
+
- [@outfitter/contracts](../contracts/README.md) - Result types and error patterns
|
|
125
|
+
- [@outfitter/cli](../cli/README.md) - CLI framework
|
|
126
|
+
- [@outfitter/daemon](../daemon/README.md) - Daemon lifecycle management
|
|
127
|
+
- [@outfitter/testing](../testing/README.md) - Test harnesses
|
|
128
|
+
|
|
129
|
+
## License
|
|
130
|
+
|
|
131
|
+
MIT
|
package/VERSIONS.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Version Compatibility Matrix
|
|
2
|
+
|
|
3
|
+
This document tracks version compatibility across @outfitter packages.
|
|
4
|
+
|
|
5
|
+
## Current Release
|
|
6
|
+
|
|
7
|
+
| Package | Version | Status |
|
|
8
|
+
|---------|---------|--------|
|
|
9
|
+
| @outfitter/contracts | 0.1.0-rc.0 | RC |
|
|
10
|
+
| @outfitter/types | 0.1.0-rc.0 | RC |
|
|
11
|
+
| @outfitter/cli | 0.1.0-rc.0 | RC |
|
|
12
|
+
| @outfitter/config | 0.1.0-rc.0 | RC |
|
|
13
|
+
| @outfitter/logging | 0.1.0-rc.0 | RC |
|
|
14
|
+
| @outfitter/file-ops | 0.1.0-rc.0 | RC |
|
|
15
|
+
| @outfitter/state | 0.1.0-rc.0 | RC |
|
|
16
|
+
| @outfitter/mcp | 0.1.0-rc.0 | RC |
|
|
17
|
+
| @outfitter/index | 0.1.0-rc.0 | RC |
|
|
18
|
+
| @outfitter/daemon | 0.1.0-rc.0 | RC |
|
|
19
|
+
| @outfitter/testing | 0.1.0-rc.0 | RC |
|
|
20
|
+
|
|
21
|
+
## Dependency Tiers
|
|
22
|
+
|
|
23
|
+
### Foundation (cold)
|
|
24
|
+
- `@outfitter/contracts` - Result/Error patterns
|
|
25
|
+
- `@outfitter/types` - Branded types
|
|
26
|
+
|
|
27
|
+
### Runtime (warm)
|
|
28
|
+
- `@outfitter/cli` - CLI framework (includes terminal rendering)
|
|
29
|
+
- `@outfitter/config` - Configuration
|
|
30
|
+
- `@outfitter/logging` - Structured logging
|
|
31
|
+
- `@outfitter/file-ops` - File operations
|
|
32
|
+
- `@outfitter/state` - State management
|
|
33
|
+
- `@outfitter/mcp` - MCP server framework
|
|
34
|
+
- `@outfitter/index` - SQLite FTS5 indexing
|
|
35
|
+
- `@outfitter/daemon` - Daemon lifecycle
|
|
36
|
+
|
|
37
|
+
### Tooling (lukewarm)
|
|
38
|
+
- `@outfitter/testing` - Test harnesses
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @outfitter/kit - Version coordination meta-package
|
|
3
|
+
*
|
|
4
|
+
* This package coordinates versions across all @outfitter packages.
|
|
5
|
+
* Install it alongside specific packages to ensure compatible versions.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Stack version - matches package.json version
|
|
11
|
+
*/
|
|
12
|
+
declare const STACK_VERSION = "0.1.0-rc.1";
|
|
13
|
+
/**
|
|
14
|
+
* Minimum compatible versions for each package
|
|
15
|
+
*/
|
|
16
|
+
declare const MINIMUM_VERSIONS: {
|
|
17
|
+
readonly "@outfitter/cli": "0.1.0-rc.1";
|
|
18
|
+
readonly "@outfitter/config": "0.1.0-rc.1";
|
|
19
|
+
readonly "@outfitter/contracts": "0.1.0-rc.1";
|
|
20
|
+
readonly "@outfitter/daemon": "0.1.0-rc.1";
|
|
21
|
+
readonly "@outfitter/file-ops": "0.1.0-rc.1";
|
|
22
|
+
readonly "@outfitter/index": "0.1.0-rc.1";
|
|
23
|
+
readonly "@outfitter/logging": "0.1.0-rc.1";
|
|
24
|
+
readonly "@outfitter/mcp": "0.1.0-rc.1";
|
|
25
|
+
readonly "@outfitter/state": "0.1.0-rc.1";
|
|
26
|
+
readonly "@outfitter/testing": "0.1.0-rc.1";
|
|
27
|
+
readonly "@outfitter/types": "0.1.0-rc.1";
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Type for package names in the stack
|
|
31
|
+
*/
|
|
32
|
+
type OutfitterPackage = keyof typeof MINIMUM_VERSIONS;
|
|
33
|
+
export { STACK_VERSION, OutfitterPackage, MINIMUM_VERSIONS };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// src/index.ts
|
|
2
|
+
var STACK_VERSION = "0.1.0-rc.1";
|
|
3
|
+
var MINIMUM_VERSIONS = {
|
|
4
|
+
"@outfitter/cli": "0.1.0-rc.1",
|
|
5
|
+
"@outfitter/config": "0.1.0-rc.1",
|
|
6
|
+
"@outfitter/contracts": "0.1.0-rc.1",
|
|
7
|
+
"@outfitter/daemon": "0.1.0-rc.1",
|
|
8
|
+
"@outfitter/file-ops": "0.1.0-rc.1",
|
|
9
|
+
"@outfitter/index": "0.1.0-rc.1",
|
|
10
|
+
"@outfitter/logging": "0.1.0-rc.1",
|
|
11
|
+
"@outfitter/mcp": "0.1.0-rc.1",
|
|
12
|
+
"@outfitter/state": "0.1.0-rc.1",
|
|
13
|
+
"@outfitter/testing": "0.1.0-rc.1",
|
|
14
|
+
"@outfitter/types": "0.1.0-rc.1"
|
|
15
|
+
};
|
|
16
|
+
export {
|
|
17
|
+
STACK_VERSION,
|
|
18
|
+
MINIMUM_VERSIONS
|
|
19
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@outfitter/kit",
|
|
3
|
+
"description": "Version coordination meta-package for Outfitter",
|
|
4
|
+
"version": "0.2.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist",
|
|
8
|
+
"VERSIONS.md"
|
|
9
|
+
],
|
|
10
|
+
"module": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"import": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"default": "./dist/index.js"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"./package.json": "./package.json"
|
|
20
|
+
},
|
|
21
|
+
"peerDependencies": {
|
|
22
|
+
"@outfitter/cli": ">=0.1.0",
|
|
23
|
+
"@outfitter/config": ">=0.1.0",
|
|
24
|
+
"@outfitter/contracts": ">=0.1.0",
|
|
25
|
+
"@outfitter/daemon": ">=0.1.0",
|
|
26
|
+
"@outfitter/file-ops": ">=0.1.0",
|
|
27
|
+
"@outfitter/index": ">=0.1.0",
|
|
28
|
+
"@outfitter/logging": ">=0.1.0",
|
|
29
|
+
"@outfitter/mcp": ">=0.1.0",
|
|
30
|
+
"@outfitter/state": ">=0.1.0",
|
|
31
|
+
"@outfitter/testing": ">=0.1.0",
|
|
32
|
+
"@outfitter/types": ">=0.1.0",
|
|
33
|
+
"@outfitter/ui": ">=0.1.0-rc.1"
|
|
34
|
+
},
|
|
35
|
+
"peerDependenciesMeta": {
|
|
36
|
+
"@outfitter/cli": {
|
|
37
|
+
"optional": true
|
|
38
|
+
},
|
|
39
|
+
"@outfitter/config": {
|
|
40
|
+
"optional": true
|
|
41
|
+
},
|
|
42
|
+
"@outfitter/contracts": {
|
|
43
|
+
"optional": true
|
|
44
|
+
},
|
|
45
|
+
"@outfitter/daemon": {
|
|
46
|
+
"optional": true
|
|
47
|
+
},
|
|
48
|
+
"@outfitter/file-ops": {
|
|
49
|
+
"optional": true
|
|
50
|
+
},
|
|
51
|
+
"@outfitter/index": {
|
|
52
|
+
"optional": true
|
|
53
|
+
},
|
|
54
|
+
"@outfitter/logging": {
|
|
55
|
+
"optional": true
|
|
56
|
+
},
|
|
57
|
+
"@outfitter/mcp": {
|
|
58
|
+
"optional": true
|
|
59
|
+
},
|
|
60
|
+
"@outfitter/state": {
|
|
61
|
+
"optional": true
|
|
62
|
+
},
|
|
63
|
+
"@outfitter/testing": {
|
|
64
|
+
"optional": true
|
|
65
|
+
},
|
|
66
|
+
"@outfitter/types": {
|
|
67
|
+
"optional": true
|
|
68
|
+
},
|
|
69
|
+
"@outfitter/ui": {
|
|
70
|
+
"optional": true
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"scripts": {
|
|
74
|
+
"build": "bunup --filter @outfitter/kit",
|
|
75
|
+
"typecheck": "tsc --noEmit"
|
|
76
|
+
},
|
|
77
|
+
"devDependencies": {
|
|
78
|
+
"@types/bun": "latest",
|
|
79
|
+
"typescript": "^5.8.0"
|
|
80
|
+
},
|
|
81
|
+
"publishConfig": {
|
|
82
|
+
"access": "public"
|
|
83
|
+
},
|
|
84
|
+
"repository": {
|
|
85
|
+
"type": "git",
|
|
86
|
+
"url": "https://github.com/outfitter-dev/outfitter.git",
|
|
87
|
+
"directory": "packages/kit"
|
|
88
|
+
},
|
|
89
|
+
"license": "MIT"
|
|
90
|
+
}
|