Commit Graph

12 Commits

Author SHA1 Message Date
Alex Verkhovsky 513f440a23
refactor(installer): restructure installer with clean separation of concerns (#2129)
* refactor(installer): restructure installer with clean separation of concerns

Move tools/cli/ to tools/installer/ with major structural cleanup:

- InstallPaths async factory for path resolution and directory creation
- Config value object (frozen) replaces mutable config bag
- ExistingInstall value object replaces stateful Detector class
- OfficialModules + CustomModules + ExternalModuleManager replace monolithic ModuleManager
- install() is prompt-free; all user interaction in ui.js
- Update state returned explicitly instead of mutating customConfig
- Delete dead code: dependency-resolver, _base-ide, IdeConfigManager,
  platform-codes helpers, npx wrapper, xml-utils
- Flatten directory structure: custom/handler → custom-handler,
  tools/cli/ → tools/installer/, lib/ directories removed
- Update all path references in package.json, tests, CI, and docs

* fix(installer): guard ExistingInstall.version and surface module.yaml errors

Guard ExistingInstall.version access with .installed check in
uninstall.js, ui.js, and installer.js to prevent throwing on
empty/partial _bmad dirs. Surface invalid module.yaml parse errors
as warnings instead of silently returning empty results.
2026-03-27 06:50:07 -06:00
Brian a5640c890d
chore: add v6.2.2 changelog and use CHANGELOG.md for GH release notes (#2127)
Update publish workflow to extract release notes from CHANGELOG.md
instead of using --generate-notes, with fallback if no entry found.
2026-03-25 21:43:25 -05:00
Brian Madison 2e88b846f7 fix(publish): use GitHub App token to bypass branch protection
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:53:54 -05:00
Alex Verkhovsky 75ec4aa504 ci(publish): restrict workflow to upstream repo only
Prevent publish job from running on forks by gating on
github.repository == 'bmad-code-org/BMAD-METHOD'.
2026-03-12 11:00:52 -06:00
Alex Verkhovsky b7315c6e32 chore(publish): remove trusted publishing diagnostics 2026-03-10 05:23:33 -06:00
Alex Verkhovsky 6a0046917a fix(publish): pin npm for trusted publishing 2026-03-10 04:09:10 -06:00
Alex Verkhovsky c8f5b60598 fix(publish): remove empty token env and improve auth diagnostics 2026-03-10 03:57:58 -06:00
Alex Verkhovsky 7bc2b5e0e0
fix: isolate npm publish from injected auth config (#1886) 2026-03-10 03:49:01 -06:00
Alex Verkhovsky 1ed5c9d94b
fix: force trusted publish without token auth (#1885)
* fix: force trusted publish without token auth

* chore: always print npm debug logs
2026-03-10 02:42:49 -06:00
Alex Verkhovsky fb76895145
feat: allow manual next channel publish (#1884) 2026-03-10 01:20:28 -06:00
Alex Verkhovsky ebf1513069
fix: remove duplicate publish workflows (#1883)
* fix: remove duplicate publish workflows

* chore: add publish workflow diagnostics
2026-03-09 22:55:07 -06:00
Alex Verkhovsky 7857b17626
chore: unify npm publish workflow (#1881)
* ci: add continuous delivery workflows for npm publishing

Add publish-next (auto-prerelease on push to main) and publish-latest
(manual stable release with Discord notification). Update CONTRIBUTING.md
to describe the trunk-based CD model.

* fix(ci): guard publish-latest against non-main dispatch

Reject workflow_dispatch runs from non-main refs to prevent
publishing unintended code or fast-forwarding main unexpectedly.

* chore: unify npm publish workflow
2026-03-09 21:57:44 -06:00