@stackbone/cli 0.1.0-alpha.4 → 0.1.0-alpha.6
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 +78 -0
- package/main.js +4240 -594
- package/package.json +1 -1
- package/stackbone-cli-0.1.0-alpha.6.tgz +0 -0
- package/stackbone-cli-0.1.0-alpha.4.tgz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,84 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.1.0-alpha.6] - 2026-05-18
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Git Bash / MSYS / MinGW on Windows are no longer caught by the native
|
|
15
|
+
Windows guard. `isWindowsNative` now also inspects
|
|
16
|
+
`process.env.MSYSTEM` (`MINGW64`, `MINGW32`, `MSYS`), which Git for
|
|
17
|
+
Windows sets in every Git Bash session — including the one VS Code's
|
|
18
|
+
integrated terminal spawns. The banner and `unsupported_platform`
|
|
19
|
+
envelope still steer PowerShell / CMD users to WSL2, with Git Bash now
|
|
20
|
+
listed alongside as a supported alternative.
|
|
21
|
+
|
|
22
|
+
## [0.1.0-alpha.5] - 2026-05-18
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- `stackbone docs <section>` content is now generated from the wiki
|
|
27
|
+
(`apps/wiki/public/content/docs/<section>/*.md`). A new
|
|
28
|
+
`cli:sync-docs` Nx target reads every markdown page, strips the
|
|
29
|
+
frontmatter, prepends the title as an H1 and emits
|
|
30
|
+
`apps/cli/src/docs/topics.generated.ts`; `cli:build` depends on it so
|
|
31
|
+
the bundled CLI can never drift from the wiki again. `docs <section>`
|
|
32
|
+
prints an auto-generated table of contents; `docs <section>/<slug>`
|
|
33
|
+
prints the page body. The inline `starters` / `connections`
|
|
34
|
+
placeholders are gone — once the corresponding wiki pages land they
|
|
35
|
+
surface automatically.
|
|
36
|
+
- Branded interactive surface. Clack's prompt glyphs (`◆`, `│`, `┌`,
|
|
37
|
+
`└`, spinner) are repainted to brand orange via a pnpm patch on
|
|
38
|
+
`@clack/prompts`, the boot banner picks up the same truecolor
|
|
39
|
+
accent, and every interactive command (`init`, `link`, `dev`,
|
|
40
|
+
`login`) now opens with a `◆◆◆ stackbone v<version> · <command>`
|
|
41
|
+
header. The `login` flow uses `note()` for the device code + URL,
|
|
42
|
+
`log.step()` for the browser hint and a `spinner()` for the polling
|
|
43
|
+
wait — replacing the raw `process.stdout` writes that read flat
|
|
44
|
+
against the rest of the clack session.
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
|
|
48
|
+
- **Breaking — `--api-url` flag removed.** Control-plane URL resolution
|
|
49
|
+
collapses to `STACKBONE_API_URL` → project config → global config.
|
|
50
|
+
The env var keeps working internally so the team can still point at
|
|
51
|
+
staging/prod, but it is no longer advertised in the wiki, the
|
|
52
|
+
embedded skill template or the README — external developers should
|
|
53
|
+
not need to think about it. HTTP, device-flow and dev-tunnel error
|
|
54
|
+
suggestions are updated to match.
|
|
55
|
+
- Native Windows shells (PowerShell, CMD, Git Bash) are now blocked at
|
|
56
|
+
startup. `process.platform === 'win32'` triggers a branded `◆◆◆`
|
|
57
|
+
banner pointing at issue #70 for the long-term Windows-support work,
|
|
58
|
+
routed through the canonical `StackboneCliError` envelope so
|
|
59
|
+
`--json` consumers see the same `{schema_version, error, exit_code}`
|
|
60
|
+
shape they get from every other failure. WSL is unaffected because
|
|
61
|
+
Node there reports `linux`.
|
|
62
|
+
- The truecolor ANSI palette is centralised in `core/ansi.ts` and
|
|
63
|
+
reused from the boot-banner, brand-header and platform-guard
|
|
64
|
+
formatters instead of three hand-copied `{ reset, bold, dim, accent }`
|
|
65
|
+
objects drifting in parallel.
|
|
66
|
+
- Internal cleanup: `parseResponse(schema, raw, context)` extracted to
|
|
67
|
+
`infra/http.ts` so every control-plane service shares one error
|
|
68
|
+
envelope for unexpected response shapes; `resolveDrizzleKitBin`
|
|
69
|
+
consolidated in `dev/drizzle-bin.ts`; UUID validation centralised in
|
|
70
|
+
`dev/uuid.ts`. `stackbone dev` only fetches the active organization
|
|
71
|
+
when the project is missing `localDevInstallationId` /
|
|
72
|
+
`organizationSlug`, and SIGINT teardown runs the tunnel-PATCH and
|
|
73
|
+
`session.stop()` via `Promise.allSettled` so a hung control-plane
|
|
74
|
+
call cannot block docker teardown. Independent filesystem writes in
|
|
75
|
+
`project.service` and `dev/compose.ts` now run in parallel.
|
|
76
|
+
|
|
77
|
+
### Fixed
|
|
78
|
+
|
|
79
|
+
- `stackbone init` on a clean directory no longer errors with "Refusing
|
|
80
|
+
to overwrite agent.yaml". Every starter ships a placeholder manifest
|
|
81
|
+
that `writeStarterFiles` would write first, then
|
|
82
|
+
`writeAgentManifest` would refuse to overwrite. The new
|
|
83
|
+
`writeStarterProject` helper drops the placeholder, writes the rest
|
|
84
|
+
of the starter, and regenerates the manifest with the user-chosen
|
|
85
|
+
name; a flow-level test pins the contract so the two helpers cannot
|
|
86
|
+
re-diverge.
|
|
87
|
+
|
|
10
88
|
## [0.1.0-alpha.4] - 2026-05-18
|
|
11
89
|
|
|
12
90
|
### Changed
|