@ontrails/trails 0.2.0 → 0.2.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # trails
2
2
 
3
+ ## 0.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`d785a07`](https://github.com/outfitter-dev/trails/commit/d785a07b458899a7da14999e9b7856b8a7446e66): Align current installation examples with the 0.2.1 scaffold correction and keep Homebrew version checks explicit while preserving the 0.2.0 repair guidance.
8
+ - [`d785a07`](https://github.com/outfitter-dev/trails/commit/d785a07b458899a7da14999e9b7856b8a7446e66): Keep automatic release eligibility when canonical version generation updates the root Bun lockfile and bundled skill framework metadata, while retaining the existing release provenance checks and rejecting other plugin files.
9
+ - [`fdef61f`](https://github.com/outfitter-dev/trails/commit/fdef61feeef9b2250d537640db147cb9a9e484bd): Update package installation guidance to reflect the verified npm and Homebrew 0.2.0 release, with the published CLI scaffold repair linked from its README.
10
+ - [`fdef61f`](https://github.com/outfitter-dev/trails/commit/fdef61feeef9b2250d537640db147cb9a9e484bd): Generate an explicit `@types/node` development dependency in fresh standalone and workspace apps so Node built-in imports resolve in cold installs.
11
+ - [`ef3c802`](https://github.com/outfitter-dev/trails/commit/ef3c802f7e5b6ca92b32b11d76c26517ef388b13): Exclude unrelated `.worktrees` checkouts from lock round-trip copies while preserving tracked inputs and explicitly selected lock fixtures.
12
+
3
13
  ## 0.2.0
4
14
 
5
15
  ### Patch Changes
package/README.md CHANGED
@@ -2,17 +2,19 @@
2
2
 
3
3
  Command-line tools for working with Trails projects.
4
4
 
5
- Use the canonical [Homebrew installation guide](../../docs/getting-started.md#installation) for installation, updates, and removal. Stable `0.2.0` installation requires the release assets and tap update; that handoff is pending. The formula requires Bun at runtime.
5
+ Use the canonical [Homebrew installation guide](../../docs/getting-started.md#installation) for installation, updates, and removal. The CLI requires Bun at runtime; use `trails --version` to check the installed release.
6
6
 
7
7
  Use the CLI to scaffold a Trails app, add surfaces, inspect the current topo, run warden checks, manage draft state, and keep local Trails project state tidy.
8
8
 
9
- These commands target stable `0.2.0`. Run them after that version is published to npm.
9
+ These installation examples target Trails `0.2.1` on the normal npm release line.
10
10
 
11
11
  ```bash
12
- bunx @ontrails/trails@0.2.0 create my-app --permit '{"id":"local-dev","scopes":["project:write"]}'
13
- bunx @ontrails/trails@0.2.0 create my-app --workspace --permit '{"id":"local-dev","scopes":["project:write"]}'
12
+ bunx @ontrails/trails@0.2.1 create my-app --permit '{"id":"local-dev","scopes":["project:write"]}'
13
+ bunx @ontrails/trails@0.2.1 create my-app --workspace --permit '{"id":"local-dev","scopes":["project:write"]}'
14
14
  ```
15
15
 
16
+ Apps generated by the published `0.2.0` CLI need an explicit Node types dependency before typechecking. Follow the [0.2.0 scaffold repair](../../docs/getting-started.md#repair-apps-generated-by-020).
17
+
16
18
  Common workflows:
17
19
 
18
20
  - `trails create` starts a standalone app by default; `--workspace` creates a configured workspace with that app under `apps/<name>`. Generated surfaces live under `bin/`, app source stays side-effect-free, and `--dry-run` returns the complete write plan without touching disk. Workspace creation rejects targets nested beneath an existing configured workspace while allowing a child workspace beneath an ancestor standalone Config. On a rerun, a preserved app entry also rejects when its runtime-selected topo ID can be statically proven to conflict with `workspace.apps`; dynamic, indirect, and post-construction mutation forms remain preserved and are validated by runtime commands such as `trails compile`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ontrails/trails",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/outfitter-dev/trails.git",
@@ -33,25 +33,25 @@
33
33
  "dependencies": {
34
34
  "@clack/prompts": "^1.1.0",
35
35
  "@manypkg/get-packages": "1.1.3",
36
- "@ontrails/adapter-kit": "^0.2.0",
37
- "@ontrails/cli": "^0.2.0",
38
- "@ontrails/commander": "^0.2.0",
39
- "@ontrails/config": "^0.2.0",
40
- "@ontrails/core": "^0.2.0",
41
- "@ontrails/http": "^0.2.0",
42
- "@ontrails/mcp": "^0.2.0",
43
- "@ontrails/observability": "^0.2.0",
44
- "@ontrails/permits": "^0.2.0",
45
- "@ontrails/regrade": "^0.2.0",
46
- "@ontrails/source": "^0.2.0",
47
- "@ontrails/topography": "^0.2.0",
48
- "@ontrails/warden": "^0.2.0",
36
+ "@ontrails/adapter-kit": "^0.2.1",
37
+ "@ontrails/cli": "^0.2.1",
38
+ "@ontrails/commander": "^0.2.1",
39
+ "@ontrails/config": "^0.2.1",
40
+ "@ontrails/core": "^0.2.1",
41
+ "@ontrails/http": "^0.2.1",
42
+ "@ontrails/mcp": "^0.2.1",
43
+ "@ontrails/observability": "^0.2.1",
44
+ "@ontrails/permits": "^0.2.1",
45
+ "@ontrails/regrade": "^0.2.1",
46
+ "@ontrails/source": "^0.2.1",
47
+ "@ontrails/topography": "^0.2.1",
48
+ "@ontrails/warden": "^0.2.1",
49
49
  "commander": "^14.0.3",
50
50
  "typescript": "5.9.3",
51
51
  "zod": "^4.3.5"
52
52
  },
53
53
  "devDependencies": {
54
- "@ontrails/cloudflare": "^0.2.0",
55
- "@ontrails/testing": "^0.2.0"
54
+ "@ontrails/cloudflare": "^0.2.1",
55
+ "@ontrails/testing": "^0.2.1"
56
56
  }
57
57
  }
@@ -39,6 +39,7 @@ const isDisposablePath = (segments: readonly string[]): boolean =>
39
39
  part === '.tmp-tests' ||
40
40
  part === '.trails-tmp' ||
41
41
  part === '.turbo' ||
42
+ part === '.worktrees' ||
42
43
  (part === 'worktrees' && segments[index - 1] === '.claude') ||
43
44
  (part === 'notes' && segments[index - 1] === '.agents')
44
45
  );
@@ -728,6 +728,14 @@ const evaluateGeneratedReleaseDiff = (
728
728
  let hasPackageVersionFile = false;
729
729
 
730
730
  for (const file of changedFiles) {
731
+ if (
732
+ (file.path === 'bun.lock' ||
733
+ file.path === 'plugin/skills/trails/SKILL.md') &&
734
+ file.status === 'M'
735
+ ) {
736
+ continue;
737
+ }
738
+
731
739
  if (file.path === '.changeset/pre.json' && file.status === 'M') {
732
740
  continue;
733
741
  }
@@ -95,6 +95,12 @@ const loadScaffoldVersions = async (
95
95
  'devDependencies',
96
96
  rootPackageJsonPath
97
97
  ),
98
+ nodeTypes: requireValue(
99
+ devDeps['@types/node'],
100
+ '@types/node',
101
+ 'devDependencies',
102
+ rootPackageJsonPath
103
+ ),
98
104
  oxfmt: requireValue(
99
105
  devDeps['oxfmt'],
100
106
  'oxfmt',
@@ -4,6 +4,7 @@ export const scaffoldDependencyVersions = {
4
4
  bunTypes: '^1.3.11',
5
5
  commander: '^14.0.3',
6
6
  lefthook: '^2.1.1',
7
+ nodeTypes: '^25.5.0',
7
8
  oxfmt: '0.47.0',
8
9
  oxlint: '1.62.0',
9
10
  typescript: '^5.9.3',
@@ -92,6 +92,7 @@ const generateAppPackageJson = (name: string): string => {
92
92
  Object.entries({
93
93
  '@ontrails/trails': ontrailsPackageRange,
94
94
  '@types/bun': scaffoldDependencyVersions.bunTypes,
95
+ '@types/node': scaffoldDependencyVersions.nodeTypes,
95
96
  oxfmt: scaffoldDependencyVersions.oxfmt,
96
97
  oxlint: scaffoldDependencyVersions.oxlint,
97
98
  typescript: scaffoldDependencyVersions.typescript,