@warpgogol/forge 4.1.6 → 4.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/AGENTS.md +2 -1
- package/CHANGELOG.md +33 -0
- package/CONTRIBUTING.md +36 -0
- package/README.md +129 -535
- package/README.uk.md +145 -554
- package/SECURITY.md +17 -0
- package/dist/bin/cli.d.ts +3 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +296 -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 +153 -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 +264 -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 +201 -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 +304 -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 +81 -0
- package/dist/os/adr/types.d.ts.map +1 -0
- package/dist/os/adr/types.js +62 -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 +50 -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 +191 -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 +260 -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 +222 -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 +387 -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 +472 -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 +855 -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/forge-autonomy-validate.d.ts +18 -0
- package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +1 -0
- package/dist/os/core/handlers/forge-autonomy-validate.js +115 -0
- package/dist/os/core/handlers/forge-autonomy-validate.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 +204 -0
- package/dist/os/core/handlers/knowledge-compact.js.map +1 -0
- package/dist/os/core/handlers/package-health.d.ts +17 -0
- package/dist/os/core/handlers/package-health.d.ts.map +1 -0
- package/dist/os/core/handlers/package-health.js +217 -0
- package/dist/os/core/handlers/package-health.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/public-surface.d.ts +13 -0
- package/dist/os/core/handlers/public-surface.d.ts.map +1 -0
- package/dist/os/core/handlers/public-surface.js +148 -0
- package/dist/os/core/handlers/public-surface.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 +39 -0
- package/dist/os/core/handlers/validate.d.ts.map +1 -0
- package/dist/os/core/handlers/validate.js +241 -0
- package/dist/os/core/handlers/validate.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 +88 -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 +141 -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 +64 -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 +97 -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 +454 -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 +55 -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 +19 -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 +334 -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 +41 -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 +93 -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 +50 -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/plugin/plugin.module.d.ts +25 -0
- package/dist/os/plugin/plugin.module.d.ts.map +1 -0
- package/dist/os/plugin/plugin.module.js +212 -0
- package/dist/os/plugin/plugin.module.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 +362 -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 +328 -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 +277 -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 +170 -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 +209 -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 +438 -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 +203 -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 +452 -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 +260 -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 +80 -0
- package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -0
- package/dist/os/rfc/handlers/validate-rules.js +907 -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 +134 -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 +390 -0
- package/dist/os/rfc/rfc.module.js.map +1 -0
- package/dist/os/rfc/types.d.ts +559 -0
- package/dist/os/rfc/types.d.ts.map +1 -0
- package/dist/os/rfc/types.js +118 -0
- package/dist/os/rfc/types.js.map +1 -0
- package/dist/os/rfc/verification-evidence.d.ts +15 -0
- package/dist/os/rfc/verification-evidence.d.ts.map +1 -0
- package/dist/os/rfc/verification-evidence.js +185 -0
- package/dist/os/rfc/verification-evidence.js.map +1 -0
- package/dist/os/rfc/verification-refresh.d.ts +4 -0
- package/dist/os/rfc/verification-refresh.d.ts.map +1 -0
- package/dist/os/rfc/verification-refresh.js +160 -0
- package/dist/os/rfc/verification-refresh.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/metrics-aggregate.d.ts +4 -0
- package/dist/os/session/handlers/metrics-aggregate.d.ts.map +1 -0
- package/dist/os/session/handlers/metrics-aggregate.js +183 -0
- package/dist/os/session/handlers/metrics-aggregate.js.map +1 -0
- package/dist/os/session/handlers/metrics-rfc.d.ts +4 -0
- package/dist/os/session/handlers/metrics-rfc.d.ts.map +1 -0
- package/dist/os/session/handlers/metrics-rfc.js +272 -0
- package/dist/os/session/handlers/metrics-rfc.js.map +1 -0
- package/dist/os/session/handlers/metrics-session.d.ts +9 -0
- package/dist/os/session/handlers/metrics-session.d.ts.map +1 -0
- package/dist/os/session/handlers/metrics-session.js +167 -0
- package/dist/os/session/handlers/metrics-session.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 +319 -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 +224 -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 +21 -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 +147 -0
- package/dist/os/session/session.module.js.map +1 -0
- package/dist/os/session/types.d.ts +214 -0
- package/dist/os/session/types.d.ts.map +1 -0
- package/dist/os/session/types.js +61 -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 +72 -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 +316 -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 +105 -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 +342 -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 +228 -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 +438 -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 +129 -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 +152 -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 +51 -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/handlers/workspace-deps.d.ts +12 -0
- package/dist/os/werkstatt/handlers/workspace-deps.d.ts.map +1 -0
- package/dist/os/werkstatt/handlers/workspace-deps.js +42 -0
- package/dist/os/werkstatt/handlers/workspace-deps.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 +63 -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 +262 -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 +56 -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/compass/contract-registry.d.ts +7 -0
- package/dist/src/compass/contract-registry.d.ts.map +1 -0
- package/dist/src/compass/contract-registry.js +112 -0
- package/dist/src/compass/contract-registry.js.map +1 -0
- package/dist/src/compass/types.d.ts +28 -0
- package/dist/src/compass/types.d.ts.map +1 -0
- package/dist/src/compass/types.js +14 -0
- package/dist/src/compass/types.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 +363 -0
- package/dist/src/config/forge-config.js.map +1 -0
- package/dist/src/forge-module.d.ts +29 -0
- package/dist/src/forge-module.d.ts.map +1 -0
- package/dist/src/forge-module.js +16 -0
- package/dist/src/forge-module.js.map +1 -0
- package/dist/src/index.d.ts +39 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +59 -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 +65 -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 +31 -0
- package/dist/src/onboarding/agents-generate.d.ts.map +1 -0
- package/dist/src/onboarding/agents-generate.js +373 -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 +408 -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 +1222 -0
- package/dist/src/onboarding/doctor.js.map +1 -0
- package/dist/src/onboarding/init.d.ts +36 -0
- package/dist/src/onboarding/init.d.ts.map +1 -0
- package/dist/src/onboarding/init.js +412 -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 +179 -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 +264 -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 +123 -0
- package/dist/src/onboarding/scaffold.js.map +1 -0
- package/dist/src/onboarding/upgrade.d.ts +27 -0
- package/dist/src/onboarding/upgrade.d.ts.map +1 -0
- package/dist/src/onboarding/upgrade.js +453 -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/plugin/forge-plugin-manifest.d.ts +38 -0
- package/dist/src/plugin/forge-plugin-manifest.d.ts.map +1 -0
- package/dist/src/plugin/forge-plugin-manifest.js +52 -0
- package/dist/src/plugin/forge-plugin-manifest.js.map +1 -0
- package/dist/src/profiles/profile-schema.d.ts +361 -0
- package/dist/src/profiles/profile-schema.d.ts.map +1 -0
- package/dist/src/profiles/profile-schema.js +208 -0
- package/dist/src/profiles/profile-schema.js.map +1 -0
- package/dist/src/profiles/stack-profile.d.ts +173 -0
- package/dist/src/profiles/stack-profile.d.ts.map +1 -0
- package/dist/src/profiles/stack-profile.js +148 -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 +174 -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 +158 -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 +28 -0
- package/dist/src/utils/generated-marker.d.ts.map +1 -0
- package/dist/src/utils/generated-marker.js +138 -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/docs/concepts/governance-model.md +33 -0
- package/docs/concepts/project-contract.md +61 -0
- package/docs/concepts/why-forge.md +46 -0
- package/docs/getting-started.md +44 -0
- package/docs/guides/existing-project.md +38 -0
- package/docs/guides/rfc-adr.md +61 -0
- package/docs/guides/skills.md +60 -0
- package/docs/guides/upgrading.md +35 -0
- package/docs/maintainers/publishing.md +34 -0
- package/docs/reference/cli.md +140 -0
- package/docs/reference/forge-yaml.md +114 -0
- package/docs/reference/profiles.md +37 -0
- package/docs/reference/programmatic-api.md +79 -0
- package/os/core/core.module.ts +15 -0
- package/os/core/handlers/public-surface.ts +189 -0
- package/os/rfc/handlers/validate-rules.ts +0 -1
- package/os/rfc/verification-refresh.test.ts +15 -14
- package/os/rfc/verification-refresh.ts +1 -7
- package/os/session/handlers/metrics-session.ts +10 -9
- package/package.json +15 -7
- package/src/tests/metrics-rfc-1053.test.ts +14 -4
- package/src/tests/public-surface.test.ts +247 -0
package/README.uk.md
CHANGED
|
@@ -2,598 +2,190 @@
|
|
|
2
2
|
|
|
3
3
|
Українська | [English](README.md)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**ШІ може писати код. Forge тримає проєкт інженерним.**
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Репозиторіо-нативний шар управління для розробки за допомогою ШІ. Рішення, правила, навички та перевірки залишаються з проєктом — незалежно від агента, який з ним працює.
|
|
8
|
+
|
|
9
|
+
[](https://www.npmjs.com/package/@warpgogol/forge) [](https://www.npmjs.com/package/@warpgogol/forge) [](https://github.com/syrokomskyi/forge/actions) [](https://nodejs.org) [](LICENSE)
|
|
8
10
|
|
|
9
11
|
---
|
|
10
12
|
|
|
11
|
-
##
|
|
13
|
+
## Почни зараз
|
|
12
14
|
|
|
13
|
-
Створіть нову папку, відкрийте її у вашому ШІ-IDE (Windsurf, Cursor або будь-якому IDE з підтримкою ШІ-агентів) і вставте це:
|
|
15
|
+
Створіть нову папку, відкрийте її у вашому ШІ-IDE (Windsurf, Cursor, Claude Code, Codex CLI або будь-якому IDE з підтримкою ШІ-агентів) і вставте це:
|
|
14
16
|
|
|
15
17
|
```
|
|
16
|
-
Install https://npmjs.com/package/@warpgogol/forge in this folder and set up my project. I want to build: [
|
|
18
|
+
Install https://npmjs.com/package/@warpgogol/forge in this folder and set up my project. I want to build: [describe your project]
|
|
17
19
|
```
|
|
18
20
|
|
|
19
|
-
Замініть `[
|
|
21
|
+
Замініть `[describe your project]` своєю ідеєю — гра, бібліотека, база знань, будь-що. ШІ-агент встановить Forge, створить структуру проєкту і налаштує живий прев'ю. Далі ви просто говорите: описуєте, що хочете, і агент будує. Без програмування, без терміналу, без команд.
|
|
20
22
|
|
|
21
|
-
### Після
|
|
23
|
+
### Після завершення промпту — Bootstrap skill
|
|
22
24
|
|
|
23
|
-
Коли ШІ-агент встановить Forge і
|
|
25
|
+
Коли ШІ-агент встановить Forge і створить структуру проєкту, він запустить навичку `/forge-bootstrap`. Це обов'язковий крок, який інтерактивно налаштовує ваш проєкт:
|
|
24
26
|
|
|
25
27
|
- Мову, якою ШІ спілкується з вами
|
|
26
28
|
- Мову документації проєкту (RFC, ADR, README) — за замовчуванням англійська
|
|
27
29
|
- Ваш стиль роботи — діловий або творчий
|
|
28
|
-
- Ваше ім'я та форму
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
Навичка ставить кілька простих запитань у чаті, а потім налаштовує все. Після завершення ви готові творити — просто скажіть ШІ-агенту, що ви хочете створити.
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Що можна створити за допомогою Forge
|
|
36
|
-
|
|
37
|
-
Forge підтримує п'ять типів проєктів. Ви обираєте один на старті — все інше відбувається автоматично.
|
|
38
|
-
|
|
39
|
-
| Тип проєкту | Що це | Приклади |
|
|
40
|
-
| --- | --- | --- |
|
|
41
|
-
| **Браузерна гра** | Інтерактивна гра, що працює в браузері — 2D, аркада, головоломка, пригода | Лови зірки, головоломка з плитками, платформер |
|
|
42
|
-
| **Управління / бібліотека** | Бібліотека коду або проєкт лише з управлінською структурою — без сайту, без гри, без відео, лише структура та документація | npm-пакет, внутрішній інструмент, центр документації |
|
|
43
|
-
| **Гра Godot** | Десктопна або мобільна гра на Godot 4.x з C# — 2D, 3D, платформер, RPG | Пригода з виглядом зверху, 3D-платформер, головоломка |
|
|
44
|
-
| **Система знань** | База знань з підтримкою доказів — структуровані набори даних, де твердження підтверджені зареєстрованими джерелами | База знань гри, доменна онтологія, куратований довідковий набір даних |
|
|
45
|
-
| **Бібліотека TypeScript** | Універсальний TypeScript монорепозиторій з валідаторами найкращих практик — tsconfig, межі імпортів, фантомні залежності, експорти пакетів, strict mode, безпека barrel-експортів | Внутрішній інструмент, спільна бібліотека, TypeScript монорепозиторій |
|
|
30
|
+
- Ваше ім'я та форму звернення
|
|
31
|
+
- Вашу конфігурацію стеку (або міграцію існуючого проєкту)
|
|
46
32
|
|
|
47
|
-
|
|
33
|
+
Навичка ставить кілька простих запитань у чаті, потім усе налаштовує. Після завершення ви готові творити — просто скажіть ШІ-агенту, що хочете побудувати.
|
|
48
34
|
|
|
49
35
|
---
|
|
50
36
|
|
|
51
|
-
##
|
|
52
|
-
|
|
53
|
-
Forge — це **шар управління**: навички, RFC/ADR робочі процеси, угоди про найменування, вендоринг специфікацій та CLI. Він незалежний від фреймворку та не має Runtime-залежностей (тільки `yaml` + `zod`).
|
|
54
|
-
|
|
55
|
-
Для повного управління життєвим циклом проєкту — місії, релізи, розгортання, сертифікація, перевірки якості, генерація контенту — Forge підключається до **рушія Werkstatt** та **плагінів специфічних для стеку**. Це окремі npm-пакети, які встановлюються разом з Forge, коли потрібні можливості runtime понад управління.
|
|
56
|
-
|
|
57
|
-
| Пакет | Призначення | Потрібен для |
|
|
58
|
-
| --- | --- | --- |
|
|
59
|
-
| [`@warpgogol/werkstatt`](https://github.com/syrokomskyi/werkstatt) | Рушій runtime — місії, релізи, розгортання Leitstand, сертифікація, Bordbuch, сховище артефактів | Усі типи проєктів з управлінням життєвим циклом |
|
|
60
|
-
| [`@warpgogol/werkstatt-shared`](https://github.com/syrokomskyi/werkstatt-shared) | Спільна інфраструктура — перевірки, інтеграція, онтологія, паспорт | Встановлюється автоматично з рушієм |
|
|
61
|
-
| [`@warpgogol/werkstatt-phaser-game`](https://github.com/syrokomskyi/werkstatt-phaser-game) | Плагін Phaser-гри — валідатори phaser, збірка Vite, адаптери розгортання | Проєкти браузерних ігор (`phaser-turborepo`) |
|
|
62
|
-
| [`@warpgogol/werkstatt-godot-game`](https://github.com/syrokomskyi/werkstatt-godot-game) | Плагін Godot — валідатори сцен, збірка dotnet, розгортання itch.io, навички Godot | Проєкти ігор Godot (`godot-csharp`) |
|
|
63
|
-
| [`@warpgogol/werkstatt-knowledge`](https://github.com/syrokomskyi/werkstatt-knowledge) | Плагін системи знань — прив'язка джерел, канонічна верифікація, екстракція, матеріалізація, перевірки релізу | Проєкти систем знань (`knowledge-typescript-turborepo`) |
|
|
64
|
-
| [`@warpgogol/werkstatt-typescript`](https://github.com/syrokomskyi/werkstatt-typescript) | Плагін TypeScript — tsconfig, межі імпортів, фантомні залежності, експорти пакетів, strict mode, barrel-валідатори | Проєкти TypeScript TurboRepo (`typescript-turborepo`) |
|
|
65
|
-
|
|
66
|
-
### Коли потрібні ці пакети
|
|
67
|
-
|
|
68
|
-
- **Проєкти лише з управлінням** (RFC, ADR, навички, центри документації) — Forge сам по собі достатній.
|
|
69
|
-
- **Ігри, проєкти Godot, системи знань** — встановіть `@warpgogol/werkstatt` (рушій) плюс відповідний плагін стеку. Навичка `forge-bootstrap` налаштовує прив'язки автоматично; самі пакети потрібно встановити як devDependencies.
|
|
70
|
-
|
|
71
|
-
### Встановлення пакунків рушія
|
|
37
|
+
## Швидкий старт (термінал)
|
|
72
38
|
|
|
73
39
|
```sh
|
|
74
|
-
|
|
75
|
-
pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-phaser-game
|
|
76
|
-
|
|
77
|
-
# Проєкт гри Godot
|
|
78
|
-
pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-godot-game
|
|
79
|
-
|
|
80
|
-
# Проєкт системи знань
|
|
81
|
-
pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-knowledge
|
|
82
|
-
|
|
83
|
-
# Проєкт TypeScript TurboRepo
|
|
84
|
-
pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-typescript
|
|
40
|
+
pnpm dlx @warpgogol/forge@latest create --in-place --profile typescript-turborepo
|
|
85
41
|
```
|
|
86
42
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Повний посібник зі встановлення (з нуля)
|
|
92
|
-
|
|
93
|
-
Якщо ви ніколи раніше не програмували, цей розділ проведе вас від абсолютно порожнього комп'ютера до робочого налаштування Forge. Виконайте кроки для вашої операційної системи.
|
|
94
|
-
|
|
95
|
-
### Що вам потрібно
|
|
96
|
-
|
|
97
|
-
Потрібні дві безкоштовні програми:
|
|
98
|
-
|
|
99
|
-
- **Node.js** (версія 24 або новіша) — дозволяє вашому комп'ютеру запускати JavaScript-інструменти.
|
|
100
|
-
- **pnpm** — менеджер пакетів, який Forge використовує для встановлення залежностей. Він вбудований у Node.js і його лише треба увімкнути.
|
|
101
|
-
|
|
102
|
-
Обидві програми безкоштовні. Спочатку встановлюєте Node.js, потім вмикаєте pnpm однією командою.
|
|
103
|
-
|
|
104
|
-
### Ubuntu
|
|
105
|
-
|
|
106
|
-
#### Крок 1 — Встановлення Node.js
|
|
107
|
-
|
|
108
|
-
1. Відкрийте програму **Термінал** (натисніть `Ctrl + Alt + T` або знайдіть «Термінал» у ваших програмах).
|
|
43
|
+
Потім відкрийте проєкт у вашому ШІ-IDE (Windsurf, Cursor, Claude Code, Codex CLI або будь-якому IDE з підтримкою ШІ-агентів) і скажіть агентові, що ви хочете створити.
|
|
109
44
|
|
|
110
|
-
|
|
45
|
+
Одна команда. Далі — робота через агента.
|
|
111
46
|
|
|
112
|
-
|
|
113
|
-
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs
|
|
114
|
-
```
|
|
47
|
+
### Профілі стеку
|
|
115
48
|
|
|
116
|
-
|
|
49
|
+
Forge не залежить від типу проєкту. Профілі стеку — готові стартові точки.
|
|
117
50
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
#### Крок 2 — Увімкнення pnpm
|
|
127
|
-
|
|
128
|
-
Node.js містить інструмент **Corepack**, який керує менеджерами пакетів. Увімкніть pnpm командою:
|
|
129
|
-
|
|
130
|
-
```sh
|
|
131
|
-
corepack enable pnpm
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
Перевірте:
|
|
51
|
+
| Профіль | Призначення |
|
|
52
|
+
| -------------------------------- | ------------------------------------------- |
|
|
53
|
+
| `forge-shell` | Лише управління, бібліотеки, не-веб проєкти |
|
|
54
|
+
| `typescript-turborepo` | TypeScript монорепозиторій з валідаторами |
|
|
55
|
+
| `phaser-turborepo` | Браузерні ігри, інтерактивні досвіди |
|
|
56
|
+
| `godot-csharp` | Десктопні/мобільні ігри на Godot 4.x + C# |
|
|
57
|
+
| `knowledge-typescript-turborepo` | Бази знань з підтримкою доказів |
|
|
135
58
|
|
|
136
59
|
```sh
|
|
137
|
-
|
|
60
|
+
# Перелічити доступні профілі
|
|
61
|
+
pnpm exec forge profile.validate
|
|
138
62
|
```
|
|
139
63
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
#### Крок 3 — Встановлення IDE зі штучним інтелектом
|
|
143
|
-
|
|
144
|
-
Forge працює через розмову з ШІ-агентом. Вам потрібне IDE, що підтримує ШІ-агентів. Рекомендуємо **Windsurf** (протестовано з Forge):
|
|
145
|
-
|
|
146
|
-
1. Перейдіть на [windsurf.com](https://windsurf.com) та завантажте версію для Linux.
|
|
147
|
-
2. Відкрийте завантажений файл і дотримуйтесь інструкцій установника.
|
|
148
|
-
3. Запустіть Windsurf.
|
|
149
|
-
|
|
150
|
-
Можете також використовувати **Cursor** ([cursor.com](https://cursor.com)) або будь-яке IDE, що підтримує навички ШІ-агентів.
|
|
151
|
-
|
|
152
|
-
### Windows
|
|
153
|
-
|
|
154
|
-
#### Крок 1 — Встановлення Node.js
|
|
155
|
-
|
|
156
|
-
1. Відкрийте [nodejs.org](https://nodejs.org) у вашому браузері.
|
|
157
|
-
2. Завантажте **LTS-версію** (на ній буде написано «LTS» та «Recommended for Most Users»). Версія має бути 22.x або новіша.
|
|
158
|
-
3. Запустіть завантажений установник (файл `.msi`). Прийміть усі стандартні параметри, натискаючи **Next** на кожному екрані, потім **Install**. Якщо Windows попросить дозвіл, натисніть **Yes**.
|
|
159
|
-
|
|
160
|
-
4. Перевірте, чи все працює. Відкрийте **PowerShell** (знайдіть «PowerShell» у меню Пуск) і введіть:
|
|
161
|
-
|
|
162
|
-
```sh
|
|
163
|
-
node --version
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
Ви маєте побачити номер версії, наприклад `v22.x.x`, а не повідомлення про помилку.
|
|
167
|
-
|
|
168
|
-
#### Крок 2 — Увімкнення pnpm
|
|
169
|
-
|
|
170
|
-
Node.js містить інструмент **Corepack**, який керує менеджерами пакетів. Увімкніть pnpm командою:
|
|
171
|
-
|
|
172
|
-
```sh
|
|
173
|
-
corepack enable pnpm
|
|
174
|
-
```
|
|
64
|
+
---
|
|
175
65
|
|
|
176
|
-
|
|
66
|
+
## Архітектура
|
|
177
67
|
|
|
178
|
-
```sh
|
|
179
|
-
pnpm --version
|
|
180
68
|
```
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
### Додатково — Встановлення Godot та .NET (лише для проєктів ігор Godot)
|
|
195
|
-
|
|
196
|
-
Якщо ви плануєте створювати **ігри Godot** (профіль `godot-csharp`), вам потрібні два додаткові інструменти:
|
|
197
|
-
|
|
198
|
-
- **Godot 4.x** (з підтримкою .NET) — ігровий рушій. Завантажте його з [godotengine.org/download](https://godotengine.org/download). Обов'язково оберіть версію ".NET" (не стандартну версію).
|
|
199
|
-
- **.NET SDK 8+** — runtime C# та інструменти збірки. Завантажте з [dotnet.microsoft.com/download](https://dotnet.microsoft.com/download).
|
|
200
|
-
|
|
201
|
-
Перевірте, що обидва встановлені:
|
|
202
|
-
|
|
203
|
-
```sh
|
|
204
|
-
godot --version
|
|
205
|
-
dotnet --version
|
|
69
|
+
IDE / АГЕНТ / МОДЕЛЬ
|
|
70
|
+
↓
|
|
71
|
+
┌──────────────────────────────────┐
|
|
72
|
+
│ FORGE │
|
|
73
|
+
│ │
|
|
74
|
+
│ Контракт проєкту forge.yaml │
|
|
75
|
+
│ Рішення RFC / ADR │
|
|
76
|
+
│ Поведінка агента Skills │
|
|
77
|
+
│ Перевірка Validators │
|
|
78
|
+
│ Еволюція Upgrade │
|
|
79
|
+
└──────────────────────────────────┘
|
|
80
|
+
↓
|
|
81
|
+
ВАШ РЕПОЗИТОРІЙ
|
|
206
82
|
```
|
|
207
83
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
- **«command not found» після встановлення Node.js** — Закрийте та знову відкрийте термінал (Ubuntu) або PowerShell (Windows). Системі потрібно перезавантажити список доступних команд.
|
|
211
|
-
- **«corepack: command not found»** — Ваша версія Node.js занадто стара. Встановіть Node.js 24+ за кроками вище.
|
|
212
|
-
- **ШІ-агент не знає про Forge** — Ви відкрили порожню папку, але ШІ-агент не має контексту Forge. Спочатку виконайте `pnpm dlx @warpgogol/forge create --in-place --profile phaser-turborepo` (або відповідний профіль) у терміналі, потім відкрийте папку в вашому IDE. Команда `forge create` наповнює поточну папку навичками, конфігурацією та `AGENTS.md` — без цього ШІ-агент не може виявити Forge.
|
|
84
|
+
Агенти можуть змінюватися. Моделі можуть змінюватися. IDE можуть змінюватися. Інженерні правила залишаються з проєктом.
|
|
213
85
|
|
|
214
86
|
---
|
|
215
87
|
|
|
216
|
-
##
|
|
217
|
-
|
|
218
|
-
### Для креативних операторів — одна команда, потім просто розмовляйте
|
|
219
|
-
|
|
220
|
-
Потрібно виконати одну команду в терміналі для створення проєкту. Після цього все працює через розмову з ШІ-агентом — більше команд не потрібно.
|
|
221
|
-
|
|
222
|
-
#### Створення нового проєкту з нуля
|
|
223
|
-
|
|
224
|
-
1. **Створіть папку проєкту та згенеруйте каркас Forge на місці.** Відкрийте термінал (PowerShell на Windows, Термінал на Ubuntu) і виконайте:
|
|
225
|
-
|
|
226
|
-
```sh
|
|
227
|
-
mkdir my-game
|
|
228
|
-
cd my-game
|
|
229
|
-
pnpm dlx @warpgogol/forge create --in-place --profile phaser-turborepo
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
Назва проєкту визначається з назви папки (`my-game` у цьому прикладі). Ви можете перевизначити її прапорцем `--name`. Це наповнює поточну папку усьом, що потрібно Forge — навичками, конфігурацією та структурою проєкту. Для інших типів проєктів використовуйте інший `--profile`:
|
|
233
|
-
|
|
234
|
-
| Що ви хочете створити | Прапорець профілю |
|
|
235
|
-
| ---------------------------------------- | ------------------------------------------ |
|
|
236
|
-
| Браузерна гра (2D, аркада, головоломка) | `--profile phaser-turborepo` |
|
|
237
|
-
| Гра Godot (десктоп, мобільний, 2D/3D) | `--profile godot-csharp` |
|
|
238
|
-
| Система знань (з підтримкою доказів) | `--profile knowledge-typescript-turborepo` |
|
|
239
|
-
| Бібліотека або проєкт лише з управлінням | `--profile forge-shell` |
|
|
240
|
-
|
|
241
|
-
2. **Відкрийте папку проєкту в вашому IDE.** Відкрийте папку з кроку 1 у Windsurf або вашому IDE.
|
|
242
|
-
|
|
243
|
-
3. **Скажіть ШІ-агенту, що ви хочете створити.** Просто напишіть це в чаті своїми словами. Наприклад:
|
|
244
|
-
|
|
245
|
-
> Я хочу зробити гру на Godot, де ловиш зірки, що падають.
|
|
246
|
-
|
|
247
|
-
Або:
|
|
248
|
-
|
|
249
|
-
> Я хочу створити браузерну гру, де ловиш зірки, що падають.
|
|
250
|
-
|
|
251
|
-
Або:
|
|
252
|
-
|
|
253
|
-
> Я хочу створити TypeScript-бібліотеку для розрахунку астрологічних карт.
|
|
254
|
-
|
|
255
|
-
Це все. ШІ-агент зробить усе інше:
|
|
256
|
-
- Налаштує структуру проєкту залежно від того, що ви описали (гра, бібліотека тощо)
|
|
257
|
-
- Налаштує мовні вподобання та параметри проєкту
|
|
258
|
-
- Запустить живий попередній перегляд, щоб ви бачили свою роботу (для ігор)
|
|
259
|
-
- Скаже вам URL для відкриття в браузері
|
|
88
|
+
## Що контролює Forge
|
|
260
89
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
Якщо ви вже маєте проєкт десь інше і хочете перенести його у Forge:
|
|
270
|
-
|
|
271
|
-
1. **Створіть проєкт Forge.** Відкрийте термінал, створіть папку і виконайте:
|
|
272
|
-
|
|
273
|
-
```sh
|
|
274
|
-
mkdir my-project
|
|
275
|
-
cd my-project
|
|
276
|
-
pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
Потім відкрийте папку в вашому IDE.
|
|
280
|
-
|
|
281
|
-
2. **Скажіть ШІ-агенту:**
|
|
282
|
-
|
|
283
|
-
> Я хочу перенести свій наявний проєкт у Forge. Він знаходиться за шляхом /path/to/my/project.
|
|
284
|
-
|
|
285
|
-
Агент:
|
|
286
|
-
- Визначить, який це тип проєкту (гра, бібліотека тощо)
|
|
287
|
-
- Перемістить усі ваші файли у новий проєкт Forge — включно з прихованими файлами на кшталт `.env`
|
|
288
|
-
- За бажанням перенесе вашу історію git
|
|
289
|
-
- Перевірить, чи все коректно збирається
|
|
290
|
-
- Запустить живий попередній перегляд (для візуальних типів проєктів)
|
|
291
|
-
|
|
292
|
-
#### Що робити, якщо щось пішло не так?
|
|
293
|
-
|
|
294
|
-
Просто скажіть ШІ-агенту. Він може перевірити стан проєкту, виправити проблеми та пояснити, що сталося — все простою мовою. Вам ніколи не потрібно відкривати термінал або вводити команди самостійно.
|
|
90
|
+
| Площина | Що управляє |
|
|
91
|
+
| -------------------- | --------------------------------------------------- |
|
|
92
|
+
| **Намір** | RFC, архітектурна ДНК, критерії приймання |
|
|
93
|
+
| **Рішення** | ADR, журнали рішень, відстежуваність |
|
|
94
|
+
| **Поведінка агента** | Локальні навички та робочі процеси |
|
|
95
|
+
| **Перевірка** | Doctor, валідатори, контракти, детерміновані гейти |
|
|
96
|
+
| **Еволюція** | Профілі, вендоринг специфікацій, адитивні оновлення |
|
|
295
97
|
|
|
296
98
|
---
|
|
297
99
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
#### Створення нового проєкту (на місці)
|
|
100
|
+
## Без Forge / З Forge
|
|
301
101
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
102
|
+
| Розробка з ШІ без Forge | З Forge |
|
|
103
|
+
| -------------------------------------- | ------------------------------------------------ |
|
|
104
|
+
| Правила живуть у промптах | Правила живуть у репозиторії |
|
|
105
|
+
| Архітектура неявна | Рішення стають RFC та ADR |
|
|
106
|
+
| Поведінка агента залежить від сесії | Локальні навички визначають відтворювані процеси |
|
|
107
|
+
| «Готово» означає, що агент так каже | Валідатори дають детерміновані перевірки |
|
|
108
|
+
| Новий агент починає з нуля | Контракт проєкту подорожує з кодом |
|
|
109
|
+
| Оновлення ризикує перезаписати рішення | Оновлення адитивне та ідемпотентне |
|
|
110
|
+
| Конвенції специфічні для інструменту | Агент- та IDE-незалежний шар проєкту |
|
|
308
111
|
|
|
309
|
-
|
|
310
|
-
mkdir my-game && cd my-game
|
|
311
|
-
pnpm dlx @warpgogol/forge create --in-place --profile phaser-turborepo
|
|
112
|
+
---
|
|
312
113
|
|
|
313
|
-
|
|
314
|
-
pnpm dlx @warpgogol/forge create --in-place --profile godot-csharp
|
|
114
|
+
## Forge Є / Forge Не Є
|
|
315
115
|
|
|
316
|
-
|
|
317
|
-
pnpm dlx @warpgogol/forge create --in-place --profile forge-shell --name my-custom-name
|
|
318
|
-
```
|
|
116
|
+
**Forge Є**
|
|
319
117
|
|
|
320
|
-
|
|
118
|
+
- Репозиторіо-нативний шар управління
|
|
119
|
+
- Агент-незалежна інфраструктура проєкту
|
|
120
|
+
- Детерміноване доповнення до ймовірнісних ШІ-агентів
|
|
121
|
+
- Портативний контракт проєкту
|
|
321
122
|
|
|
322
|
-
|
|
123
|
+
**Forge Не Є**
|
|
323
124
|
|
|
324
|
-
|
|
125
|
+
- Ще однією ШІ-моделлю
|
|
126
|
+
- Ще одним агентом-кодером
|
|
127
|
+
- IDE
|
|
128
|
+
- Хостованою платформою
|
|
129
|
+
- Заміною Git
|
|
130
|
+
- Магічною обгорткою «vibe coding»
|
|
325
131
|
|
|
326
|
-
|
|
327
|
-
# 1. Створіть новий порожній проєкт Forge (на місці)
|
|
328
|
-
mkdir my-project && cd my-project
|
|
329
|
-
pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
|
|
330
|
-
|
|
331
|
-
# 2. Відкрийте проєкт у Windsurf (протестовано з Forge) або вашому IDE
|
|
332
|
-
|
|
333
|
-
# 3. Запустіть навичку /forge-bootstrap і оберіть режим "transplant"
|
|
334
|
-
# Навичка:
|
|
335
|
-
# - Запитає шлях до вашого наявного коду
|
|
336
|
-
# - Автоматично визначить стек (Phaser, Godot тощо)
|
|
337
|
-
# - Перенесе всі файли (включно з .env та git-ігнорованими)
|
|
338
|
-
# - За бажанням перенесе історію git
|
|
339
|
-
# - Перевірить збірку
|
|
340
|
-
```
|
|
341
|
-
|
|
342
|
-
#### Діагностика та перевірка
|
|
343
|
-
|
|
344
|
-
```sh
|
|
345
|
-
# Перевірити стан проєкту
|
|
346
|
-
pnpm exec forge doctor
|
|
132
|
+
---
|
|
347
133
|
|
|
348
|
-
|
|
349
|
-
pnpm exec forge rfc.validate
|
|
134
|
+
## Що ви отримуєте
|
|
350
135
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
136
|
+
- **37 навичок** — пайплайн ідея→RFC, grilling, preferences, авторинг навичок
|
|
137
|
+
- **RFC робочий процес** — створення, валідація, перелік, граф, архівування, acceptance probes
|
|
138
|
+
- **ADR робочий процес** — легкі записи архітектурних рішень
|
|
139
|
+
- **Вендоринг специфікацій** — вендоринг зовнішніх специфікацій як незмінних снапшотів
|
|
140
|
+
- **Конвенції найменування** — kebab-case linting
|
|
141
|
+
- **Linting робочих процесів** — валідація frontmatter `.agents/workflows/`
|
|
142
|
+
- **Скаффолдинг стеку** — pnpm + Turborepo монорепозиторій з профілю
|
|
143
|
+
- **Контракт прив'язок** — деконкретизація команд проєкту через `forge.yaml`
|
|
144
|
+
- **Doctor** — перевірка здоров'я проєкту
|
|
145
|
+
- **Upgrade** — адитивна, ідемпотентна синхронізація навичок та конфігурації
|
|
354
146
|
|
|
355
147
|
---
|
|
356
148
|
|
|
357
149
|
## Робота з вашим ШІ-агентом
|
|
358
150
|
|
|
359
|
-
Forge працює з будь-яким ШІ-агентом — Windsurf, Cursor, Claude Code, Codex CLI або будь-яким IDE, що підтримує навички агентів. Налаштування однакове; важлива лише розмова.
|
|
151
|
+
Forge працює з будь-яким ШІ-агентом — Windsurf, Cursor, Claude Code, Codex CLI або будь-яким IDE, що підтримує навички агентів. Налаштування однакове; важлива лише розмова.
|
|
360
152
|
|
|
361
|
-
|
|
153
|
+
**Починайте з питань, а не з команд.** Перед тим, як просити агента писати код, запитайте його про кодову базу. Агент може читати файли, шукати в історії git та запускати CLI-команди Forge — дайте йому спочатку дослідити.
|
|
362
154
|
|
|
363
|
-
|
|
155
|
+
**Описуйте результат, а не кроки.** Скажіть агенту, що ви хочете, а не як це зробити. Для складних задач просіть агента спочатку спланувати.
|
|
364
156
|
|
|
365
|
-
|
|
157
|
+
**Дозвольте агенту перевіряти власну роботу.** Дайте критерії «готовно» і дозвольте агенту перевірити себе: «Запусти тести після завершення.» «Валідуй RFC перед комітом.» «Перевір здоров'я проєкту через `forge doctor`.»
|
|
366
158
|
|
|
367
|
-
|
|
368
|
-
- "Які навички доступні і що вони роблять?"
|
|
369
|
-
- "Проведи мене через RFC робочий процес у цьому проєкті."
|
|
370
|
-
- "Що ми змінили цього тижня?" (агент читає git log)
|
|
371
|
-
- "Чому ця функція має 15 параметрів? Перевір історію git."
|
|
372
|
-
|
|
373
|
-
Це працює і для онбордингу — нові члени команди можуть швидко ввійти в курс справи, запитуючи агента, замість того, щоб вручну читати код. Агент читає все локально; нічого не завантажується та не тренується на вашому коді.
|
|
374
|
-
|
|
375
|
-
### AGENTS.md — постійна пам'ять вашого проєкту
|
|
376
|
-
|
|
377
|
-
Forge генерує файли `AGENTS.md` в корені проєкту та в кожній директорії робочого простору. Агент читає їх автоматично на початку кожної сесії — сприймайте їх як інструкції, які зберігаються між розмовами.
|
|
378
|
-
|
|
379
|
-
**Що писати в AGENTS.md:**
|
|
380
|
-
|
|
381
|
-
- Команди збірки та тестування (`pnpm test`, `pnpm run build:check`)
|
|
382
|
-
- Угоди стилю коду ("використовуйте 2 пробіли, а не таби")
|
|
383
|
-
- Архітектурні рішення ("пакет гри володіє всією логікою сцен")
|
|
384
|
-
- Правила "роби X, а не Y" ("використовуйте `resolveImage()` для всіх image-пропів, ніколи сирий `src`")
|
|
385
|
-
- Типові помилки, яких слід уникати
|
|
386
|
-
|
|
387
|
-
**Коли агент помиляється**, скажіть йому оновити AGENTS.md, щоб він не повторював помилку. З часом AGENTS.md накопичує здобуті командою знання.
|
|
388
|
-
|
|
389
|
-
Forge генерує AGENTS.md з `forge.yaml` через `forge.agents.generate`. Написані вручну AGENTS.md (без згенерованого маркера) зберігаються. Згенеровані файли регенеруються при запуску `forge upgrade` або `forge.agents.generate` — тому кладіть свої правила в `forge.yaml` або в написаний вручну AGENTS.md, а не в згенерований.
|
|
390
|
-
|
|
391
|
-
### Описуйте результат, а не кроки
|
|
392
|
-
|
|
393
|
-
Агент — автономний працівник, а не друкарська машинка. Скажіть йому, що ви хочете, а не як це зробити.
|
|
394
|
-
|
|
395
|
-
**Погано** (занадто детально):
|
|
396
|
-
|
|
397
|
-
> Відкрий src/game/player.ts, додай функцію calculateScore, яка приймає масив чисел, сумує його, повертає результат. Потім відкрий src/game/player.test.ts і додай тест.
|
|
398
|
-
|
|
399
|
-
**Добре** (орієнтовано на результат):
|
|
400
|
-
|
|
401
|
-
> Додай систему підрахунку очок, яка обчислює загальні бали за зібрані предмети.
|
|
402
|
-
|
|
403
|
-
Для складних задач просіть агента спочатку спланувати:
|
|
404
|
-
|
|
405
|
-
> Я хочу додати багатокористувацький режим. Спочатку склади план, покажи мені, і чекай на моє схвалення перед реалізацією.
|
|
406
|
-
|
|
407
|
-
Навичка Forge `/fo-idea` формалізує це: ідея → аудит → план → реалізація → рев'ю. Ви можете викликати її явно, або агент буде слідувати цьому патерну, коли задача достатньо складна.
|
|
408
|
-
|
|
409
|
-
### Дайте агенту дослідити
|
|
410
|
-
|
|
411
|
-
Не пояснюйте занадто детально. Агент вміє читати файли, шукати в коді, перевіряти історію git та запускати команди. Замість того, щоб вказувати на конкретні файли, опишіть, що ви хочете зрозуміти або змінити:
|
|
412
|
-
|
|
413
|
-
**Замість:** "Подивись у папці src/game файл player.ts і перевір, чи є там функція move."
|
|
414
|
-
|
|
415
|
-
**Скажіть:** "Як працює рух гравця?"
|
|
416
|
-
|
|
417
|
-
Агент знайде відповідні файли, простежить ланцюг викликів і пояснить вам. Якщо йому потрібен буде додатковий контекст, він запитає.
|
|
418
|
-
|
|
419
|
-
### Паралельна робота
|
|
420
|
-
|
|
421
|
-
Ви можете запускати кілька сесій агента одночасно — в різних вікнах IDE, вкладках терміналу або git worktrees. Кожна сесія працює незалежно.
|
|
422
|
-
|
|
423
|
-
Це корисно для:
|
|
424
|
-
|
|
425
|
-
- Написання RFC в одній сесії, паралельно з реалізацією іншої функції в іншій
|
|
426
|
-
- Дослідження двох дизайн-підходів паралельно перед вибором одного
|
|
427
|
-
- Запуску тривалої валідації в одній сесії, продовжуючи роботу в іншій
|
|
428
|
-
|
|
429
|
-
Якщо ви використовуєте рушій Werkstatt, його система місій ізолює роботу — кожна місія має власну директорію workpiece, тому паралельні сесії не конфліктують.
|
|
430
|
-
|
|
431
|
-
### Дозвольте агенту перевіряти власну роботу
|
|
432
|
-
|
|
433
|
-
Дайте агенту критерії "готово" і дозвольте йому перевірити себе:
|
|
434
|
-
|
|
435
|
-
- "Запусти тести після завершення."
|
|
436
|
-
- "Валідуй RFC перед комітом."
|
|
437
|
-
- "Перевір стан проєкту через `forge doctor`."
|
|
438
|
-
|
|
439
|
-
Forge надає інструменти — `forge doctor`, `forge rfc.validate`, `forge skill.list`, тест-ранери. Скажіть агенту використовувати їх. Агент може запускати команди, читати вивід та виправляти проблеми без вашої втручання.
|
|
159
|
+
**AGENTS.md — постійна пам'ять вашого проєкту.** Forge генерує файли `AGENTS.md`, які агент читає на початку кожної сесії. Кладіть туди команди збірки, стиль коду, архітектурні рішення та правила «роби X, а не Y».
|
|
440
160
|
|
|
441
161
|
---
|
|
442
162
|
|
|
443
|
-
##
|
|
444
|
-
|
|
445
|
-
Пакети навичок (skill packs) дозволяють створювати навички проєкту під власним префіксом, окремо від портативних `fo-` навичок Forge. Це корисно, коли ваш проєкт має домен-специфічні робочі процеси, які не належать до портативного набору Forge.
|
|
446
|
-
|
|
447
|
-
### Оголошення пакету
|
|
448
|
-
|
|
449
|
-
Додайте запис `skillPacks` у `forge.yaml`:
|
|
450
|
-
|
|
451
|
-
```yaml
|
|
452
|
-
skillPacks:
|
|
453
|
-
- prefix: wg
|
|
454
|
-
dir: packages/my-skills/skills
|
|
455
|
-
```
|
|
456
|
-
|
|
457
|
-
- `prefix` — короткий ідентифікатор, що використовується як префікс імені навички (наприклад `wg-deploy`, `wg-content-check`). Не може бути `fo` (зарезервовано для Forge).
|
|
458
|
-
- `dir` — директорія, що містить навички вашого пакету. Кожна навичка — піддиректорія з файлом `SKILL.md`.
|
|
459
|
-
|
|
460
|
-
### Маніфест пакету (`forge.plugin.yaml`)
|
|
461
|
-
|
|
462
|
-
Кожна директорія пакету повинна містити маніфест `forge.plugin.yaml`:
|
|
463
|
-
|
|
464
|
-
```yaml
|
|
465
|
-
id: my-pack
|
|
466
|
-
version: 1.0.0
|
|
467
|
-
```
|
|
468
|
-
|
|
469
|
-
- `id` — ідентифікатор пакету в kebab-case.
|
|
470
|
-
- `version` — рядок версії у форматі semver.
|
|
471
|
-
|
|
472
|
-
`forge init` автоматично створює цей маніфест, якщо він відсутній. Ви також можете створити його вручну.
|
|
473
|
-
|
|
474
|
-
### Структура навичок
|
|
475
|
-
|
|
476
|
-
Навички мають ту саму структуру, що й навички Forge:
|
|
477
|
-
|
|
478
|
-
```
|
|
479
|
-
packages/my-skills/skills/
|
|
480
|
-
forge.plugin.yaml # маніфест пакету
|
|
481
|
-
wg-deploy/
|
|
482
|
-
SKILL.md # визначення навички з frontmatter
|
|
483
|
-
wg-content-check/
|
|
484
|
-
SKILL.md
|
|
485
|
-
```
|
|
486
|
-
|
|
487
|
-
Кожен `SKILL.md` має стандартизований frontmatter (name, description, category, concerns, dependsOn) — той самий формат, що й у `fo-` навичок Forge.
|
|
488
|
-
|
|
489
|
-
### Команди валідації
|
|
163
|
+
## CLI
|
|
490
164
|
|
|
491
165
|
```sh
|
|
492
|
-
#
|
|
493
|
-
pnpm exec forge
|
|
494
|
-
|
|
495
|
-
# Перелічити виявлені пакети
|
|
496
|
-
pnpm exec forge plugin.discover
|
|
166
|
+
# Перевірити здоров'я проєкту
|
|
167
|
+
pnpm exec forge doctor
|
|
497
168
|
|
|
498
|
-
# Валідувати
|
|
499
|
-
pnpm exec forge
|
|
169
|
+
# Валідувати RFC
|
|
170
|
+
pnpm exec forge rfc.validate
|
|
500
171
|
|
|
501
|
-
# Перелічити
|
|
172
|
+
# Перелічити доступні навички
|
|
502
173
|
pnpm exec forge skill.list
|
|
503
|
-
```
|
|
504
|
-
|
|
505
|
-
### Точки розширення (блоки Compass-контракту)
|
|
506
|
-
|
|
507
|
-
Пакети можуть оголошувати власні блоки Compass-контракту — маркери у вихідних файлах, які `compass.validate` перевіряє. Це дозволяє вашому пакету визначати власні `<MY_CONTRACT>` блоки з обов'язковими тегами:
|
|
508
|
-
|
|
509
|
-
```yaml
|
|
510
|
-
id: my-pack
|
|
511
|
-
version: 1.0.0
|
|
512
|
-
extensionPoints:
|
|
513
|
-
compass:
|
|
514
|
-
contract:
|
|
515
|
-
blocks:
|
|
516
|
-
- blockId: api-contract
|
|
517
|
-
requiredFor:
|
|
518
|
-
- "packages/my-pack/**/*.ts"
|
|
519
|
-
requiredTags:
|
|
520
|
-
- name: purpose
|
|
521
|
-
minWords: 3
|
|
522
|
-
```
|
|
523
|
-
|
|
524
|
-
`compass.validate` видаватиме `COMPASS-PLUGIN-01` (відсутній блок), `COMPASS-PLUGIN-02` (відсутній обов'язковий тег) та `COMPASS-PLUGIN-03` (тег з меншою кількістю слів) для файлів, що відповідають `requiredFor`, але не містять блок.
|
|
525
|
-
|
|
526
|
-
### Правила
|
|
527
|
-
|
|
528
|
-
- Імена навичок пакету повинні починатися з префіксу пакету (наприклад `wg-deploy` для префіксу `wg`).
|
|
529
|
-
- Навички пакету не можуть використовувати префікс `fo-` (зарезервовано для Forge).
|
|
530
|
-
- Навички пакету не можуть посилатися на ідентифікатори платформених RFC/ADR або назви платформи.
|
|
531
|
-
- Навички пакету можуть залежати від навичок Forge, але навички Forge не можуть залежати від навичок пакету (зберігає портативність).
|
|
532
|
-
- Якщо ім'я навички пакету конфліктує з іменем навички Forge, навичка пакету пропускається під час синхронізації.
|
|
533
|
-
|
|
534
|
-
---
|
|
535
|
-
|
|
536
|
-
## Профілі стеку
|
|
537
|
-
|
|
538
|
-
Профіль стеку визначає каркас проєкту: структуру директорій, залежності, конфігурацію CI та перший робочий простір. Оберіть профіль прапорцем `--profile` під час створення проєкту.
|
|
539
174
|
|
|
540
|
-
|
|
541
|
-
| --- | --- | --- | --- | --- |
|
|
542
|
-
| `forge-shell` | Управління / бібліотека | Мінімальний каркас Forge (за замовчуванням) | — | Проєкти лише з управлінням, бібліотеки, невеб-проєкти |
|
|
543
|
-
| `phaser-turborepo` | Браузерна гра | Phaser + TypeScript + pnpm + Turborepo | `games/my-game` | Браузерні ігри, інтерактивні досвіди |
|
|
544
|
-
| `godot-csharp` | Гра Godot | Godot 4.x + C# + pnpm + Turborepo | `games/my-game` | Десктопні/мобільні ігри, інтерактивні проєкти на Godot |
|
|
545
|
-
| `knowledge-typescript-turborepo` | Система знань | TypeScript + pnpm + Turborepo | `knowledge/my-kb` | Бази знань з підтримкою доказів, структуровані набори даних з джерельною простежуваністю |
|
|
546
|
-
| `typescript-turborepo` | Бібліотека TypeScript | TypeScript + pnpm + Turborepo | — | Універсальний TypeScript TurboRepo монорепозиторій з валідаторами найкращих практик |
|
|
547
|
-
|
|
548
|
-
```sh
|
|
549
|
-
# Список доступних профілів (після встановлення)
|
|
550
|
-
pnpm exec forge profile.validate
|
|
551
|
-
```
|
|
552
|
-
|
|
553
|
-
Коли ви переносите наявний проєкт через режим `/forge-bootstrap` transplant, Forge автоматично визначає відповідний профіль, перевіряючи файли-маркери (`phaser.config.*`, `project.godot` тощо).
|
|
554
|
-
|
|
555
|
-
## Процес оновлення
|
|
556
|
-
|
|
557
|
-
Коли публікується нова версія `@warpgogol/forge`, споживачі оновлюються адитивно:
|
|
558
|
-
|
|
559
|
-
```sh
|
|
560
|
-
# 1. Оновити Forge до останньої версії (локальна devDependency)
|
|
561
|
-
pnpm update @warpgogol/forge
|
|
562
|
-
|
|
563
|
-
# 2. Синхронізувати навички та стандартні прив'язки з встановленої версії
|
|
175
|
+
# Синхронізувати навички та конфігурацію
|
|
564
176
|
pnpm exec forge upgrade
|
|
565
177
|
|
|
566
|
-
#
|
|
567
|
-
pnpm exec forge
|
|
178
|
+
# Перевірити консистентність публічної поверхні
|
|
179
|
+
pnpm exec forge public-surface.validate
|
|
568
180
|
```
|
|
569
181
|
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
## Що дає Forge
|
|
182
|
+
Повний довідник CLI: [docs/reference/cli.md](docs/reference/cli.md)
|
|
573
183
|
|
|
574
|
-
|
|
575
|
-
- **RFC робочий процес** — створення, валідація, список, граф, архівування, acceptance-зондування, журнали рішень, DNA-трасування
|
|
576
|
-
- **ADR робочий процес** — легковісні архітектурні записи рішень
|
|
577
|
-
- **Вендоринг специфікацій** — вендоринг зовнішніх пакетів специфікацій як незмінних знімків з маніфестами цілісності
|
|
578
|
-
- **Угоди про найменування** — linting kebab-case
|
|
579
|
-
- **Linting робочих процесів** — валідація frontmatter та посилань у `.agents/workflows/`
|
|
580
|
-
- **Каркаси стеків** — створення нового pnpm + Turborepo монорепозиторію з профілю
|
|
581
|
-
- **Контракт прив'язок** — декодування специфічних для проєкту команд/шляхів із навичок через `forge.yaml`
|
|
582
|
-
|
|
583
|
-
## Життєвий цикл
|
|
584
|
-
|
|
585
|
-
Типовий життєвий цикл проєкту Forge:
|
|
586
|
-
|
|
587
|
-
1. **Створення** — `pnpm dlx @warpgogol/forge create --in-place --profile <профіль>` генерує каркас нового проєкту в поточній директорії з forge.yaml, навичками та директоріями документації
|
|
588
|
-
2. **IDE** — відкрийте проєкт у Windsurf (протестовано з Forge) або вашому IDE
|
|
589
|
-
3. **Bootstrap** — запустіть `/forge-bootstrap` для інтерактивного налаштування проєкту. Навичка підтримує два режими:
|
|
590
|
-
- **Greenfield** — створення нового проєкту з нуля: оберіть стек, заповніть прив'язки, ініціалізуйте git
|
|
591
|
-
- **Transplant** — перенесення наявного коду у Forge: визначення стеку, міграція коду (включно з git-ігнорованими файлами на кшталт `.env`), за бажанням перенесення історії git, перевірка збірки
|
|
592
|
-
4. **Оновлення** — коли публікується нова версія `@warpgogol/forge`, запустіть `pnpm exec forge upgrade` для адитивної синхронізації навичок та стандартних прив'язок
|
|
184
|
+
---
|
|
593
185
|
|
|
594
186
|
## forge.yaml
|
|
595
187
|
|
|
596
|
-
Єдине джерело істини для конфігурації
|
|
188
|
+
Єдине джерело істини для конфігурації проєкту:
|
|
597
189
|
|
|
598
190
|
```yaml
|
|
599
191
|
schema: forge/config@1
|
|
@@ -617,6 +209,10 @@ bindings:
|
|
|
617
209
|
invariants: DNA
|
|
618
210
|
```
|
|
619
211
|
|
|
212
|
+
Повний довідник: [docs/reference/forge-yaml.md](docs/reference/forge-yaml.md)
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
620
216
|
## Програмний API
|
|
621
217
|
|
|
622
218
|
```ts
|
|
@@ -628,64 +224,59 @@ import {
|
|
|
628
224
|
FORGE_SKILLS,
|
|
629
225
|
} from "@warpgogol/forge";
|
|
630
226
|
|
|
631
|
-
// Завантажити конфігурацію
|
|
632
227
|
const config = loadForgeConfig(process.cwd());
|
|
633
|
-
|
|
634
|
-
// Розв'язати прив'язку
|
|
635
228
|
const cmd = resolveBinding(config, "commands.validateRfc", { id: "RFC-0001" });
|
|
636
229
|
|
|
637
|
-
// Зареєструвати модулі у вашому реєстрі
|
|
638
230
|
const registry = /* ваш ForgeModuleRegistry */;
|
|
639
231
|
await forgeCoreModule.register(registry);
|
|
640
232
|
await forgeRfcModule.register(registry);
|
|
641
233
|
```
|
|
642
234
|
|
|
643
|
-
|
|
235
|
+
Повний API: [docs/reference/programmatic-api.md](docs/reference/programmatic-api.md)
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Структура
|
|
644
240
|
|
|
645
241
|
| Директорія | Призначення |
|
|
646
242
|
| --- | --- |
|
|
647
|
-
| `src/` | Портативне ядро — типи,
|
|
648
|
-
| `os/` | Реєстрації ForgeModule. `compass` та `werkstatt`
|
|
243
|
+
| `src/` | Портативне ядро — типи, конфіг, реєстр навичок, валідатори, онбординг. Нуль `@warpgogol/*` імпортів. |
|
|
244
|
+
| `os/` | Реєстрації ForgeModule. `compass` та `werkstatt` — повністю автономні. |
|
|
649
245
|
| `bin/` | Точка входу CLI (команда `forge`). |
|
|
650
|
-
| `skills/` |
|
|
651
|
-
| `
|
|
652
|
-
| `profiles/` | Профілі стеків для `scaffold`. |
|
|
653
|
-
|
|
654
|
-
## Публікація в npm
|
|
246
|
+
| `skills/` | 37 визначень навичок (29 fo + 5 спільних + 3 мета) з SKILL.md frontmatter. |
|
|
247
|
+
| `profiles/` | Профілі стеку для `scaffold`. |
|
|
655
248
|
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
### Передумови
|
|
659
|
-
|
|
660
|
-
- Обліковий запис npm з правами публікації в організації `@warpgogol`.
|
|
661
|
-
- Встановлені Node.js та pnpm локально.
|
|
662
|
-
|
|
663
|
-
### Створення токена доступу
|
|
664
|
-
|
|
665
|
-
1. Увійдіть на [npmjs.com](https://www.npmjs.com/).
|
|
666
|
-
2. Перейдіть до **Access Tokens** (аватар → Access Tokens).
|
|
667
|
-
3. Натисніть **Generate New Token** → оберіть **Classic Token** → тип **Publish**.
|
|
668
|
-
4. Скопіюйте згенерований токен — він показується лише один раз.
|
|
669
|
-
|
|
670
|
-
### Публікація нової версії
|
|
249
|
+
---
|
|
671
250
|
|
|
672
|
-
|
|
251
|
+
## Оновлення
|
|
673
252
|
|
|
674
253
|
```sh
|
|
675
|
-
|
|
676
|
-
|
|
254
|
+
pnpm update @warpgogol/forge
|
|
255
|
+
pnpm exec forge upgrade
|
|
256
|
+
pnpm exec forge doctor
|
|
257
|
+
```
|
|
677
258
|
|
|
678
|
-
|
|
679
|
-
npm config set //registry.npmjs.org/:_authToken=<TOKEN>
|
|
259
|
+
`forge upgrade` — адитивний: ніколи не перезаписує прив'язки, встановлені оператором, ніколи не видаляє файли, ідемпотентний. Використовуйте `--dry-run` для попереднього перегляду.
|
|
680
260
|
|
|
681
|
-
|
|
682
|
-
npm version patch
|
|
261
|
+
---
|
|
683
262
|
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
263
|
+
## Документація
|
|
264
|
+
|
|
265
|
+
- [Початок роботи](docs/getting-started.md)
|
|
266
|
+
- [Чому Forge?](docs/concepts/why-forge.md)
|
|
267
|
+
- [Контракт проєкту](docs/concepts/project-contract.md)
|
|
268
|
+
- [Модель управління](docs/concepts/governance-model.md)
|
|
269
|
+
- [Перенесення наявного проєкту](docs/guides/existing-project.md)
|
|
270
|
+
- [Оновлення](docs/guides/upgrading.md)
|
|
271
|
+
- [Навички](docs/guides/skills.md)
|
|
272
|
+
- [RFC та ADR робочі процеси](docs/guides/rfc-adr.md)
|
|
273
|
+
- [Довідник CLI](docs/reference/cli.md)
|
|
274
|
+
- [Довідник forge.yaml](docs/reference/forge-yaml.md)
|
|
275
|
+
- [Профілі](docs/reference/profiles.md)
|
|
276
|
+
- [Програмний API](docs/reference/programmatic-api.md)
|
|
277
|
+
- [Публікація](docs/maintainers/publishing.md)
|
|
687
278
|
|
|
688
|
-
|
|
279
|
+
---
|
|
689
280
|
|
|
690
281
|
## Ліцензія
|
|
691
282
|
|
|
@@ -693,8 +284,8 @@ Apache-2.0
|
|
|
693
284
|
|
|
694
285
|
## Відкрита інженерія
|
|
695
286
|
|
|
696
|
-
Цей пакет походить
|
|
287
|
+
Цей пакет походить з виробничої інженерної роботи [Warpgogol](https://warpgogol.com), інженерної студії в Німеччині.
|
|
697
288
|
|
|
698
|
-
Ми публікуємо
|
|
289
|
+
Ми публікуємо багаторазово використовувані частини нашої інфраструктури, коли вони можуть бути корисні поза нашими власними проєктами. Пакет публікується незалежно від будь-якого комерційного сервісу Warpgogol. Використання цього пакету не створює залежності від Warpgogol.
|
|
699
290
|
|
|
700
|
-
Створено для реальних систем.
|
|
291
|
+
Створено для реальних систем. Поділяємо відкрито.
|