@warpgogol/forge 2.1.0 → 2.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/AGENTS.md +1 -1
- package/README.md +39 -87
- package/README.uk.md +39 -87
- package/dist/bin/cli.d.ts +3 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +292 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/os/adr/adr.module.d.ts +3 -0
- package/dist/os/adr/adr.module.d.ts.map +1 -0
- package/dist/os/adr/adr.module.js +145 -0
- package/dist/os/adr/adr.module.js.map +1 -0
- package/dist/os/adr/frontmatter-io.d.ts +12 -0
- package/dist/os/adr/frontmatter-io.d.ts.map +1 -0
- package/dist/os/adr/frontmatter-io.js +67 -0
- package/dist/os/adr/frontmatter-io.js.map +1 -0
- package/dist/os/adr/handlers/archive.d.ts +24 -0
- package/dist/os/adr/handlers/archive.d.ts.map +1 -0
- package/dist/os/adr/handlers/archive.js +194 -0
- package/dist/os/adr/handlers/archive.js.map +1 -0
- package/dist/os/adr/handlers/implement-stamp.d.ts +4 -0
- package/dist/os/adr/handlers/implement-stamp.d.ts.map +1 -0
- package/dist/os/adr/handlers/implement-stamp.js +258 -0
- package/dist/os/adr/handlers/implement-stamp.js.map +1 -0
- package/dist/os/adr/handlers/list-create.d.ts +5 -0
- package/dist/os/adr/handlers/list-create.d.ts.map +1 -0
- package/dist/os/adr/handlers/list-create.js +165 -0
- package/dist/os/adr/handlers/list-create.js.map +1 -0
- package/dist/os/adr/handlers/validate.d.ts +4 -0
- package/dist/os/adr/handlers/validate.d.ts.map +1 -0
- package/dist/os/adr/handlers/validate.js +265 -0
- package/dist/os/adr/handlers/validate.js.map +1 -0
- package/dist/os/adr/index.d.ts +8 -0
- package/dist/os/adr/index.d.ts.map +1 -0
- package/dist/os/adr/index.js +18 -0
- package/dist/os/adr/index.js.map +1 -0
- package/dist/os/adr/types.d.ts +75 -0
- package/dist/os/adr/types.d.ts.map +1 -0
- package/dist/os/adr/types.js +55 -0
- package/dist/os/adr/types.js.map +1 -0
- package/dist/os/audit/audit.module.d.ts +3 -0
- package/dist/os/audit/audit.module.d.ts.map +1 -0
- package/dist/os/audit/audit.module.js +44 -0
- package/dist/os/audit/audit.module.js.map +1 -0
- package/dist/os/audit/frontmatter-io.d.ts +12 -0
- package/dist/os/audit/frontmatter-io.d.ts.map +1 -0
- package/dist/os/audit/frontmatter-io.js +71 -0
- package/dist/os/audit/frontmatter-io.js.map +1 -0
- package/dist/os/audit/handlers/archive.d.ts +4 -0
- package/dist/os/audit/handlers/archive.d.ts.map +1 -0
- package/dist/os/audit/handlers/archive.js +207 -0
- package/dist/os/audit/handlers/archive.js.map +1 -0
- package/dist/os/audit/index.d.ts +6 -0
- package/dist/os/audit/index.d.ts.map +1 -0
- package/dist/os/audit/index.js +16 -0
- package/dist/os/audit/index.js.map +1 -0
- package/dist/os/audit/types.d.ts +12 -0
- package/dist/os/audit/types.d.ts.map +1 -0
- package/dist/os/audit/types.js +17 -0
- package/dist/os/audit/types.js.map +1 -0
- package/dist/os/compass/compass.module.d.ts +3 -0
- package/dist/os/compass/compass.module.d.ts.map +1 -0
- package/dist/os/compass/compass.module.js +166 -0
- package/dist/os/compass/compass.module.js.map +1 -0
- package/dist/os/compass/handlers/compass-audit-handler.d.ts +36 -0
- package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -0
- package/dist/os/compass/handlers/compass-audit-handler.js +238 -0
- package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -0
- package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +19 -0
- package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +1 -0
- package/dist/os/compass/handlers/compass-change-summary-handler.js +205 -0
- package/dist/os/compass/handlers/compass-change-summary-handler.js.map +1 -0
- package/dist/os/compass/handlers/compass-inventory-handler.d.ts +28 -0
- package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +1 -0
- package/dist/os/compass/handlers/compass-inventory-handler.js +213 -0
- package/dist/os/compass/handlers/compass-inventory-handler.js.map +1 -0
- package/dist/os/compass/handlers/compass-inventory.d.ts +30 -0
- package/dist/os/compass/handlers/compass-inventory.d.ts.map +1 -0
- package/dist/os/compass/handlers/compass-inventory.js +418 -0
- package/dist/os/compass/handlers/compass-inventory.js.map +1 -0
- package/dist/os/compass/handlers/git-revision.d.ts +8 -0
- package/dist/os/compass/handlers/git-revision.d.ts.map +1 -0
- package/dist/os/compass/handlers/git-revision.js +99 -0
- package/dist/os/compass/handlers/git-revision.js.map +1 -0
- package/dist/os/compass/handlers/resolve-scan-root.d.ts +3 -0
- package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +1 -0
- package/dist/os/compass/handlers/resolve-scan-root.js +57 -0
- package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -0
- package/dist/os/compass/index.d.ts +8 -0
- package/dist/os/compass/index.d.ts.map +1 -0
- package/dist/os/compass/index.js +19 -0
- package/dist/os/compass/index.js.map +1 -0
- package/dist/os/core/core.module.d.ts +3 -0
- package/dist/os/core/core.module.d.ts.map +1 -0
- package/dist/os/core/core.module.js +758 -0
- package/dist/os/core/core.module.js.map +1 -0
- package/dist/os/core/handlers/assets-check.d.ts +19 -0
- package/dist/os/core/handlers/assets-check.d.ts.map +1 -0
- package/dist/os/core/handlers/assets-check.js +89 -0
- package/dist/os/core/handlers/assets-check.js.map +1 -0
- package/dist/os/core/handlers/assets-helpers.d.ts +28 -0
- package/dist/os/core/handlers/assets-helpers.d.ts.map +1 -0
- package/dist/os/core/handlers/assets-helpers.js +128 -0
- package/dist/os/core/handlers/assets-helpers.js.map +1 -0
- package/dist/os/core/handlers/assets-list.d.ts +9 -0
- package/dist/os/core/handlers/assets-list.d.ts.map +1 -0
- package/dist/os/core/handlers/assets-list.js +72 -0
- package/dist/os/core/handlers/assets-list.js.map +1 -0
- package/dist/os/core/handlers/build.d.ts +16 -0
- package/dist/os/core/handlers/build.d.ts.map +1 -0
- package/dist/os/core/handlers/build.js +123 -0
- package/dist/os/core/handlers/build.js.map +1 -0
- package/dist/os/core/handlers/determinism-check.d.ts +20 -0
- package/dist/os/core/handlers/determinism-check.d.ts.map +1 -0
- package/dist/os/core/handlers/determinism-check.js +289 -0
- package/dist/os/core/handlers/determinism-check.js.map +1 -0
- package/dist/os/core/handlers/dev.d.ts +10 -0
- package/dist/os/core/handlers/dev.d.ts.map +1 -0
- package/dist/os/core/handlers/dev.js +102 -0
- package/dist/os/core/handlers/dev.js.map +1 -0
- package/dist/os/core/handlers/knowledge-compact.d.ts +4 -0
- package/dist/os/core/handlers/knowledge-compact.d.ts.map +1 -0
- package/dist/os/core/handlers/knowledge-compact.js +198 -0
- package/dist/os/core/handlers/knowledge-compact.js.map +1 -0
- package/dist/os/core/handlers/pinned-check.d.ts +49 -0
- package/dist/os/core/handlers/pinned-check.d.ts.map +1 -0
- package/dist/os/core/handlers/pinned-check.js +159 -0
- package/dist/os/core/handlers/pinned-check.js.map +1 -0
- package/dist/os/core/handlers/pinned-init.d.ts +19 -0
- package/dist/os/core/handlers/pinned-init.d.ts.map +1 -0
- package/dist/os/core/handlers/pinned-init.js +283 -0
- package/dist/os/core/handlers/pinned-init.js.map +1 -0
- package/dist/os/core/handlers/pinned-types.d.ts +29 -0
- package/dist/os/core/handlers/pinned-types.d.ts.map +1 -0
- package/dist/os/core/handlers/pinned-types.js +16 -0
- package/dist/os/core/handlers/pinned-types.js.map +1 -0
- package/dist/os/core/handlers/pinned-validate.d.ts +4 -0
- package/dist/os/core/handlers/pinned-validate.d.ts.map +1 -0
- package/dist/os/core/handlers/pinned-validate.js +248 -0
- package/dist/os/core/handlers/pinned-validate.js.map +1 -0
- package/dist/os/core/handlers/profile-resolve.d.ts +13 -0
- package/dist/os/core/handlers/profile-resolve.d.ts.map +1 -0
- package/dist/os/core/handlers/profile-resolve.js +65 -0
- package/dist/os/core/handlers/profile-resolve.js.map +1 -0
- package/dist/os/core/handlers/release-prepare.d.ts +25 -0
- package/dist/os/core/handlers/release-prepare.d.ts.map +1 -0
- package/dist/os/core/handlers/release-prepare.js +228 -0
- package/dist/os/core/handlers/release-prepare.js.map +1 -0
- package/dist/os/core/handlers/release-publish.d.ts +13 -0
- package/dist/os/core/handlers/release-publish.d.ts.map +1 -0
- package/dist/os/core/handlers/release-publish.js +173 -0
- package/dist/os/core/handlers/release-publish.js.map +1 -0
- package/dist/os/core/handlers/validate.d.ts +26 -0
- package/dist/os/core/handlers/validate.d.ts.map +1 -0
- package/dist/os/core/handlers/validate.js +208 -0
- package/dist/os/core/handlers/validate.js.map +1 -0
- package/dist/os/core/handlers/workspace-deps.d.ts +12 -0
- package/dist/os/core/handlers/workspace-deps.d.ts.map +1 -0
- package/dist/os/core/handlers/workspace-deps.js +39 -0
- package/dist/os/core/handlers/workspace-deps.js.map +1 -0
- package/dist/os/core/index.d.ts +2 -0
- package/dist/os/core/index.d.ts.map +1 -0
- package/dist/os/core/index.js +13 -0
- package/dist/os/core/index.js.map +1 -0
- package/dist/os/exploration/exploration.module.d.ts +3 -0
- package/dist/os/exploration/exploration.module.d.ts.map +1 -0
- package/dist/os/exploration/exploration.module.js +82 -0
- package/dist/os/exploration/exploration.module.js.map +1 -0
- package/dist/os/exploration/frontmatter-io.d.ts +13 -0
- package/dist/os/exploration/frontmatter-io.d.ts.map +1 -0
- package/dist/os/exploration/frontmatter-io.js +61 -0
- package/dist/os/exploration/frontmatter-io.js.map +1 -0
- package/dist/os/exploration/handlers/archive.d.ts +4 -0
- package/dist/os/exploration/handlers/archive.d.ts.map +1 -0
- package/dist/os/exploration/handlers/archive.js +135 -0
- package/dist/os/exploration/handlers/archive.js.map +1 -0
- package/dist/os/exploration/handlers/list.d.ts +4 -0
- package/dist/os/exploration/handlers/list.d.ts.map +1 -0
- package/dist/os/exploration/handlers/list.js +56 -0
- package/dist/os/exploration/handlers/list.js.map +1 -0
- package/dist/os/exploration/handlers/show.d.ts +4 -0
- package/dist/os/exploration/handlers/show.d.ts.map +1 -0
- package/dist/os/exploration/handlers/show.js +91 -0
- package/dist/os/exploration/handlers/show.js.map +1 -0
- package/dist/os/exploration/index.d.ts +7 -0
- package/dist/os/exploration/index.d.ts.map +1 -0
- package/dist/os/exploration/index.js +17 -0
- package/dist/os/exploration/index.js.map +1 -0
- package/dist/os/exploration/types.d.ts +38 -0
- package/dist/os/exploration/types.d.ts.map +1 -0
- package/dist/os/exploration/types.js +23 -0
- package/dist/os/exploration/types.js.map +1 -0
- package/dist/os/mission/handlers/archive.d.ts +4 -0
- package/dist/os/mission/handlers/archive.d.ts.map +1 -0
- package/dist/os/mission/handlers/archive.js +356 -0
- package/dist/os/mission/handlers/archive.js.map +1 -0
- package/dist/os/mission/index.d.ts +2 -0
- package/dist/os/mission/index.d.ts.map +1 -0
- package/dist/os/mission/index.js +2 -0
- package/dist/os/mission/index.js.map +1 -0
- package/dist/os/mission/mission.module.d.ts +3 -0
- package/dist/os/mission/mission.module.d.ts.map +1 -0
- package/dist/os/mission/mission.module.js +44 -0
- package/dist/os/mission/mission.module.js.map +1 -0
- package/dist/os/mission/types.d.ts +23 -0
- package/dist/os/mission/types.d.ts.map +1 -0
- package/dist/os/mission/types.js +18 -0
- package/dist/os/mission/types.js.map +1 -0
- package/dist/os/naming/index.d.ts +3 -0
- package/dist/os/naming/index.d.ts.map +1 -0
- package/dist/os/naming/index.js +14 -0
- package/dist/os/naming/index.js.map +1 -0
- package/dist/os/naming/naming-convention.d.ts +25 -0
- package/dist/os/naming/naming-convention.d.ts.map +1 -0
- package/dist/os/naming/naming-convention.js +324 -0
- package/dist/os/naming/naming-convention.js.map +1 -0
- package/dist/os/naming/naming.module.d.ts +3 -0
- package/dist/os/naming/naming.module.d.ts.map +1 -0
- package/dist/os/naming/naming.module.js +33 -0
- package/dist/os/naming/naming.module.js.map +1 -0
- package/dist/os/notes/index.d.ts +2 -0
- package/dist/os/notes/index.d.ts.map +1 -0
- package/dist/os/notes/index.js +10 -0
- package/dist/os/notes/index.js.map +1 -0
- package/dist/os/notes/notes.module.d.ts +3 -0
- package/dist/os/notes/notes.module.d.ts.map +1 -0
- package/dist/os/notes/notes.module.js +83 -0
- package/dist/os/notes/notes.module.js.map +1 -0
- package/dist/os/plan/frontmatter-io.d.ts +12 -0
- package/dist/os/plan/frontmatter-io.d.ts.map +1 -0
- package/dist/os/plan/frontmatter-io.js +69 -0
- package/dist/os/plan/frontmatter-io.js.map +1 -0
- package/dist/os/plan/handlers/archive.d.ts +4 -0
- package/dist/os/plan/handlers/archive.d.ts.map +1 -0
- package/dist/os/plan/handlers/archive.js +206 -0
- package/dist/os/plan/handlers/archive.js.map +1 -0
- package/dist/os/plan/index.d.ts +6 -0
- package/dist/os/plan/index.d.ts.map +1 -0
- package/dist/os/plan/index.js +16 -0
- package/dist/os/plan/index.js.map +1 -0
- package/dist/os/plan/plan.module.d.ts +3 -0
- package/dist/os/plan/plan.module.d.ts.map +1 -0
- package/dist/os/plan/plan.module.js +44 -0
- package/dist/os/plan/plan.module.js.map +1 -0
- package/dist/os/plan/types.d.ts +12 -0
- package/dist/os/plan/types.d.ts.map +1 -0
- package/dist/os/plan/types.js +17 -0
- package/dist/os/plan/types.js.map +1 -0
- package/dist/os/program/discovery.d.ts +61 -0
- package/dist/os/program/discovery.d.ts.map +1 -0
- package/dist/os/program/discovery.js +236 -0
- package/dist/os/program/discovery.js.map +1 -0
- package/dist/os/program/handlers/complete.d.ts +12 -0
- package/dist/os/program/handlers/complete.d.ts.map +1 -0
- package/dist/os/program/handlers/complete.js +344 -0
- package/dist/os/program/handlers/complete.js.map +1 -0
- package/dist/os/program/handlers/lease.d.ts +13 -0
- package/dist/os/program/handlers/lease.d.ts.map +1 -0
- package/dist/os/program/handlers/lease.js +322 -0
- package/dist/os/program/handlers/lease.js.map +1 -0
- package/dist/os/program/handlers/seal.d.ts +12 -0
- package/dist/os/program/handlers/seal.d.ts.map +1 -0
- package/dist/os/program/handlers/seal.js +265 -0
- package/dist/os/program/handlers/seal.js.map +1 -0
- package/dist/os/program/handlers/validate.d.ts +14 -0
- package/dist/os/program/handlers/validate.d.ts.map +1 -0
- package/dist/os/program/handlers/validate.js +164 -0
- package/dist/os/program/handlers/validate.js.map +1 -0
- package/dist/os/program/lease.d.ts +39 -0
- package/dist/os/program/lease.d.ts.map +1 -0
- package/dist/os/program/lease.js +129 -0
- package/dist/os/program/lease.js.map +1 -0
- package/dist/os/program/program.module.d.ts +3 -0
- package/dist/os/program/program.module.d.ts.map +1 -0
- package/dist/os/program/program.module.js +201 -0
- package/dist/os/program/program.module.js.map +1 -0
- package/dist/os/program/schemas.d.ts +225 -0
- package/dist/os/program/schemas.d.ts.map +1 -0
- package/dist/os/program/schemas.js +174 -0
- package/dist/os/program/schemas.js.map +1 -0
- package/dist/os/program/state.d.ts +38 -0
- package/dist/os/program/state.d.ts.map +1 -0
- package/dist/os/program/state.js +189 -0
- package/dist/os/program/state.js.map +1 -0
- package/dist/os/rfc/acceptance.d.ts +15 -0
- package/dist/os/rfc/acceptance.d.ts.map +1 -0
- package/dist/os/rfc/acceptance.js +310 -0
- package/dist/os/rfc/acceptance.js.map +1 -0
- package/dist/os/rfc/decision-log.d.ts +6 -0
- package/dist/os/rfc/decision-log.d.ts.map +1 -0
- package/dist/os/rfc/decision-log.js +269 -0
- package/dist/os/rfc/decision-log.js.map +1 -0
- package/dist/os/rfc/dna-trace.d.ts +27 -0
- package/dist/os/rfc/dna-trace.d.ts.map +1 -0
- package/dist/os/rfc/dna-trace.js +214 -0
- package/dist/os/rfc/dna-trace.js.map +1 -0
- package/dist/os/rfc/frontmatter-io.d.ts +18 -0
- package/dist/os/rfc/frontmatter-io.d.ts.map +1 -0
- package/dist/os/rfc/frontmatter-io.js +110 -0
- package/dist/os/rfc/frontmatter-io.js.map +1 -0
- package/dist/os/rfc/handlers/archive.d.ts +25 -0
- package/dist/os/rfc/handlers/archive.d.ts.map +1 -0
- package/dist/os/rfc/handlers/archive.js +247 -0
- package/dist/os/rfc/handlers/archive.js.map +1 -0
- package/dist/os/rfc/handlers/check.d.ts +4 -0
- package/dist/os/rfc/handlers/check.d.ts.map +1 -0
- package/dist/os/rfc/handlers/check.js +195 -0
- package/dist/os/rfc/handlers/check.js.map +1 -0
- package/dist/os/rfc/handlers/implement-stamp.d.ts +4 -0
- package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -0
- package/dist/os/rfc/handlers/implement-stamp.js +420 -0
- package/dist/os/rfc/handlers/implement-stamp.js.map +1 -0
- package/dist/os/rfc/handlers/index-graph.d.ts +13 -0
- package/dist/os/rfc/handlers/index-graph.d.ts.map +1 -0
- package/dist/os/rfc/handlers/index-graph.js +192 -0
- package/dist/os/rfc/handlers/index-graph.js.map +1 -0
- package/dist/os/rfc/handlers/lifecycle.d.ts +13 -0
- package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -0
- package/dist/os/rfc/handlers/lifecycle.js +155 -0
- package/dist/os/rfc/handlers/lifecycle.js.map +1 -0
- package/dist/os/rfc/handlers/list-create.d.ts +6 -0
- package/dist/os/rfc/handlers/list-create.d.ts.map +1 -0
- package/dist/os/rfc/handlers/list-create.js +240 -0
- package/dist/os/rfc/handlers/list-create.js.map +1 -0
- package/dist/os/rfc/handlers/pipeline-status.d.ts +26 -0
- package/dist/os/rfc/handlers/pipeline-status.d.ts.map +1 -0
- package/dist/os/rfc/handlers/pipeline-status.js +124 -0
- package/dist/os/rfc/handlers/pipeline-status.js.map +1 -0
- package/dist/os/rfc/handlers/shared.d.ts +22 -0
- package/dist/os/rfc/handlers/shared.d.ts.map +1 -0
- package/dist/os/rfc/handlers/shared.js +105 -0
- package/dist/os/rfc/handlers/shared.js.map +1 -0
- package/dist/os/rfc/handlers/supersede-propose.d.ts +4 -0
- package/dist/os/rfc/handlers/supersede-propose.d.ts.map +1 -0
- package/dist/os/rfc/handlers/supersede-propose.js +203 -0
- package/dist/os/rfc/handlers/supersede-propose.js.map +1 -0
- package/dist/os/rfc/handlers/validate-rules.d.ts +32 -0
- package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -0
- package/dist/os/rfc/handlers/validate-rules.js +590 -0
- package/dist/os/rfc/handlers/validate-rules.js.map +1 -0
- package/dist/os/rfc/handlers/validate.d.ts +4 -0
- package/dist/os/rfc/handlers/validate.d.ts.map +1 -0
- package/dist/os/rfc/handlers/validate.js +108 -0
- package/dist/os/rfc/handlers/validate.js.map +1 -0
- package/dist/os/rfc/handlers.d.ts +7 -0
- package/dist/os/rfc/handlers.d.ts.map +1 -0
- package/dist/os/rfc/handlers.js +19 -0
- package/dist/os/rfc/handlers.js.map +1 -0
- package/dist/os/rfc/index.d.ts +18 -0
- package/dist/os/rfc/index.d.ts.map +1 -0
- package/dist/os/rfc/index.js +24 -0
- package/dist/os/rfc/index.js.map +1 -0
- package/dist/os/rfc/rfc.module.d.ts +3 -0
- package/dist/os/rfc/rfc.module.d.ts.map +1 -0
- package/dist/os/rfc/rfc.module.js +366 -0
- package/dist/os/rfc/rfc.module.js.map +1 -0
- package/dist/os/rfc/types.d.ts +483 -0
- package/dist/os/rfc/types.d.ts.map +1 -0
- package/dist/os/rfc/types.js +100 -0
- package/dist/os/rfc/types.js.map +1 -0
- package/dist/os/rfc/verification-evidence.d.ts +8 -0
- package/dist/os/rfc/verification-evidence.d.ts.map +1 -0
- package/dist/os/rfc/verification-evidence.js +184 -0
- package/dist/os/rfc/verification-evidence.js.map +1 -0
- package/dist/os/session/atif-parser.d.ts +29 -0
- package/dist/os/session/atif-parser.d.ts.map +1 -0
- package/dist/os/session/atif-parser.js +140 -0
- package/dist/os/session/atif-parser.js.map +1 -0
- package/dist/os/session/frontmatter-io.d.ts +31 -0
- package/dist/os/session/frontmatter-io.d.ts.map +1 -0
- package/dist/os/session/frontmatter-io.js +146 -0
- package/dist/os/session/frontmatter-io.js.map +1 -0
- package/dist/os/session/handlers/archive.d.ts +4 -0
- package/dist/os/session/handlers/archive.d.ts.map +1 -0
- package/dist/os/session/handlers/archive.js +241 -0
- package/dist/os/session/handlers/archive.js.map +1 -0
- package/dist/os/session/handlers/list.d.ts +4 -0
- package/dist/os/session/handlers/list.d.ts.map +1 -0
- package/dist/os/session/handlers/list.js +147 -0
- package/dist/os/session/handlers/list.js.map +1 -0
- package/dist/os/session/handlers/save.d.ts +6 -0
- package/dist/os/session/handlers/save.d.ts.map +1 -0
- package/dist/os/session/handlers/save.js +297 -0
- package/dist/os/session/handlers/save.js.map +1 -0
- package/dist/os/session/handlers/validate.d.ts +4 -0
- package/dist/os/session/handlers/validate.d.ts.map +1 -0
- package/dist/os/session/handlers/validate.js +188 -0
- package/dist/os/session/handlers/validate.js.map +1 -0
- package/dist/os/session/index.d.ts +9 -0
- package/dist/os/session/index.d.ts.map +1 -0
- package/dist/os/session/index.js +20 -0
- package/dist/os/session/index.js.map +1 -0
- package/dist/os/session/session.module.d.ts +3 -0
- package/dist/os/session/session.module.d.ts.map +1 -0
- package/dist/os/session/session.module.js +115 -0
- package/dist/os/session/session.module.js.map +1 -0
- package/dist/os/session/types.d.ts +101 -0
- package/dist/os/session/types.d.ts.map +1 -0
- package/dist/os/session/types.js +52 -0
- package/dist/os/session/types.js.map +1 -0
- package/dist/os/spec/live-spec-list.d.ts +4 -0
- package/dist/os/spec/live-spec-list.d.ts.map +1 -0
- package/dist/os/spec/live-spec-list.js +64 -0
- package/dist/os/spec/live-spec-list.js.map +1 -0
- package/dist/os/spec/live-spec-merge.d.ts +4 -0
- package/dist/os/spec/live-spec-merge.d.ts.map +1 -0
- package/dist/os/spec/live-spec-merge.js +345 -0
- package/dist/os/spec/live-spec-merge.js.map +1 -0
- package/dist/os/spec/live-spec-show.d.ts +4 -0
- package/dist/os/spec/live-spec-show.d.ts.map +1 -0
- package/dist/os/spec/live-spec-show.js +99 -0
- package/dist/os/spec/live-spec-show.js.map +1 -0
- package/dist/os/spec/live-spec-types.d.ts +71 -0
- package/dist/os/spec/live-spec-types.d.ts.map +1 -0
- package/dist/os/spec/live-spec-types.js +14 -0
- package/dist/os/spec/live-spec-types.js.map +1 -0
- package/dist/os/spec/live-spec-validate.d.ts +4 -0
- package/dist/os/spec/live-spec-validate.d.ts.map +1 -0
- package/dist/os/spec/live-spec-validate.js +140 -0
- package/dist/os/spec/live-spec-validate.js.map +1 -0
- package/dist/os/spec/spec-materialize.d.ts +21 -0
- package/dist/os/spec/spec-materialize.d.ts.map +1 -0
- package/dist/os/spec/spec-materialize.js +336 -0
- package/dist/os/spec/spec-materialize.js.map +1 -0
- package/dist/os/spec/spec-schema.d.ts +126 -0
- package/dist/os/spec/spec-schema.d.ts.map +1 -0
- package/dist/os/spec/spec-schema.js +118 -0
- package/dist/os/spec/spec-schema.js.map +1 -0
- package/dist/os/spec/spec-status.d.ts +33 -0
- package/dist/os/spec/spec-status.d.ts.map +1 -0
- package/dist/os/spec/spec-status.js +222 -0
- package/dist/os/spec/spec-status.js.map +1 -0
- package/dist/os/spec/spec-validate.d.ts +4 -0
- package/dist/os/spec/spec-validate.d.ts.map +1 -0
- package/dist/os/spec/spec-validate.js +435 -0
- package/dist/os/spec/spec-validate.js.map +1 -0
- package/dist/os/spec/spec.module.d.ts +3 -0
- package/dist/os/spec/spec.module.d.ts.map +1 -0
- package/dist/os/spec/spec.module.js +119 -0
- package/dist/os/spec/spec.module.js.map +1 -0
- package/dist/os/werkstatt/handlers/lock.d.ts +10 -0
- package/dist/os/werkstatt/handlers/lock.d.ts.map +1 -0
- package/dist/os/werkstatt/handlers/lock.js +153 -0
- package/dist/os/werkstatt/handlers/lock.js.map +1 -0
- package/dist/os/werkstatt/handlers/schema.d.ts +33 -0
- package/dist/os/werkstatt/handlers/schema.d.ts.map +1 -0
- package/dist/os/werkstatt/handlers/schema.js +42 -0
- package/dist/os/werkstatt/handlers/schema.js.map +1 -0
- package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts +15 -0
- package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +1 -0
- package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +144 -0
- package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +1 -0
- package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts +18 -0
- package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts.map +1 -0
- package/dist/os/werkstatt/handlers/werkstatt-lock-status.js +43 -0
- package/dist/os/werkstatt/handlers/werkstatt-lock-status.js.map +1 -0
- package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts +11 -0
- package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +1 -0
- package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +79 -0
- package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +1 -0
- package/dist/os/werkstatt/index.d.ts +7 -0
- package/dist/os/werkstatt/index.d.ts.map +1 -0
- package/dist/os/werkstatt/index.js +18 -0
- package/dist/os/werkstatt/index.js.map +1 -0
- package/dist/os/werkstatt/werkstatt.module.d.ts +3 -0
- package/dist/os/werkstatt/werkstatt.module.d.ts.map +1 -0
- package/dist/os/werkstatt/werkstatt.module.js +58 -0
- package/dist/os/werkstatt/werkstatt.module.js.map +1 -0
- package/dist/os/workflow/handlers.d.ts +12 -0
- package/dist/os/workflow/handlers.d.ts.map +1 -0
- package/dist/os/workflow/handlers.js +254 -0
- package/dist/os/workflow/handlers.js.map +1 -0
- package/dist/os/workflow/index.d.ts +4 -0
- package/dist/os/workflow/index.d.ts.map +1 -0
- package/dist/os/workflow/index.js +18 -0
- package/dist/os/workflow/index.js.map +1 -0
- package/dist/os/workflow/types.d.ts +69 -0
- package/dist/os/workflow/types.d.ts.map +1 -0
- package/dist/os/workflow/types.js +23 -0
- package/dist/os/workflow/types.js.map +1 -0
- package/dist/os/workflow/workflow.module.d.ts +3 -0
- package/dist/os/workflow/workflow.module.d.ts.map +1 -0
- package/dist/os/workflow/workflow.module.js +48 -0
- package/dist/os/workflow/workflow.module.js.map +1 -0
- package/dist/src/cli-output.d.ts +5 -0
- package/dist/src/cli-output.d.ts.map +1 -0
- package/dist/src/cli-output.js +53 -0
- package/dist/src/cli-output.js.map +1 -0
- package/dist/src/config/forge-config.d.ts +242 -0
- package/dist/src/config/forge-config.d.ts.map +1 -0
- package/dist/src/config/forge-config.js +359 -0
- package/dist/src/config/forge-config.js.map +1 -0
- package/dist/src/forge-module.d.ts +16 -0
- package/dist/src/forge-module.d.ts.map +1 -0
- package/dist/src/forge-module.js +15 -0
- package/dist/src/forge-module.js.map +1 -0
- package/dist/src/index.d.ts +36 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +56 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/knowledge/budgets.d.ts +38 -0
- package/dist/src/knowledge/budgets.d.ts.map +1 -0
- package/dist/src/knowledge/budgets.js +157 -0
- package/dist/src/knowledge/budgets.js.map +1 -0
- package/dist/src/knowledge/compact.d.ts +47 -0
- package/dist/src/knowledge/compact.d.ts.map +1 -0
- package/dist/src/knowledge/compact.js +320 -0
- package/dist/src/knowledge/compact.js.map +1 -0
- package/dist/src/knowledge/index.d.ts +7 -0
- package/dist/src/knowledge/index.d.ts.map +1 -0
- package/dist/src/knowledge/index.js +19 -0
- package/dist/src/knowledge/index.js.map +1 -0
- package/dist/src/knowledge/parse.d.ts +3 -0
- package/dist/src/knowledge/parse.d.ts.map +1 -0
- package/dist/src/knowledge/parse.js +205 -0
- package/dist/src/knowledge/parse.js.map +1 -0
- package/dist/src/knowledge/promote.d.ts +37 -0
- package/dist/src/knowledge/promote.d.ts.map +1 -0
- package/dist/src/knowledge/promote.js +120 -0
- package/dist/src/knowledge/promote.js.map +1 -0
- package/dist/src/knowledge/schema.d.ts +61 -0
- package/dist/src/knowledge/schema.d.ts.map +1 -0
- package/dist/src/knowledge/schema.js +64 -0
- package/dist/src/knowledge/schema.js.map +1 -0
- package/dist/src/knowledge/serialize.d.ts +3 -0
- package/dist/src/knowledge/serialize.d.ts.map +1 -0
- package/dist/src/knowledge/serialize.js +67 -0
- package/dist/src/knowledge/serialize.js.map +1 -0
- package/dist/src/migration-adapters/git-utils.d.ts +3 -0
- package/dist/src/migration-adapters/git-utils.d.ts.map +1 -0
- package/dist/src/migration-adapters/git-utils.js +56 -0
- package/dist/src/migration-adapters/git-utils.js.map +1 -0
- package/dist/src/migration-adapters/ignored-files.d.ts +12 -0
- package/dist/src/migration-adapters/ignored-files.d.ts.map +1 -0
- package/dist/src/migration-adapters/ignored-files.js +190 -0
- package/dist/src/migration-adapters/ignored-files.js.map +1 -0
- package/dist/src/migration-adapters/index.d.ts +8 -0
- package/dist/src/migration-adapters/index.d.ts.map +1 -0
- package/dist/src/migration-adapters/index.js +17 -0
- package/dist/src/migration-adapters/index.js.map +1 -0
- package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts +3 -0
- package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts.map +1 -0
- package/dist/src/migration-adapters/node-typescript-pnpm/index.js +141 -0
- package/dist/src/migration-adapters/node-typescript-pnpm/index.js.map +1 -0
- package/dist/src/migration-adapters/phaser-pnpm/index.d.ts +3 -0
- package/dist/src/migration-adapters/phaser-pnpm/index.d.ts.map +1 -0
- package/dist/src/migration-adapters/phaser-pnpm/index.js +142 -0
- package/dist/src/migration-adapters/phaser-pnpm/index.js.map +1 -0
- package/dist/src/migration-adapters/registry.d.ts +6 -0
- package/dist/src/migration-adapters/registry.d.ts.map +1 -0
- package/dist/src/migration-adapters/registry.js +55 -0
- package/dist/src/migration-adapters/registry.js.map +1 -0
- package/dist/src/migration-adapters/types.d.ts +35 -0
- package/dist/src/migration-adapters/types.d.ts.map +1 -0
- package/dist/src/migration-adapters/types.js +31 -0
- package/dist/src/migration-adapters/types.js.map +1 -0
- package/dist/src/onboarding/agents-generate.d.ts +30 -0
- package/dist/src/onboarding/agents-generate.d.ts.map +1 -0
- package/dist/src/onboarding/agents-generate.js +352 -0
- package/dist/src/onboarding/agents-generate.js.map +1 -0
- package/dist/src/onboarding/create.d.ts +12 -0
- package/dist/src/onboarding/create.d.ts.map +1 -0
- package/dist/src/onboarding/create.js +318 -0
- package/dist/src/onboarding/create.js.map +1 -0
- package/dist/src/onboarding/doctor.d.ts +45 -0
- package/dist/src/onboarding/doctor.d.ts.map +1 -0
- package/dist/src/onboarding/doctor.js +1108 -0
- package/dist/src/onboarding/doctor.js.map +1 -0
- package/dist/src/onboarding/init.d.ts +32 -0
- package/dist/src/onboarding/init.d.ts.map +1 -0
- package/dist/src/onboarding/init.js +291 -0
- package/dist/src/onboarding/init.js.map +1 -0
- package/dist/src/onboarding/invariant-engine.d.ts +17 -0
- package/dist/src/onboarding/invariant-engine.d.ts.map +1 -0
- package/dist/src/onboarding/invariant-engine.js +416 -0
- package/dist/src/onboarding/invariant-engine.js.map +1 -0
- package/dist/src/onboarding/memory-scaffold.d.ts +18 -0
- package/dist/src/onboarding/memory-scaffold.d.ts.map +1 -0
- package/dist/src/onboarding/memory-scaffold.js +151 -0
- package/dist/src/onboarding/memory-scaffold.js.map +1 -0
- package/dist/src/onboarding/nested-agents-generate.d.ts +18 -0
- package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -0
- package/dist/src/onboarding/nested-agents-generate.js +69 -0
- package/dist/src/onboarding/nested-agents-generate.js.map +1 -0
- package/dist/src/onboarding/nested-agents-templates.d.ts +26 -0
- package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -0
- package/dist/src/onboarding/nested-agents-templates.js +178 -0
- package/dist/src/onboarding/nested-agents-templates.js.map +1 -0
- package/dist/src/onboarding/profile-validate.d.ts +13 -0
- package/dist/src/onboarding/profile-validate.d.ts.map +1 -0
- package/dist/src/onboarding/profile-validate.js +109 -0
- package/dist/src/onboarding/profile-validate.js.map +1 -0
- package/dist/src/onboarding/scaffold-project.d.ts +12 -0
- package/dist/src/onboarding/scaffold-project.d.ts.map +1 -0
- package/dist/src/onboarding/scaffold-project.js +248 -0
- package/dist/src/onboarding/scaffold-project.js.map +1 -0
- package/dist/src/onboarding/scaffold.d.ts +15 -0
- package/dist/src/onboarding/scaffold.d.ts.map +1 -0
- package/dist/src/onboarding/scaffold.js +120 -0
- package/dist/src/onboarding/scaffold.js.map +1 -0
- package/dist/src/onboarding/upgrade.d.ts +25 -0
- package/dist/src/onboarding/upgrade.d.ts.map +1 -0
- package/dist/src/onboarding/upgrade.js +391 -0
- package/dist/src/onboarding/upgrade.js.map +1 -0
- package/dist/src/onboarding/workspace-discovery.d.ts +11 -0
- package/dist/src/onboarding/workspace-discovery.d.ts.map +1 -0
- package/dist/src/onboarding/workspace-discovery.js +138 -0
- package/dist/src/onboarding/workspace-discovery.js.map +1 -0
- package/dist/src/profiles/profile-schema.d.ts +351 -0
- package/dist/src/profiles/profile-schema.d.ts.map +1 -0
- package/dist/src/profiles/profile-schema.js +201 -0
- package/dist/src/profiles/profile-schema.js.map +1 -0
- package/dist/src/profiles/stack-profile.d.ts +168 -0
- package/dist/src/profiles/stack-profile.d.ts.map +1 -0
- package/dist/src/profiles/stack-profile.js +144 -0
- package/dist/src/profiles/stack-profile.js.map +1 -0
- package/dist/src/profiles/terminology-utils.d.ts +8 -0
- package/dist/src/profiles/terminology-utils.d.ts.map +1 -0
- package/dist/src/profiles/terminology-utils.js +31 -0
- package/dist/src/profiles/terminology-utils.js.map +1 -0
- package/dist/src/registry.d.ts +38 -0
- package/dist/src/registry.d.ts.map +1 -0
- package/dist/src/registry.js +135 -0
- package/dist/src/registry.js.map +1 -0
- package/dist/src/skill-schema.d.ts +30 -0
- package/dist/src/skill-schema.d.ts.map +1 -0
- package/dist/src/skill-schema.js +34 -0
- package/dist/src/skill-schema.js.map +1 -0
- package/dist/src/types.d.ts +152 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +17 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/utils/fs-atomic.d.ts +7 -0
- package/dist/src/utils/fs-atomic.d.ts.map +1 -0
- package/dist/src/utils/fs-atomic.js +81 -0
- package/dist/src/utils/fs-atomic.js.map +1 -0
- package/dist/src/utils/fs-idempotent.d.ts +2 -0
- package/dist/src/utils/fs-idempotent.d.ts.map +1 -0
- package/dist/src/utils/fs-idempotent.js +39 -0
- package/dist/src/utils/fs-idempotent.js.map +1 -0
- package/dist/src/utils/fs-trash-sync.d.ts +2 -0
- package/dist/src/utils/fs-trash-sync.d.ts.map +1 -0
- package/dist/src/utils/fs-trash-sync.js +34 -0
- package/dist/src/utils/fs-trash-sync.js.map +1 -0
- package/dist/src/utils/fs-trash.d.ts +2 -0
- package/dist/src/utils/fs-trash.d.ts.map +1 -0
- package/dist/src/utils/fs-trash.js +24 -0
- package/dist/src/utils/fs-trash.js.map +1 -0
- package/dist/src/utils/fs.d.ts +8 -0
- package/dist/src/utils/fs.d.ts.map +1 -0
- package/dist/src/utils/fs.js +60 -0
- package/dist/src/utils/fs.js.map +1 -0
- package/dist/src/utils/generated-marker.d.ts +21 -0
- package/dist/src/utils/generated-marker.d.ts.map +1 -0
- package/dist/src/utils/generated-marker.js +128 -0
- package/dist/src/utils/generated-marker.js.map +1 -0
- package/dist/src/utils/hash.d.ts +2 -0
- package/dist/src/utils/hash.d.ts.map +1 -0
- package/dist/src/utils/hash.js +18 -0
- package/dist/src/utils/hash.js.map +1 -0
- package/dist/src/utils/index.d.ts +9 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +21 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/string-utils.d.ts +2 -0
- package/dist/src/utils/string-utils.d.ts.map +1 -0
- package/dist/src/utils/string-utils.js +19 -0
- package/dist/src/utils/string-utils.js.map +1 -0
- package/dist/src/validators/note-frontmatter-validate.d.ts +20 -0
- package/dist/src/validators/note-frontmatter-validate.d.ts.map +1 -0
- package/dist/src/validators/note-frontmatter-validate.js +117 -0
- package/dist/src/validators/note-frontmatter-validate.js.map +1 -0
- package/dist/src/validators/note-link-validate.d.ts +21 -0
- package/dist/src/validators/note-link-validate.d.ts.map +1 -0
- package/dist/src/validators/note-link-validate.js +121 -0
- package/dist/src/validators/note-link-validate.js.map +1 -0
- package/dist/src/validators/note-orphan-detect.d.ts +19 -0
- package/dist/src/validators/note-orphan-detect.d.ts.map +1 -0
- package/dist/src/validators/note-orphan-detect.js +123 -0
- package/dist/src/validators/note-orphan-detect.js.map +1 -0
- package/dist/src/validators/port-validate.d.ts +12 -0
- package/dist/src/validators/port-validate.d.ts.map +1 -0
- package/dist/src/validators/port-validate.js +78 -0
- package/dist/src/validators/port-validate.js.map +1 -0
- package/dist/src/validators/skill-validate.d.ts +29 -0
- package/dist/src/validators/skill-validate.d.ts.map +1 -0
- package/dist/src/validators/skill-validate.js +689 -0
- package/dist/src/validators/skill-validate.js.map +1 -0
- package/package.json +1 -1
- package/profiles/forge-shell.yaml +2 -0
- package/profiles/godot-csharp.yaml +192 -9
- package/profiles/phaser-turborepo.yaml +5 -3
- package/src/onboarding/templates/behavioral-layer-core.md +4 -5
- package/src/onboarding/templates/root-agents-business.md +1 -1
- package/src/onboarding/templates/root-agents-creative.md +1 -1
- package/profiles/astro-typescript-turborepo.yaml +0 -378
package/AGENTS.md
CHANGED
|
@@ -152,7 +152,7 @@ Stack profiles are YAML documents under `profiles/` describing a supported stack
|
|
|
152
152
|
- **MUST NOT** scaffold into a non-empty directory — no `--force` flag.
|
|
153
153
|
- **MUST NOT** add stack profiles for stacks forge cannot scaffold end-to-end.
|
|
154
154
|
- **MUST** reference all template files in `profiles/<profile>-templates/` from the profile YAML (`workspaceTypes[].agentsMdTemplate` or `firstWorkspace.files`) or document them in the `agentsMdTemplate` file. Unreferenced template files are orphan artifacts that operators cannot discover.
|
|
155
|
-
- Shipped profiles: `
|
|
155
|
+
- Shipped profiles: `phaser-turborepo`, `godot-csharp`, `forge-shell` (minimal — default for `create`).
|
|
156
156
|
- **MUST** include a `.github/workflows/ci.yml` template in every stack profile's `workspace.files` list. The CI template MUST include `concurrency` (cancel superseded PR runs), `permissions: contents: read` at workflow level, `timeout-minutes` per job, `env: TZ: UTC` per job, `actions/checkout@v5`, and `actions/setup-node@v5` with Node 24. New projects inherit reliable CI from the scaffold — operators should not need to hand-write CI from scratch.
|
|
157
157
|
|
|
158
158
|
### Domain fields (RFC-0638)
|
package/README.md
CHANGED
|
@@ -6,11 +6,10 @@ Portable governance engine for AI-assisted project development. Provides skills,
|
|
|
6
6
|
|
|
7
7
|
## What you can build with Forge
|
|
8
8
|
|
|
9
|
-
Forge supports
|
|
9
|
+
Forge supports three kinds of projects. You pick one when you start — everything else is automatic.
|
|
10
10
|
|
|
11
11
|
| Project type | What it is | Example ideas |
|
|
12
12
|
| --- | --- | --- |
|
|
13
|
-
| **Website** | A public website or web app — pages, blog, portfolio, landing page, online store | Photography studio site, restaurant website, SaaS landing page |
|
|
14
13
|
| **Browser game** | An interactive game that runs in a web browser — 2D, arcade, puzzle, adventure | Catch falling stars, tile-matching puzzle, platformer |
|
|
15
14
|
| **Governance / library** | A code library or governance-only project — no website, no game, no video, just structure and documentation | npm package, internal toolkit, documentation hub |
|
|
16
15
|
| **Godot game** | A desktop or mobile game built with Godot 4.x and C# — 2D, 3D, platformer, RPG | Top-down adventure, 3D platformer, puzzle game |
|
|
@@ -29,21 +28,17 @@ For full project lifecycle management — missions, releases, deployment, certif
|
|
|
29
28
|
| --- | --- | --- |
|
|
30
29
|
| `@warpgogol/werkstatt` | Runtime engine — missions, releases, Leitstand deployment, certification, Bordbuch, artifact store | All project types with lifecycle management |
|
|
31
30
|
| `@warpgogol/werkstatt-shared` | Shared infrastructure — checks, integration, ontology, passport | Installed automatically with the engine |
|
|
32
|
-
| `@warpgogol/werkstatt-site` | Astro site plugin — build pipeline, content checks, codegen, deploy adapters | Website projects (`astro-typescript-turborepo`) |
|
|
33
31
|
| `@warpgogol/werkstatt-game` | Phaser game plugin — game validators, Vite build, deploy adapters | Browser game projects (`phaser-turborepo`) |
|
|
34
32
|
| `@warpgogol/werkstatt-godot` | Godot plugin — scene validators, dotnet build, itch.io deploy, Godot skills | Godot game projects (`godot-csharp`) |
|
|
35
33
|
|
|
36
34
|
### When you need these packages
|
|
37
35
|
|
|
38
36
|
- **Governance-only projects** (RFCs, ADRs, skills, documentation hubs) — Forge alone is sufficient.
|
|
39
|
-
- **
|
|
37
|
+
- **Games, Godot projects** — install `@warpgogol/werkstatt` (the engine) plus the matching stack plugin. The `forge-bootstrap` skill configures bindings automatically; the packages themselves must be installed as devDependencies.
|
|
40
38
|
|
|
41
39
|
### Installing engine packages
|
|
42
40
|
|
|
43
41
|
```sh
|
|
44
|
-
# Website project
|
|
45
|
-
pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-site
|
|
46
|
-
|
|
47
42
|
# Browser game project
|
|
48
43
|
pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-game
|
|
49
44
|
|
|
@@ -106,23 +101,7 @@ pnpm --version
|
|
|
106
101
|
|
|
107
102
|
You should see a version number like `10.x.x`.
|
|
108
103
|
|
|
109
|
-
#### Step 3 — Install
|
|
110
|
-
|
|
111
|
-
Installing Forge globally means the `forge` command is available everywhere on your computer, not just inside one project:
|
|
112
|
-
|
|
113
|
-
```sh
|
|
114
|
-
pnpm add -g @warpgogol/forge
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Verify:
|
|
118
|
-
|
|
119
|
-
```sh
|
|
120
|
-
forge --version
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
You should see a version number. Forge is now installed and ready.
|
|
124
|
-
|
|
125
|
-
#### Step 4 — Install an AI-powered IDE
|
|
104
|
+
#### Step 3 — Install an AI-powered IDE
|
|
126
105
|
|
|
127
106
|
Forge works through conversation with an AI agent. You need an IDE that supports AI agents. We recommend **Windsurf** (tested with Forge):
|
|
128
107
|
|
|
@@ -164,23 +143,7 @@ pnpm --version
|
|
|
164
143
|
|
|
165
144
|
You should see a version number like `10.x.x`.
|
|
166
145
|
|
|
167
|
-
#### Step 3 — Install
|
|
168
|
-
|
|
169
|
-
Installing Forge globally means the `forge` command is available everywhere on your computer, not just inside one project:
|
|
170
|
-
|
|
171
|
-
```sh
|
|
172
|
-
pnpm add -g @warpgogol/forge
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
Verify:
|
|
176
|
-
|
|
177
|
-
```sh
|
|
178
|
-
forge --version
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
You should see a version number. Forge is now installed and ready.
|
|
182
|
-
|
|
183
|
-
#### Step 4 — Install an AI-powered IDE
|
|
146
|
+
#### Step 3 — Install an AI-powered IDE
|
|
184
147
|
|
|
185
148
|
Forge works through conversation with an AI agent. You need an IDE that supports AI agents. We recommend **Windsurf** (tested with Forge):
|
|
186
149
|
|
|
@@ -207,10 +170,8 @@ dotnet --version
|
|
|
207
170
|
### Troubleshooting
|
|
208
171
|
|
|
209
172
|
- **"command not found" after installing Node.js** — Close and reopen your terminal (Ubuntu) or PowerShell (Windows). The system needs to reload the list of available commands.
|
|
210
|
-
- **"EACCES permission denied" on Ubuntu when installing Forge globally** — Run `sudo pnpm add -g @warpgogol/forge` instead.
|
|
211
173
|
- **"corepack: command not found"** — Your Node.js version is too old. Install Node.js 24+ using the steps above.
|
|
212
|
-
- **
|
|
213
|
-
- **AI agent doesn't know about Forge** — You opened an empty folder, but the AI agent has no Forge context. Run `forge create --in-place --profile astro-typescript-turborepo` (or the appropriate profile) in a terminal first, then open the folder in your IDE. The `forge create` command populates the current folder with skills, configuration, and `AGENTS.md` — without it, the AI agent can't discover Forge.
|
|
174
|
+
- **AI agent doesn't know about Forge** — You opened an empty folder, but the AI agent has no Forge context. Run `pnpm dlx @warpgogol/forge create --in-place --profile phaser-turborepo` (or the appropriate profile) in a terminal first, then open the folder in your IDE. The `forge create` command populates the current folder with skills, configuration, and `AGENTS.md` — without it, the AI agent can't discover Forge.
|
|
214
175
|
|
|
215
176
|
---
|
|
216
177
|
|
|
@@ -225,25 +186,24 @@ You need to run one command in the terminal to create your project. After that,
|
|
|
225
186
|
1. **Create a project folder and scaffold Forge in-place.** Open a terminal (PowerShell on Windows, Terminal on Ubuntu) and run:
|
|
226
187
|
|
|
227
188
|
```sh
|
|
228
|
-
mkdir my-
|
|
229
|
-
cd my-
|
|
230
|
-
forge create --in-place --profile
|
|
189
|
+
mkdir my-game
|
|
190
|
+
cd my-game
|
|
191
|
+
pnpm dlx @warpgogol/forge create --in-place --profile phaser-turborepo
|
|
231
192
|
```
|
|
232
193
|
|
|
233
|
-
The project name is derived from the folder name (`my-
|
|
194
|
+
The project name is derived from the folder name (`my-game` in this example). You can override it with `--name`. This populates the current folder with everything Forge needs — skills, configuration, and project structure. For other project types, use a different `--profile`:
|
|
234
195
|
|
|
235
|
-
| What you want to build
|
|
236
|
-
|
|
|
237
|
-
|
|
|
238
|
-
|
|
|
239
|
-
|
|
|
240
|
-
| Library or governance-only project | `--profile forge-shell` |
|
|
196
|
+
| What you want to build | Profile flag |
|
|
197
|
+
| ----------------------------------- | ---------------------------- |
|
|
198
|
+
| Browser game (2D, arcade, puzzle) | `--profile phaser-turborepo` |
|
|
199
|
+
| Godot game (desktop, mobile, 2D/3D) | `--profile godot-csharp` |
|
|
200
|
+
| Library or governance-only project | `--profile forge-shell` |
|
|
241
201
|
|
|
242
202
|
2. **Open the project folder in your AI IDE.** Open the folder from step 1 in Windsurf or your preferred IDE.
|
|
243
203
|
|
|
244
204
|
3. **Tell the AI agent what you want to build.** Just type it in the chat, in your own words. For example:
|
|
245
205
|
|
|
246
|
-
> I want to build a
|
|
206
|
+
> I want to build a Godot game where you catch falling stars.
|
|
247
207
|
|
|
248
208
|
Or:
|
|
249
209
|
|
|
@@ -254,12 +214,12 @@ You need to run one command in the terminal to create your project. After that,
|
|
|
254
214
|
> I want to create a TypeScript library for calculating astrology charts.
|
|
255
215
|
|
|
256
216
|
That's it. The AI agent will do everything else:
|
|
257
|
-
- Set up the project structure based on what you described (
|
|
217
|
+
- Set up the project structure based on what you described (game, library, etc.)
|
|
258
218
|
- Configure language preferences and project settings
|
|
259
|
-
- Start a live preview so you can see your work (for
|
|
219
|
+
- Start a live preview so you can see your work (for games)
|
|
260
220
|
- Tell you the URL to open in your browser
|
|
261
221
|
|
|
262
|
-
4. **Watch the preview.** For
|
|
222
|
+
4. **Watch the preview.** For games, the AI agent will give you a localhost link. Click it — your project is already running. As you describe changes, the agent updates the project and the preview refreshes automatically.
|
|
263
223
|
|
|
264
224
|
For governance and library projects, there's no visual preview — the agent will set up the project structure and tell you when it's ready.
|
|
265
225
|
|
|
@@ -274,7 +234,7 @@ If you already have a project somewhere else and want to move it into Forge:
|
|
|
274
234
|
```sh
|
|
275
235
|
mkdir my-project
|
|
276
236
|
cd my-project
|
|
277
|
-
forge create --in-place --profile forge-shell
|
|
237
|
+
pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
|
|
278
238
|
```
|
|
279
239
|
|
|
280
240
|
Then open the folder in your AI IDE.
|
|
@@ -284,7 +244,7 @@ If you already have a project somewhere else and want to move it into Forge:
|
|
|
284
244
|
> I want to bring my existing project into Forge. It's located at /path/to/my/project.
|
|
285
245
|
|
|
286
246
|
The agent will:
|
|
287
|
-
- Detect what kind of project it is (
|
|
247
|
+
- Detect what kind of project it is (game, library, etc.)
|
|
288
248
|
- Move all your files into the new Forge project — including hidden files like `.env`
|
|
289
249
|
- Optionally bring your git history
|
|
290
250
|
- Verify everything builds correctly
|
|
@@ -302,30 +262,23 @@ Just tell the AI agent. It can check the project's health, fix issues, and expla
|
|
|
302
262
|
|
|
303
263
|
```sh
|
|
304
264
|
# Create a project folder, then scaffold Forge in-place
|
|
265
|
+
# pnpm dlx downloads Forge temporarily — no global install needed
|
|
305
266
|
mkdir my-project
|
|
306
267
|
cd my-project
|
|
307
|
-
forge create --in-place --profile forge-shell
|
|
268
|
+
pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
|
|
308
269
|
|
|
309
270
|
# With a specific stack profile
|
|
310
|
-
mkdir my-site && cd my-site
|
|
311
|
-
forge create --in-place --profile astro-typescript-turborepo
|
|
312
|
-
|
|
313
271
|
mkdir my-game && cd my-game
|
|
314
|
-
forge create --in-place --profile phaser-turborepo
|
|
272
|
+
pnpm dlx @warpgogol/forge create --in-place --profile phaser-turborepo
|
|
315
273
|
|
|
316
274
|
mkdir my-godot-game && cd my-godot-game
|
|
317
|
-
forge create --in-place --profile godot-csharp
|
|
275
|
+
pnpm dlx @warpgogol/forge create --in-place --profile godot-csharp
|
|
318
276
|
|
|
319
277
|
# Override the project name (derived from folder name by default)
|
|
320
|
-
forge create --in-place --profile forge-shell --name my-custom-name
|
|
278
|
+
pnpm dlx @warpgogol/forge create --in-place --profile forge-shell --name my-custom-name
|
|
321
279
|
```
|
|
322
280
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
```sh
|
|
326
|
-
mkdir my-project && cd my-project
|
|
327
|
-
pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
|
|
328
|
-
```
|
|
281
|
+
After scaffolding, Forge is installed as a local devDependency. Use `pnpm exec forge` for all subsequent commands within the project:
|
|
329
282
|
|
|
330
283
|
#### Bring an existing project into Forge
|
|
331
284
|
|
|
@@ -334,14 +287,14 @@ There is no CLI command for transplant — it is an interactive, AI-guided proce
|
|
|
334
287
|
```sh
|
|
335
288
|
# 1. Create a new empty Forge project (in-place)
|
|
336
289
|
mkdir my-project && cd my-project
|
|
337
|
-
forge create --in-place --profile forge-shell
|
|
290
|
+
pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
|
|
338
291
|
|
|
339
292
|
# 2. Open the project in Windsurf (tested with forge) or your preferred IDE
|
|
340
293
|
|
|
341
294
|
# 3. Run the /forge-bootstrap skill and choose "transplant" mode
|
|
342
295
|
# The skill will:
|
|
343
296
|
# - Ask for the path to your existing codebase
|
|
344
|
-
# - Detect the stack automatically (
|
|
297
|
+
# - Detect the stack automatically (Phaser, Godot, etc.)
|
|
345
298
|
# - Migrate all files (including .env and git-ignored files)
|
|
346
299
|
# - Optionally transfer git history
|
|
347
300
|
# - Verify the build
|
|
@@ -351,13 +304,13 @@ forge create --in-place --profile forge-shell
|
|
|
351
304
|
|
|
352
305
|
```sh
|
|
353
306
|
# Check project health
|
|
354
|
-
forge doctor
|
|
307
|
+
pnpm exec forge doctor
|
|
355
308
|
|
|
356
309
|
# Validate RFCs
|
|
357
|
-
forge rfc.validate
|
|
310
|
+
pnpm exec forge rfc.validate
|
|
358
311
|
|
|
359
312
|
# List available skills
|
|
360
|
-
forge skill.list
|
|
313
|
+
pnpm exec forge skill.list
|
|
361
314
|
```
|
|
362
315
|
|
|
363
316
|
## Stack profiles
|
|
@@ -367,30 +320,29 @@ A stack profile defines the project scaffold: directory structure, dependencies,
|
|
|
367
320
|
| Profile | Project type | Description | First workspace | Use case |
|
|
368
321
|
| --- | --- | --- | --- | --- |
|
|
369
322
|
| `forge-shell` | Governance / library | Minimal Forge shell (default) | — | Governance-only projects, libraries, non-web projects |
|
|
370
|
-
| `astro-typescript-turborepo` | Website | Astro + TypeScript + pnpm + Turborepo | `sites/my-site` | Websites, web apps, content-driven sites |
|
|
371
323
|
| `phaser-turborepo` | Browser game | Phaser + TypeScript + pnpm + Turborepo | `games/my-game` | Browser games, interactive experiences |
|
|
372
324
|
| `godot-csharp` | Godot game | Godot 4.x + C# + pnpm + Turborepo | `games/my-game` | Desktop/mobile games, Godot-based interactive projects |
|
|
373
325
|
|
|
374
326
|
```sh
|
|
375
327
|
# List available profiles (after install)
|
|
376
|
-
forge profile.validate
|
|
328
|
+
pnpm exec forge profile.validate
|
|
377
329
|
```
|
|
378
330
|
|
|
379
|
-
When you bring an existing project through the `/forge-bootstrap` transplant mode, Forge detects the matching profile automatically by checking for marker files (`
|
|
331
|
+
When you bring an existing project through the `/forge-bootstrap` transplant mode, Forge detects the matching profile automatically by checking for marker files (`phaser.config.*`, `project.godot`, etc.).
|
|
380
332
|
|
|
381
333
|
## Upgrade flow
|
|
382
334
|
|
|
383
335
|
When a new version of `@warpgogol/forge` is published, consumers upgrade additively:
|
|
384
336
|
|
|
385
337
|
```sh
|
|
386
|
-
# 1.
|
|
387
|
-
pnpm
|
|
338
|
+
# 1. Update Forge to the latest version (local devDependency)
|
|
339
|
+
pnpm update @warpgogol/forge
|
|
388
340
|
|
|
389
341
|
# 2. Sync skills and binding defaults from the installed version
|
|
390
|
-
forge upgrade
|
|
342
|
+
pnpm exec forge upgrade
|
|
391
343
|
|
|
392
344
|
# 3. Check project health
|
|
393
|
-
forge doctor
|
|
345
|
+
pnpm exec forge doctor
|
|
394
346
|
```
|
|
395
347
|
|
|
396
348
|
`forge upgrade` is additive — it never overwrites operator-set bindings, never deletes files, and is idempotent. It updates `forge.syncedVersion` in `forge.yaml` to track the last synced version. Use `--dry-run` to preview changes.
|
|
@@ -410,12 +362,12 @@ forge doctor
|
|
|
410
362
|
|
|
411
363
|
The typical forge project lifecycle:
|
|
412
364
|
|
|
413
|
-
1. **Create** — `forge create --in-place --profile <profile>` scaffolds a new project in the current directory with forge.yaml, skills, and docs directories
|
|
365
|
+
1. **Create** — `pnpm dlx @warpgogol/forge create --in-place --profile <profile>` scaffolds a new project in the current directory with forge.yaml, skills, and docs directories
|
|
414
366
|
2. **IDE** — open the project in Windsurf (tested with forge) or your preferred IDE
|
|
415
367
|
3. **Bootstrap** — run `/forge-bootstrap` to configure the project interactively. The skill supports two modes:
|
|
416
368
|
- **Greenfield** — start a new project from scratch: pick a stack, fill in bindings, init git
|
|
417
369
|
- **Transplant** — bring an existing codebase into Forge: detect the stack, migrate code (including git-ignored files like `.env`), optionally transfer git history, verify the build
|
|
418
|
-
4. **Upgrade** — when a new `@warpgogol/forge` version is published, run `forge upgrade` to sync skills and binding defaults additively
|
|
370
|
+
4. **Upgrade** — when a new `@warpgogol/forge` version is published, run `pnpm exec forge upgrade` to sync skills and binding defaults additively
|
|
419
371
|
|
|
420
372
|
## forge.yaml
|
|
421
373
|
|
package/README.uk.md
CHANGED
|
@@ -6,11 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
## Що можна створити за допомогою Forge
|
|
8
8
|
|
|
9
|
-
Forge підтримує
|
|
9
|
+
Forge підтримує три типи проєктів. Ви обираєте один на старті — все інше відбувається автоматично.
|
|
10
10
|
|
|
11
11
|
| Тип проєкту | Що це | Приклади |
|
|
12
12
|
| --- | --- | --- |
|
|
13
|
-
| **Вебсайт** | Публічний сайт або вебзастосунок — сторінки, блог, портфоліо, лендінг, інтернет-магазин | Сайт фотостудії, сайт ресторану, лендінг SaaS |
|
|
14
13
|
| **Браузерна гра** | Інтерактивна гра, що працює в браузері — 2D, аркада, головоломка, пригода | Лови зірки, головоломка з плитками, платформер |
|
|
15
14
|
| **Управління / бібліотека** | Бібліотека коду або проєкт лише з управлінською структурою — без сайту, без гри, без відео, лише структура та документація | npm-пакет, внутрішній інструмент, центр документації |
|
|
16
15
|
| **Гра Godot** | Десктопна або мобільна гра на Godot 4.x з C# — 2D, 3D, платформер, RPG | Пригода з виглядом зверху, 3D-платформер, головоломка |
|
|
@@ -29,21 +28,17 @@ Forge — це **шар управління**: навички, RFC/ADR робо
|
|
|
29
28
|
| --- | --- | --- |
|
|
30
29
|
| `@warpgogol/werkstatt` | Рушій runtime — місії, релізи, розгортання Leitstand, сертифікація, Bordbuch, сховище артефактів | Усі типи проєктів з управлінням життєвим циклом |
|
|
31
30
|
| `@warpgogol/werkstatt-shared` | Спільна інфраструктура — перевірки, інтеграція, онтологія, паспорт | Встановлюється автоматично з рушієм |
|
|
32
|
-
| `@warpgogol/werkstatt-site` | Плагін Astro-сайту — конвеєр збірки, перевірки контенту, codegen, адаптери розгортання | Вебсайт-проєкти (`astro-typescript-turborepo`) |
|
|
33
31
|
| `@warpgogol/werkstatt-game` | Плагін Phaser-гри — валідатори гри, збірка Vite, адаптери розгортання | Проєкти браузерних ігор (`phaser-turborepo`) |
|
|
34
32
|
| `@warpgogol/werkstatt-godot` | Плагін Godot — валідатори сцен, збірка dotnet, розгортання itch.io, навички Godot | Проєкти ігор Godot (`godot-csharp`) |
|
|
35
33
|
|
|
36
34
|
### Коли потрібні ці пакети
|
|
37
35
|
|
|
38
36
|
- **Проєкти лише з управлінням** (RFC, ADR, навички, центри документації) — Forge сам по собі достатній.
|
|
39
|
-
-
|
|
37
|
+
- **Ігри, проєкти Godot** — встановіть `@warpgogol/werkstatt` (рушій) плюс відповідний плагін стеку. Навичка `forge-bootstrap` налаштовує прив'язки автоматично; самі пакети потрібно встановити як devDependencies.
|
|
40
38
|
|
|
41
39
|
### Встановлення пакунків рушія
|
|
42
40
|
|
|
43
41
|
```sh
|
|
44
|
-
# Проєкт вебсайту
|
|
45
|
-
pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-site
|
|
46
|
-
|
|
47
42
|
# Проєкт браузерної гри
|
|
48
43
|
pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-game
|
|
49
44
|
|
|
@@ -106,23 +101,7 @@ pnpm --version
|
|
|
106
101
|
|
|
107
102
|
Ви маєте побачити номер версії, наприклад `10.x.x`.
|
|
108
103
|
|
|
109
|
-
#### Крок 3 —
|
|
110
|
-
|
|
111
|
-
Глобальне встановлення означає, що команда `forge` доступна скрізь на вашому комп'ютері, а не лише в одному проєкті:
|
|
112
|
-
|
|
113
|
-
```sh
|
|
114
|
-
pnpm add -g @warpgogol/forge
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Перевірте:
|
|
118
|
-
|
|
119
|
-
```sh
|
|
120
|
-
forge --version
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
Ви маєте побачити номер версії. Forge встановлено та готовий до роботи.
|
|
124
|
-
|
|
125
|
-
#### Крок 4 — Встановлення IDE зі штучним інтелектом
|
|
104
|
+
#### Крок 3 — Встановлення IDE зі штучним інтелектом
|
|
126
105
|
|
|
127
106
|
Forge працює через розмову з ШІ-агентом. Вам потрібне IDE, що підтримує ШІ-агентів. Рекомендуємо **Windsurf** (протестовано з Forge):
|
|
128
107
|
|
|
@@ -164,23 +143,7 @@ pnpm --version
|
|
|
164
143
|
|
|
165
144
|
Ви маєте побачити номер версії, наприклад `10.x.x`.
|
|
166
145
|
|
|
167
|
-
#### Крок 3 —
|
|
168
|
-
|
|
169
|
-
Глобальне встановлення означає, що команда `forge` доступна скрізь на вашому комп'ютері, а не лише в одному проєкті:
|
|
170
|
-
|
|
171
|
-
```sh
|
|
172
|
-
pnpm add -g @warpgogol/forge
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
Перевірте:
|
|
176
|
-
|
|
177
|
-
```sh
|
|
178
|
-
forge --version
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
Ви маєте побачити номер версії. Forge встановлено та готовий до роботи.
|
|
182
|
-
|
|
183
|
-
#### Крок 4 — Встановлення IDE зі штучним інтелектом
|
|
146
|
+
#### Крок 3 — Встановлення IDE зі штучним інтелектом
|
|
184
147
|
|
|
185
148
|
Forge працює через розмову з ШІ-агентом. Вам потрібне IDE, що підтримує ШІ-агентів. Рекомендуємо **Windsurf** (протестовано з Forge):
|
|
186
149
|
|
|
@@ -207,10 +170,8 @@ dotnet --version
|
|
|
207
170
|
### Усунення проблем
|
|
208
171
|
|
|
209
172
|
- **«command not found» після встановлення Node.js** — Закрийте та знову відкрийте термінал (Ubuntu) або PowerShell (Windows). Системі потрібно перезавантажити список доступних команд.
|
|
210
|
-
- **«EACCES permission denied» в Ubuntu під час глобального встановлення Forge** — Виконайте `sudo pnpm add -g @warpgogol/forge`.
|
|
211
173
|
- **«corepack: command not found»** — Ваша версія Node.js занадто стара. Встановіть Node.js 24+ за кроками вище.
|
|
212
|
-
- **
|
|
213
|
-
- **ШІ-агент не знає про Forge** — Ви відкрили порожню папку, але ШІ-агент не має контексту Forge. Спочатку виконайте `forge create --in-place --profile astro-typescript-turborepo` (або відповідний профіль) у терміналі, потім відкрийте папку в вашому IDE. Команда `forge create` наповнює поточну папку навичками, конфігурацією та `AGENTS.md` — без цього ШІ-агент не може виявити Forge.
|
|
174
|
+
- **ШІ-агент не знає про Forge** — Ви відкрили порожню папку, але ШІ-агент не має контексту Forge. Спочатку виконайте `pnpm dlx @warpgogol/forge create --in-place --profile phaser-turborepo` (або відповідний профіль) у терміналі, потім відкрийте папку в вашому IDE. Команда `forge create` наповнює поточну папку навичками, конфігурацією та `AGENTS.md` — без цього ШІ-агент не може виявити Forge.
|
|
214
175
|
|
|
215
176
|
---
|
|
216
177
|
|
|
@@ -225,25 +186,24 @@ dotnet --version
|
|
|
225
186
|
1. **Створіть папку проєкту та згенеруйте каркас Forge на місці.** Відкрийте термінал (PowerShell на Windows, Термінал на Ubuntu) і виконайте:
|
|
226
187
|
|
|
227
188
|
```sh
|
|
228
|
-
mkdir my-
|
|
229
|
-
cd my-
|
|
230
|
-
forge create --in-place --profile
|
|
189
|
+
mkdir my-game
|
|
190
|
+
cd my-game
|
|
191
|
+
pnpm dlx @warpgogol/forge create --in-place --profile phaser-turborepo
|
|
231
192
|
```
|
|
232
193
|
|
|
233
|
-
Назва проєкту визначається з назви папки (`my-
|
|
194
|
+
Назва проєкту визначається з назви папки (`my-game` у цьому прикладі). Ви можете перевизначити її прапорцем `--name`. Це наповнює поточну папку усьом, що потрібно Forge — навичками, конфігурацією та структурою проєкту. Для інших типів проєктів використовуйте інший `--profile`:
|
|
234
195
|
|
|
235
|
-
| Що ви хочете створити | Прапорець профілю
|
|
236
|
-
| ---------------------------------------- |
|
|
237
|
-
|
|
|
238
|
-
|
|
|
239
|
-
|
|
|
240
|
-
| Бібліотека або проєкт лише з управлінням | `--profile forge-shell` |
|
|
196
|
+
| Що ви хочете створити | Прапорець профілю |
|
|
197
|
+
| ---------------------------------------- | ---------------------------- |
|
|
198
|
+
| Браузерна гра (2D, аркада, головоломка) | `--profile phaser-turborepo` |
|
|
199
|
+
| Гра Godot (десктоп, мобільний, 2D/3D) | `--profile godot-csharp` |
|
|
200
|
+
| Бібліотека або проєкт лише з управлінням | `--profile forge-shell` |
|
|
241
201
|
|
|
242
202
|
2. **Відкрийте папку проєкту в вашому IDE.** Відкрийте папку з кроку 1 у Windsurf або вашому IDE.
|
|
243
203
|
|
|
244
204
|
3. **Скажіть ШІ-агенту, що ви хочете створити.** Просто напишіть це в чаті своїми словами. Наприклад:
|
|
245
205
|
|
|
246
|
-
> Я хочу зробити
|
|
206
|
+
> Я хочу зробити гру на Godot, де ловиш зірки, що падають.
|
|
247
207
|
|
|
248
208
|
Або:
|
|
249
209
|
|
|
@@ -254,12 +214,12 @@ dotnet --version
|
|
|
254
214
|
> Я хочу створити TypeScript-бібліотеку для розрахунку астрологічних карт.
|
|
255
215
|
|
|
256
216
|
Це все. ШІ-агент зробить усе інше:
|
|
257
|
-
- Налаштує структуру проєкту залежно від того, що ви описали (
|
|
217
|
+
- Налаштує структуру проєкту залежно від того, що ви описали (гра, бібліотека тощо)
|
|
258
218
|
- Налаштує мовні вподобання та параметри проєкту
|
|
259
|
-
- Запустить живий попередній перегляд, щоб ви бачили свою роботу (для
|
|
219
|
+
- Запустить живий попередній перегляд, щоб ви бачили свою роботу (для ігор)
|
|
260
220
|
- Скаже вам URL для відкриття в браузері
|
|
261
221
|
|
|
262
|
-
4. **Дивіться попередній перегляд.** Для
|
|
222
|
+
4. **Дивіться попередній перегляд.** Для ігор ШІ-агент дасть вам посилання localhost. Натисніть його — ваш проєкт уже запущений. Коли ви описуєте зміни, агент оновлює проєкт, а попередній перегляд оновлюється автоматично.
|
|
263
223
|
|
|
264
224
|
Для проєктів управління та бібліотек візуального попереднього перегляду немає — агент налаштує структуру проєкту та скаже, коли все готово.
|
|
265
225
|
|
|
@@ -274,7 +234,7 @@ dotnet --version
|
|
|
274
234
|
```sh
|
|
275
235
|
mkdir my-project
|
|
276
236
|
cd my-project
|
|
277
|
-
forge create --in-place --profile forge-shell
|
|
237
|
+
pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
|
|
278
238
|
```
|
|
279
239
|
|
|
280
240
|
Потім відкрийте папку в вашому IDE.
|
|
@@ -284,7 +244,7 @@ dotnet --version
|
|
|
284
244
|
> Я хочу перенести свій наявний проєкт у Forge. Він знаходиться за шляхом /path/to/my/project.
|
|
285
245
|
|
|
286
246
|
Агент:
|
|
287
|
-
- Визначить, який це тип проєкту (
|
|
247
|
+
- Визначить, який це тип проєкту (гра, бібліотека тощо)
|
|
288
248
|
- Перемістить усі ваші файли у новий проєкт Forge — включно з прихованими файлами на кшталт `.env`
|
|
289
249
|
- За бажанням перенесе вашу історію git
|
|
290
250
|
- Перевірить, чи все коректно збирається
|
|
@@ -302,30 +262,23 @@ dotnet --version
|
|
|
302
262
|
|
|
303
263
|
```sh
|
|
304
264
|
# Створіть папку проєкту, потім згенеруйте каркас Forge на місці
|
|
265
|
+
# pnpm dlx завантажує Forge тимчасово — глобальне встановлення не потрібне
|
|
305
266
|
mkdir my-project
|
|
306
267
|
cd my-project
|
|
307
|
-
forge create --in-place --profile forge-shell
|
|
268
|
+
pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
|
|
308
269
|
|
|
309
270
|
# З конкретним профілем стеку
|
|
310
|
-
mkdir my-site && cd my-site
|
|
311
|
-
forge create --in-place --profile astro-typescript-turborepo
|
|
312
|
-
|
|
313
271
|
mkdir my-game && cd my-game
|
|
314
|
-
forge create --in-place --profile phaser-turborepo
|
|
272
|
+
pnpm dlx @warpgogol/forge create --in-place --profile phaser-turborepo
|
|
315
273
|
|
|
316
274
|
mkdir my-godot-game && cd my-godot-game
|
|
317
|
-
forge create --in-place --profile godot-csharp
|
|
275
|
+
pnpm dlx @warpgogol/forge create --in-place --profile godot-csharp
|
|
318
276
|
|
|
319
277
|
# Перевизначити назву проєкту (за замовчуванням визначається з назви папки)
|
|
320
|
-
forge create --in-place --profile forge-shell --name my-custom-name
|
|
278
|
+
pnpm dlx @warpgogol/forge create --in-place --profile forge-shell --name my-custom-name
|
|
321
279
|
```
|
|
322
280
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
```sh
|
|
326
|
-
mkdir my-project && cd my-project
|
|
327
|
-
pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
|
|
328
|
-
```
|
|
281
|
+
Після створення каркаса Forge встановлюється як локальна devDependency. Використовуйте `pnpm exec forge` для всіх наступних команд у проєкті:
|
|
329
282
|
|
|
330
283
|
#### Перенесення наявного проєкту у Forge
|
|
331
284
|
|
|
@@ -334,14 +287,14 @@ CLI-команди для перенесення немає — це інтер
|
|
|
334
287
|
```sh
|
|
335
288
|
# 1. Створіть новий порожній проєкт Forge (на місці)
|
|
336
289
|
mkdir my-project && cd my-project
|
|
337
|
-
forge create --in-place --profile forge-shell
|
|
290
|
+
pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
|
|
338
291
|
|
|
339
292
|
# 2. Відкрийте проєкт у Windsurf (протестовано з Forge) або вашому IDE
|
|
340
293
|
|
|
341
294
|
# 3. Запустіть навичку /forge-bootstrap і оберіть режим "transplant"
|
|
342
295
|
# Навичка:
|
|
343
296
|
# - Запитає шлях до вашого наявного коду
|
|
344
|
-
# - Автоматично визначить стек (
|
|
297
|
+
# - Автоматично визначить стек (Phaser, Godot тощо)
|
|
345
298
|
# - Перенесе всі файли (включно з .env та git-ігнорованими)
|
|
346
299
|
# - За бажанням перенесе історію git
|
|
347
300
|
# - Перевірить збірку
|
|
@@ -351,13 +304,13 @@ forge create --in-place --profile forge-shell
|
|
|
351
304
|
|
|
352
305
|
```sh
|
|
353
306
|
# Перевірити стан проєкту
|
|
354
|
-
forge doctor
|
|
307
|
+
pnpm exec forge doctor
|
|
355
308
|
|
|
356
309
|
# Валідувати RFC
|
|
357
|
-
forge rfc.validate
|
|
310
|
+
pnpm exec forge rfc.validate
|
|
358
311
|
|
|
359
312
|
# Список доступних навичок
|
|
360
|
-
forge skill.list
|
|
313
|
+
pnpm exec forge skill.list
|
|
361
314
|
```
|
|
362
315
|
|
|
363
316
|
## Профілі стеку
|
|
@@ -367,30 +320,29 @@ forge skill.list
|
|
|
367
320
|
| Профіль | Тип проєкту | Опис | Перший робочий простір | Призначення |
|
|
368
321
|
| --- | --- | --- | --- | --- |
|
|
369
322
|
| `forge-shell` | Управління / бібліотека | Мінімальний каркас Forge (за замовчуванням) | — | Проєкти лише з управлінням, бібліотеки, невеб-проєкти |
|
|
370
|
-
| `astro-typescript-turborepo` | Вебсайт | Astro + TypeScript + pnpm + Turborepo | `sites/my-site` | Вебсайти, вебзастосунки, контентні сайти |
|
|
371
323
|
| `phaser-turborepo` | Браузерна гра | Phaser + TypeScript + pnpm + Turborepo | `games/my-game` | Браузерні ігри, інтерактивні досвіди |
|
|
372
324
|
| `godot-csharp` | Гра Godot | Godot 4.x + C# + pnpm + Turborepo | `games/my-game` | Десктопні/мобільні ігри, інтерактивні проєкти на Godot |
|
|
373
325
|
|
|
374
326
|
```sh
|
|
375
327
|
# Список доступних профілів (після встановлення)
|
|
376
|
-
forge profile.validate
|
|
328
|
+
pnpm exec forge profile.validate
|
|
377
329
|
```
|
|
378
330
|
|
|
379
|
-
Коли ви переносите наявний проєкт через режим `/forge-bootstrap` transplant, Forge автоматично визначає відповідний профіль, перевіряючи файли-маркери (`
|
|
331
|
+
Коли ви переносите наявний проєкт через режим `/forge-bootstrap` transplant, Forge автоматично визначає відповідний профіль, перевіряючи файли-маркери (`phaser.config.*`, `project.godot` тощо).
|
|
380
332
|
|
|
381
333
|
## Процес оновлення
|
|
382
334
|
|
|
383
335
|
Коли публікується нова версія `@warpgogol/forge`, споживачі оновлюються адитивно:
|
|
384
336
|
|
|
385
337
|
```sh
|
|
386
|
-
# 1.
|
|
387
|
-
pnpm
|
|
338
|
+
# 1. Оновити Forge до останньої версії (локальна devDependency)
|
|
339
|
+
pnpm update @warpgogol/forge
|
|
388
340
|
|
|
389
341
|
# 2. Синхронізувати навички та стандартні прив'язки з встановленої версії
|
|
390
|
-
forge upgrade
|
|
342
|
+
pnpm exec forge upgrade
|
|
391
343
|
|
|
392
344
|
# 3. Перевірити стан проєкту
|
|
393
|
-
forge doctor
|
|
345
|
+
pnpm exec forge doctor
|
|
394
346
|
```
|
|
395
347
|
|
|
396
348
|
`forge upgrade` — адитивний: він ніколи не перезаписує прив'язки, встановлені оператором, ніколи не видаляє файли та є ідемпотентним. Він оновлює `forge.syncedVersion` у `forge.yaml`, щоб відстежувати останню синхронізовану версію. Використовуйте `--dry-run` для попереднього перегляду змін.
|
|
@@ -410,12 +362,12 @@ forge doctor
|
|
|
410
362
|
|
|
411
363
|
Типовий життєвий цикл проєкту Forge:
|
|
412
364
|
|
|
413
|
-
1. **Створення** — `forge create --in-place --profile <профіль>` генерує каркас нового проєкту в поточній директорії з forge.yaml, навичками та директоріями документації
|
|
365
|
+
1. **Створення** — `pnpm dlx @warpgogol/forge create --in-place --profile <профіль>` генерує каркас нового проєкту в поточній директорії з forge.yaml, навичками та директоріями документації
|
|
414
366
|
2. **IDE** — відкрийте проєкт у Windsurf (протестовано з Forge) або вашому IDE
|
|
415
367
|
3. **Bootstrap** — запустіть `/forge-bootstrap` для інтерактивного налаштування проєкту. Навичка підтримує два режими:
|
|
416
368
|
- **Greenfield** — створення нового проєкту з нуля: оберіть стек, заповніть прив'язки, ініціалізуйте git
|
|
417
369
|
- **Transplant** — перенесення наявного коду у Forge: визначення стеку, міграція коду (включно з git-ігнорованими файлами на кшталт `.env`), за бажанням перенесення історії git, перевірка збірки
|
|
418
|
-
4. **Оновлення** — коли публікується нова версія `@warpgogol/forge`, запустіть `forge upgrade` для адитивної синхронізації навичок та стандартних прив'язок
|
|
370
|
+
4. **Оновлення** — коли публікується нова версія `@warpgogol/forge`, запустіть `pnpm exec forge upgrade` для адитивної синхронізації навичок та стандартних прив'язок
|
|
419
371
|
|
|
420
372
|
## forge.yaml
|
|
421
373
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":""}
|