blacksmith-organization-system 1.0.0-dev.3 → 1.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/LICENSE +1 -1
- package/README.md +77 -70
- package/dist/bridges/git.d.ts +9 -0
- package/dist/bridges/git.js +30 -0
- package/dist/bridges/git.js.map +1 -0
- package/dist/bridges/github.d.ts +28 -0
- package/dist/bridges/github.js +71 -0
- package/dist/bridges/github.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +53 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/context.d.ts +18 -0
- package/dist/core/context.js +14 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/element.d.ts +49 -0
- package/dist/core/element.js +97 -0
- package/dist/core/element.js.map +1 -0
- package/dist/core/host.d.ts +32 -0
- package/dist/core/host.js +5 -0
- package/dist/core/host.js.map +1 -0
- package/dist/core/paths.d.ts +5 -0
- package/dist/core/paths.js +42 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/procedure.d.ts +11 -0
- package/dist/core/procedure.js +24 -0
- package/dist/core/procedure.js.map +1 -0
- package/dist/core/tool.d.ts +33 -0
- package/dist/core/tool.js +44 -0
- package/dist/core/tool.js.map +1 -0
- package/dist/core/version.d.ts +6 -0
- package/dist/core/version.js +37 -0
- package/dist/core/version.js.map +1 -0
- package/dist/hosts/node.d.ts +21 -0
- package/dist/hosts/node.js +76 -0
- package/dist/hosts/node.js.map +1 -0
- package/dist/hosts/watch-tree.d.ts +8 -0
- package/dist/hosts/watch-tree.js +86 -0
- package/dist/hosts/watch-tree.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +55 -0
- package/dist/main.js +99 -0
- package/dist/main.js.map +1 -0
- package/dist/models/_index.d.ts +20 -0
- package/dist/models/_index.js +22 -0
- package/dist/models/_index.js.map +1 -0
- package/dist/models/archive/class.d.ts +5 -0
- package/dist/models/archive/class.js +7 -0
- package/dist/models/archive/class.js.map +1 -0
- package/dist/models/authors/entry.d.ts +20 -0
- package/dist/models/authors/entry.js +73 -0
- package/dist/models/authors/entry.js.map +1 -0
- package/dist/models/authors/file.d.ts +9 -0
- package/dist/models/authors/file.js +19 -0
- package/dist/models/authors/file.js.map +1 -0
- package/dist/models/craftbook/class.d.ts +10 -0
- package/dist/models/craftbook/class.js +13 -0
- package/dist/models/craftbook/class.js.map +1 -0
- package/dist/models/devarmory/class.d.ts +11 -0
- package/dist/models/devarmory/class.js +8 -0
- package/dist/models/devarmory/class.js.map +1 -0
- package/dist/models/devlog/class.d.ts +19 -0
- package/dist/models/devlog/class.js +61 -0
- package/dist/models/devlog/class.js.map +1 -0
- package/dist/models/forge/class.d.ts +9 -0
- package/dist/models/forge/class.js +24 -0
- package/dist/models/forge/class.js.map +1 -0
- package/dist/models/loop/class.d.ts +16 -0
- package/dist/models/loop/class.js +56 -0
- package/dist/models/loop/class.js.map +1 -0
- package/dist/models/loop/data.d.ts +12 -0
- package/dist/models/loop/data.js +20 -0
- package/dist/models/loop/data.js.map +1 -0
- package/dist/models/loop/load.d.ts +5 -0
- package/dist/models/loop/load.js +14 -0
- package/dist/models/loop/load.js.map +1 -0
- package/dist/models/project/anatomy.d.ts +2 -0
- package/dist/models/project/anatomy.js +15 -0
- package/dist/models/project/anatomy.js.map +1 -0
- package/dist/models/project/around.d.ts +3 -0
- package/dist/models/project/around.js +13 -0
- package/dist/models/project/around.js.map +1 -0
- package/dist/models/project/class.d.ts +21 -0
- package/dist/models/project/class.js +23 -0
- package/dist/models/project/class.js.map +1 -0
- package/dist/models/project/git.d.ts +8 -0
- package/dist/models/project/git.js +26 -0
- package/dist/models/project/git.js.map +1 -0
- package/dist/models/project/version.d.ts +6 -0
- package/dist/models/project/version.js +23 -0
- package/dist/models/project/version.js.map +1 -0
- package/dist/models/scope/class.d.ts +21 -0
- package/dist/models/scope/class.js +49 -0
- package/dist/models/scope/class.js.map +1 -0
- package/dist/models/settings/data.d.ts +12 -0
- package/dist/models/settings/data.js +9 -0
- package/dist/models/settings/data.js.map +1 -0
- package/dist/models/settings/load.d.ts +9 -0
- package/dist/models/settings/load.js +32 -0
- package/dist/models/settings/load.js.map +1 -0
- package/dist/models/system/class.d.ts +16 -0
- package/dist/models/system/class.js +21 -0
- package/dist/models/system/class.js.map +1 -0
- package/dist/models/system/parts.d.ts +21 -0
- package/dist/models/system/parts.js +22 -0
- package/dist/models/system/parts.js.map +1 -0
- package/dist/models/system/storylines.d.ts +39 -0
- package/dist/models/system/storylines.js +42 -0
- package/dist/models/system/storylines.js.map +1 -0
- package/dist/models/workshop/class.d.ts +20 -0
- package/dist/models/workshop/class.js +43 -0
- package/dist/models/workshop/class.js.map +1 -0
- package/dist/models/workshop/locate.d.ts +16 -0
- package/dist/models/workshop/locate.js +54 -0
- package/dist/models/workshop/locate.js.map +1 -0
- package/dist/procedures/_index.d.ts +8 -0
- package/dist/procedures/_index.js +11 -0
- package/dist/procedures/_index.js.map +1 -0
- package/dist/procedures/automerging/_index.d.ts +4 -0
- package/dist/procedures/automerging/_index.js +8 -0
- package/dist/procedures/automerging/_index.js.map +1 -0
- package/dist/procedures/automerging/context.d.ts +11 -0
- package/dist/procedures/automerging/context.js +2 -0
- package/dist/procedures/automerging/context.js.map +1 -0
- package/dist/procedures/automerging/steps.d.ts +4 -0
- package/dist/procedures/automerging/steps.js +34 -0
- package/dist/procedures/automerging/steps.js.map +1 -0
- package/dist/procedures/bootstrapping/_index.d.ts +4 -0
- package/dist/procedures/bootstrapping/_index.js +8 -0
- package/dist/procedures/bootstrapping/_index.js.map +1 -0
- package/dist/procedures/bootstrapping/context.d.ts +5 -0
- package/dist/procedures/bootstrapping/context.js +2 -0
- package/dist/procedures/bootstrapping/context.js.map +1 -0
- package/dist/procedures/bootstrapping/ensure-tree.d.ts +2 -0
- package/dist/procedures/bootstrapping/ensure-tree.js +5 -0
- package/dist/procedures/bootstrapping/ensure-tree.js.map +1 -0
- package/dist/procedures/bootstrapping/record.d.ts +2 -0
- package/dist/procedures/bootstrapping/record.js +12 -0
- package/dist/procedures/bootstrapping/record.js.map +1 -0
- package/dist/procedures/bumping/_index.d.ts +4 -0
- package/dist/procedures/bumping/_index.js +9 -0
- package/dist/procedures/bumping/_index.js.map +1 -0
- package/dist/procedures/bumping/context.d.ts +18 -0
- package/dist/procedures/bumping/context.js +4 -0
- package/dist/procedures/bumping/context.js.map +1 -0
- package/dist/procedures/bumping/steps.d.ts +4 -0
- package/dist/procedures/bumping/steps.js +50 -0
- package/dist/procedures/bumping/steps.js.map +1 -0
- package/dist/procedures/crediting/_index.d.ts +4 -0
- package/dist/procedures/crediting/_index.js +9 -0
- package/dist/procedures/crediting/_index.js.map +1 -0
- package/dist/procedures/crediting/context.d.ts +17 -0
- package/dist/procedures/crediting/context.js +4 -0
- package/dist/procedures/crediting/context.js.map +1 -0
- package/dist/procedures/crediting/steps.d.ts +4 -0
- package/dist/procedures/crediting/steps.js +51 -0
- package/dist/procedures/crediting/steps.js.map +1 -0
- package/dist/procedures/inspecting/_index.d.ts +4 -0
- package/dist/procedures/inspecting/_index.js +11 -0
- package/dist/procedures/inspecting/_index.js.map +1 -0
- package/dist/procedures/inspecting/judge.d.ts +2 -0
- package/dist/procedures/inspecting/judge.js +6 -0
- package/dist/procedures/inspecting/judge.js.map +1 -0
- package/dist/procedures/inspecting/read-areas.d.ts +2 -0
- package/dist/procedures/inspecting/read-areas.js +5 -0
- package/dist/procedures/inspecting/read-areas.js.map +1 -0
- package/dist/procedures/inspecting/read-forge.d.ts +2 -0
- package/dist/procedures/inspecting/read-forge.js +14 -0
- package/dist/procedures/inspecting/read-forge.js.map +1 -0
- package/dist/procedures/inspecting/report.d.ts +32 -0
- package/dist/procedures/inspecting/report.js +11 -0
- package/dist/procedures/inspecting/report.js.map +1 -0
- package/dist/procedures/inspecting/rules.d.ts +12 -0
- package/dist/procedures/inspecting/rules.js +75 -0
- package/dist/procedures/inspecting/rules.js.map +1 -0
- package/dist/procedures/proposing/_index.d.ts +4 -0
- package/dist/procedures/proposing/_index.js +9 -0
- package/dist/procedures/proposing/_index.js.map +1 -0
- package/dist/procedures/proposing/context.d.ts +16 -0
- package/dist/procedures/proposing/context.js +4 -0
- package/dist/procedures/proposing/context.js.map +1 -0
- package/dist/procedures/proposing/steps.d.ts +4 -0
- package/dist/procedures/proposing/steps.js +46 -0
- package/dist/procedures/proposing/steps.js.map +1 -0
- package/dist/procedures/versioning/_index.d.ts +16 -0
- package/dist/procedures/versioning/_index.js +22 -0
- package/dist/procedures/versioning/_index.js.map +1 -0
- package/dist/procedures/watching/_index.d.ts +5 -0
- package/dist/procedures/watching/_index.js +9 -0
- package/dist/procedures/watching/_index.js.map +1 -0
- package/dist/procedures/watching/classify.d.ts +5 -0
- package/dist/procedures/watching/classify.js +30 -0
- package/dist/procedures/watching/classify.js.map +1 -0
- package/dist/procedures/watching/context.d.ts +21 -0
- package/dist/procedures/watching/context.js +2 -0
- package/dist/procedures/watching/context.js.map +1 -0
- package/dist/procedures/watching/start.d.ts +2 -0
- package/dist/procedures/watching/start.js +24 -0
- package/dist/procedures/watching/start.js.map +1 -0
- package/dist/procedures/watching/wait.d.ts +2 -0
- package/dist/procedures/watching/wait.js +12 -0
- package/dist/procedures/watching/wait.js.map +1 -0
- package/dist/tools/_index.d.ts +3 -0
- package/dist/tools/_index.js +25 -0
- package/dist/tools/_index.js.map +1 -0
- package/dist/tools/devlog.d.ts +1 -0
- package/dist/tools/devlog.js +43 -0
- package/dist/tools/devlog.js.map +1 -0
- package/dist/tools/flow.d.ts +1 -0
- package/dist/tools/flow.js +81 -0
- package/dist/tools/flow.js.map +1 -0
- package/dist/tools/project.d.ts +1 -0
- package/dist/tools/project.js +18 -0
- package/dist/tools/project.js.map +1 -0
- package/dist/tools/scope.d.ts +1 -0
- package/dist/tools/scope.js +51 -0
- package/dist/tools/scope.js.map +1 -0
- package/dist/tools/version.d.ts +1 -0
- package/dist/tools/version.js +23 -0
- package/dist/tools/version.js.map +1 -0
- package/dist/tools/workshop.d.ts +1 -0
- package/dist/tools/workshop.js +56 -0
- package/dist/tools/workshop.js.map +1 -0
- package/dist/views/devlog.d.ts +15 -0
- package/dist/views/devlog.js +31 -0
- package/dist/views/devlog.js.map +1 -0
- package/dist/views/event.d.ts +2 -0
- package/dist/views/event.js +6 -0
- package/dist/views/event.js.map +1 -0
- package/dist/views/flow.d.ts +12 -0
- package/dist/views/flow.js +26 -0
- package/dist/views/flow.js.map +1 -0
- package/dist/views/help.d.ts +2 -0
- package/dist/views/help.js +22 -0
- package/dist/views/help.js.map +1 -0
- package/dist/views/project.d.ts +2 -0
- package/dist/views/project.js +11 -0
- package/dist/views/project.js.map +1 -0
- package/dist/views/status.d.ts +5 -0
- package/dist/views/status.js +50 -0
- package/dist/views/status.js.map +1 -0
- package/package.json +31 -54
- package/resources/cli-art/big-logo-title.txt +24 -0
- package/resources/cli-art/big-shortcut-logo-title.txt +10 -0
- package/resources/cli-art/medium-logo-title.txt +13 -0
- package/resources/cli-art/minimenu-header.ptxml +13 -0
- package/resources/cli-art/minimenu-header.txt +11 -0
- package/resources/cli-art/small-logo-title.txt +10 -0
- package/resources/cli-art/wellcome.txt +10 -0
- package/resources/docs-templates/Home.md +7 -0
- package/resources/docs-templates/README.md +14 -0
- package/resources/docs-templates/_Footer.md +1 -0
- package/resources/docs-templates/_Sidebar.md +7 -0
- package/.claude-plugin/marketplace.json +0 -17
- package/.claude-plugin/mcp.json +0 -8
- package/.claude-plugin/plugin.json +0 -16
- package/AGENTS.md +0 -114
- package/CLAUDE.md +0 -1
- package/bin/bos +0 -3
- package/hooks/hooks.json +0 -40
- package/resources/house/HOUSE.md +0 -22
- package/resources/house/bloodlines.json +0 -35
- package/resources/house/children/deepseeks-of-anubis.json +0 -4
- package/resources/house/children/eon.json +0 -7
- package/resources/house/children/hermetic-officer.json +0 -1
- package/resources/house/children/ifrit.json +0 -1
- package/resources/house/children/license-keepers.json +0 -4
- package/resources/house/children/sebas.json +0 -10
- package/resources/house/children/shakespeare.json +0 -10
- package/resources/house/orders/ravensarmy.json +0 -6
- package/resources/house/orders/seiaic-ucdi.json +0 -5
- package/resources/ravens/skryba.md +0 -19
- package/resources/workshop-root/AGENTS.md +0 -92
- package/resources/workshop-root/CLAUDE.md +0 -1
- package/resources/workshop.default.json +0 -6
- package/skills/bos-archive/SKILL.md +0 -28
- package/skills/bos-craftbook/SKILL.md +0 -32
- package/skills/bos-craftset/SKILL.md +0 -36
- package/skills/bos-devarmory/SKILL.md +0 -34
- package/skills/bos-exhibit/SKILL.md +0 -28
- package/skills/bos-forge/SKILL.md +0 -28
- package/skills/bos-house/SKILL.md +0 -52
- package/skills/bos-project/SKILL.md +0 -27
- package/skills/bos-sarcophag/SKILL.md +0 -26
- package/skills/bos-scope/SKILL.md +0 -33
- package/skills/bos-sheme/SKILL.md +0 -38
- package/skills/bos-throwbox/SKILL.md +0 -27
- package/skills/bos-workshop/SKILL.md +0 -65
- package/skills/bos-workshop/assets/.gitkeep +0 -0
- package/skills/bos-workshop/references/bos-codebase.md +0 -116
- package/skills/bos-workshop/references/bos-concept.md +0 -121
- package/skills/bos-workshop/scripts/find-workshop.sh +0 -30
- package/src/agent-hook.mjs +0 -28
- package/src/bridge/_index.mjs +0 -24
- package/src/bridge/bos-instances-link/_index.mjs +0 -18
- package/src/bridge/docker-host/_index.mjs +0 -43
- package/src/bridge/docker-host/container.mjs +0 -32
- package/src/bridge/docker-host/image.mjs +0 -23
- package/src/bridge/docker-host/volume.mjs +0 -12
- package/src/bridge/docker-publish/_index.mjs +0 -24
- package/src/bridge/git-client/_index.mjs +0 -121
- package/src/bridge/git-client/author.mjs +0 -26
- package/src/bridge/gitea-api/_index.mjs +0 -62
- package/src/bridge/github-api/_index.mjs +0 -45
- package/src/bridge/npm-publish/_index.mjs +0 -19
- package/src/bridge/ollama-link/_index.mjs +0 -93
- package/src/bridge/ollama-link/ravens.mjs +0 -29
- package/src/bridge/ssh-link/_index.mjs +0 -33
- package/src/bridge/subprocess-runner/_index.mjs +0 -33
- package/src/cli.mjs +0 -29
- package/src/commands/_index.mjs +0 -51
- package/src/commands/bootstrap/exec.mjs +0 -7
- package/src/commands/bootstrap/help.md +0 -5
- package/src/commands/bootstrap/index.json +0 -7
- package/src/commands/close/exec.mjs +0 -4
- package/src/commands/close/help.md +0 -5
- package/src/commands/close/index.json +0 -7
- package/src/commands/describe/exec.mjs +0 -11
- package/src/commands/describe/help.md +0 -5
- package/src/commands/describe/index.json +0 -7
- package/src/commands/help/exec.mjs +0 -6
- package/src/commands/help/help.md +0 -3
- package/src/commands/help/index.json +0 -6
- package/src/commands/hook/exec.mjs +0 -3
- package/src/commands/hook/help.md +0 -4
- package/src/commands/hook/index.json +0 -7
- package/src/commands/hooks/exec.mjs +0 -5
- package/src/commands/hooks/help.md +0 -4
- package/src/commands/hooks/index.json +0 -7
- package/src/commands/house/exec.mjs +0 -8
- package/src/commands/house/help.md +0 -8
- package/src/commands/house/index.json +0 -7
- package/src/commands/locate/exec.mjs +0 -2
- package/src/commands/locate/help.md +0 -6
- package/src/commands/locate/index.json +0 -6
- package/src/commands/mode/exec.mjs +0 -17
- package/src/commands/mode/help.md +0 -14
- package/src/commands/mode/index.json +0 -8
- package/src/commands/mode/repl.mjs +0 -18
- package/src/commands/open/exec.mjs +0 -5
- package/src/commands/open/help.md +0 -4
- package/src/commands/open/index.json +0 -7
- package/src/commands/promote/exec.mjs +0 -5
- package/src/commands/promote/help.md +0 -6
- package/src/commands/promote/index.json +0 -7
- package/src/commands/repl/exec.mjs +0 -3
- package/src/commands/repl/help.md +0 -4
- package/src/commands/repl/index.json +0 -6
- package/src/commands/seal/exec.mjs +0 -8
- package/src/commands/seal/help.md +0 -4
- package/src/commands/seal/index.json +0 -7
- package/src/commands/sink/exec.mjs +0 -2
- package/src/commands/sink/help.md +0 -6
- package/src/commands/sink/index.json +0 -7
- package/src/commands/skills/exec.mjs +0 -5
- package/src/commands/skills/help.md +0 -5
- package/src/commands/skills/index.json +0 -7
- package/src/commands/status/exec.mjs +0 -2
- package/src/commands/status/help.md +0 -6
- package/src/commands/status/index.json +0 -7
- package/src/commands/status/repl.mjs +0 -14
- package/src/commands/verify/exec.mjs +0 -9
- package/src/commands/verify/help.md +0 -4
- package/src/commands/verify/index.json +0 -7
- package/src/controllers/_index.mjs +0 -5
- package/src/controllers/skills-controll.mjs +0 -13
- package/src/controllers/workshop-controll.mjs +0 -48
- package/src/core/basic-bridge.mjs +0 -29
- package/src/core/basic-controll.mjs +0 -26
- package/src/core/basic-element.mjs +0 -149
- package/src/core/basic-model.mjs +0 -7
- package/src/core/basic-procedure.mjs +0 -37
- package/src/core/basic-submodule.mjs +0 -21
- package/src/core/basic-view.mjs +0 -21
- package/src/core/self.mjs +0 -10
- package/src/index.mjs +0 -24
- package/src/main.ts +0 -82
- package/src/mcp.mjs +0 -8
- package/src/models/_index.mjs +0 -43
- package/src/models/archive/class.mjs +0 -9
- package/src/models/craftbook/class.mjs +0 -11
- package/src/models/craftbook/hang.scrapnotes.mjs +0 -10
- package/src/models/craftset/class.mjs +0 -14
- package/src/models/devarmory/class.mjs +0 -10
- package/src/models/exhibit/class.mjs +0 -8
- package/src/models/forge/class.mjs +0 -19
- package/src/models/house/bloodlines.mjs +0 -27
- package/src/models/house/class.mjs +0 -53
- package/src/models/house/groups.mjs +0 -38
- package/src/models/project/anatomy.mjs +0 -11
- package/src/models/project/class.mjs +0 -20
- package/src/models/sarcophag/class.mjs +0 -8
- package/src/models/scope/class.mjs +0 -19
- package/src/models/sheme/class.mjs +0 -8
- package/src/models/throwbox/class.mjs +0 -9
- package/src/models/workshop/class.mjs +0 -30
- package/src/models/workshop/hang.data.mjs +0 -10
- package/src/models/workshop/hang.nests.mjs +0 -14
- package/src/models/workshop/hang.setup.mjs +0 -10
- package/src/models/workshop/hang.storylines.logs.mjs +0 -10
- package/src/models/workshop/hang.storylines.manifests.mjs +0 -10
- package/src/models/workshop/hang.storylines.mjs +0 -39
- package/src/models/workshop/hang.storylines.ttystories.mjs +0 -10
- package/src/models/workshop/hang.system.mjs +0 -25
- package/src/models/workshop/host-roles.mjs +0 -9
- package/src/models/workshop/locate.mjs +0 -60
- package/src/models/workshop/modes.mjs +0 -31
- package/src/models/workshop/taskfile.mjs +0 -21
- package/src/procedures/_index.mjs +0 -32
- package/src/procedures/agent-recording/_index.mjs +0 -34
- package/src/procedures/agent-recording/situate.mjs +0 -11
- package/src/procedures/bootstrapping/DESCRIPTION.md +0 -6
- package/src/procedures/bootstrapping/_index.mjs +0 -13
- package/src/procedures/bootstrapping/deploy-guides.mjs +0 -15
- package/src/procedures/bootstrapping/ensure-tree.mjs +0 -4
- package/src/procedures/closing/DESCRIPTION.md +0 -6
- package/src/procedures/closing/_index.mjs +0 -11
- package/src/procedures/closing/capture-ttystory.mjs +0 -14
- package/src/procedures/closing/record-closing.mjs +0 -6
- package/src/procedures/describing/DESCRIPTION.md +0 -23
- package/src/procedures/describing/_index.mjs +0 -15
- package/src/procedures/describing/ask-skryba.mjs +0 -82
- package/src/procedures/describing/compose-message.mjs +0 -25
- package/src/procedures/describing/read-staged.mjs +0 -7
- package/src/procedures/describing/scopes.mjs +0 -38
- package/src/procedures/describing/staged-diff.mjs +0 -25
- package/src/procedures/describing/write-message.mjs +0 -15
- package/src/procedures/gathering/DESCRIPTION.md +0 -13
- package/src/procedures/gathering/_index.mjs +0 -13
- package/src/procedures/gathering/list-served.mjs +0 -9
- package/src/procedures/gathering/merge-residents.mjs +0 -31
- package/src/procedures/gathering/read-registry.mjs +0 -7
- package/src/procedures/hooking/DESCRIPTION.md +0 -6
- package/src/procedures/hooking/_index.mjs +0 -12
- package/src/procedures/hooking/hooks.mjs +0 -10
- package/src/procedures/hooking/install-hooks.mjs +0 -34
- package/src/procedures/hooking/record-hook.mjs +0 -13
- package/src/procedures/inspecting/DESCRIPTION.md +0 -3
- package/src/procedures/inspecting/_index.mjs +0 -9
- package/src/procedures/loading/DESCRIPTION.md +0 -4
- package/src/procedures/loading/_index.mjs +0 -15
- package/src/procedures/loading/load-config.mjs +0 -16
- package/src/procedures/loading/validate-mode.mjs +0 -8
- package/src/procedures/loading/validate-role.mjs +0 -8
- package/src/procedures/locating/DESCRIPTION.md +0 -6
- package/src/procedures/locating/_index.mjs +0 -13
- package/src/procedures/locating/locate-self.mjs +0 -7
- package/src/procedures/locating/locate-workshop.mjs +0 -16
- package/src/procedures/locating/read-environment.mjs +0 -12
- package/src/procedures/mode-switching/DESCRIPTION.md +0 -7
- package/src/procedures/mode-switching/_index.mjs +0 -10
- package/src/procedures/mode-switching/record-mode.mjs +0 -8
- package/src/procedures/mode-switching/switch-mode.mjs +0 -16
- package/src/procedures/opening/DESCRIPTION.md +0 -6
- package/src/procedures/opening/_index.mjs +0 -8
- package/src/procedures/opening/record-opening.mjs +0 -4
- package/src/procedures/promoting/DESCRIPTION.md +0 -8
- package/src/procedures/promoting/_index.mjs +0 -14
- package/src/procedures/promoting/apply.mjs +0 -28
- package/src/procedures/promoting/branch-flow.mjs +0 -23
- package/src/procedures/promoting/plan.mjs +0 -14
- package/src/procedures/promoting/read-position.mjs +0 -15
- package/src/procedures/sinking/DESCRIPTION.md +0 -8
- package/src/procedures/sinking/_index.mjs +0 -12
- package/src/procedures/sinking/inventory-forge.mjs +0 -18
- package/src/procedures/sinking/inventory-tools.mjs +0 -7
- package/src/procedures/skilling/DESCRIPTION.md +0 -11
- package/src/procedures/skilling/_index.mjs +0 -15
- package/src/procedures/skilling/collect-models.mjs +0 -15
- package/src/procedures/skilling/compose-skill.mjs +0 -49
- package/src/procedures/skilling/glossary.mjs +0 -23
- package/src/procedures/skilling/register-skills.mjs +0 -21
- package/src/procedures/skilling/write-skills.mjs +0 -19
- package/src/views/_index.mjs +0 -23
- package/src/views/agent/_index.mjs +0 -2
- package/src/views/agent/brief.mjs +0 -34
- package/src/views/help/_index.mjs +0 -41
- package/src/views/house/_index.mjs +0 -56
- package/src/views/inventory/_index.mjs +0 -27
- package/src/views/mcp/_index.mjs +0 -31
- package/src/views/mcp/tools.mjs +0 -87
- package/src/views/mode/_index.mjs +0 -34
- package/src/views/mode/chooser.mjs +0 -37
- package/src/views/promotion/_index.mjs +0 -20
- package/src/views/repl/_index.mjs +0 -30
- package/src/views/skills/_index.mjs +0 -24
- package/src/views/status/_index.mjs +0 -57
- package/src/views/status/tree.mjs +0 -19
- package/src/views/terminal/paint.mjs +0 -22
- package/template/SKILL.md +0 -16
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// bos workshop <tool>
|
|
2
|
+
import { tool } from "../core/tool.js";
|
|
3
|
+
import { eventText } from "../views/event.js";
|
|
4
|
+
import { bootstrapText, statusText } from "../views/status.js";
|
|
5
|
+
export const workshopTools = [
|
|
6
|
+
tool({
|
|
7
|
+
model: "workshop",
|
|
8
|
+
name: "locate",
|
|
9
|
+
info: "the active workshop and the rule that found it",
|
|
10
|
+
run: (bos) => ({ root: bos.workshop.path, source: bos.workshop.located?.source ?? null }),
|
|
11
|
+
render: (result) => `${result.root} (found by: ${result.source})`,
|
|
12
|
+
}),
|
|
13
|
+
tool({
|
|
14
|
+
model: "workshop",
|
|
15
|
+
name: "status",
|
|
16
|
+
info: "inspect the whole workshop: areas, scopes, projects, findings (reads only)",
|
|
17
|
+
args: [{ name: "all", type: "boolean", info: "show notes too, not only errors and warnings" }],
|
|
18
|
+
run: (bos) => bos.inspect(),
|
|
19
|
+
render: (report, input) => statusText(report, { all: Boolean(input.all) }),
|
|
20
|
+
}),
|
|
21
|
+
tool({
|
|
22
|
+
model: "workshop",
|
|
23
|
+
name: "bootstrap",
|
|
24
|
+
info: "create the missing areas and descriptors of the workshop; never overwrites",
|
|
25
|
+
readOnly: false,
|
|
26
|
+
args: [{ name: "dryRun", type: "boolean", info: "only list what would be created" }],
|
|
27
|
+
run: async (bos, input) => {
|
|
28
|
+
const context = await bos.bootstrap({ dryRun: Boolean(input.dryRun) });
|
|
29
|
+
return { dryRun: context.dryRun, changes: context.changes };
|
|
30
|
+
},
|
|
31
|
+
render: (result) => bootstrapText(result.changes, result.dryRun),
|
|
32
|
+
}),
|
|
33
|
+
tool({
|
|
34
|
+
model: "workshop",
|
|
35
|
+
name: "watch",
|
|
36
|
+
info: "listen to changes in the workshop until Ctrl+C; one line per change",
|
|
37
|
+
args: [
|
|
38
|
+
{ name: "record", type: "boolean", info: "also append every change to .BOS/storylines/logs/workshop.jsonl" },
|
|
39
|
+
{ name: "json", type: "boolean", info: "one JSON object per line" },
|
|
40
|
+
],
|
|
41
|
+
run: async (bos, input, io) => {
|
|
42
|
+
let count = 0;
|
|
43
|
+
await bos.watch({
|
|
44
|
+
signal: io.signal,
|
|
45
|
+
record: Boolean(input.record),
|
|
46
|
+
onEvent: (event) => {
|
|
47
|
+
count++;
|
|
48
|
+
io.print(input.json ? JSON.stringify(event) : eventText(event));
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
return { events: count };
|
|
52
|
+
},
|
|
53
|
+
render: (result) => `stopped after ${result.events} changes`,
|
|
54
|
+
}),
|
|
55
|
+
];
|
|
56
|
+
//# sourceMappingURL=workshop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workshop.js","sourceRoot":"","sources":["../../src/tools/workshop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Phase } from "../models/devlog/class.ts";
|
|
2
|
+
export type DevlogState = {
|
|
3
|
+
project: string;
|
|
4
|
+
branch: string | null;
|
|
5
|
+
version: string | null;
|
|
6
|
+
phases: Phase[];
|
|
7
|
+
questions: string[];
|
|
8
|
+
proposals: string[];
|
|
9
|
+
waiting: {
|
|
10
|
+
orders: boolean;
|
|
11
|
+
inquiries: boolean;
|
|
12
|
+
};
|
|
13
|
+
missing: string[];
|
|
14
|
+
};
|
|
15
|
+
export declare function stateMarkdown(state: DevlogState): string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export function stateMarkdown(state) {
|
|
2
|
+
const phase = (p) => `| ${p.number}: ${p.title} | ${p.done}/${p.total} | ${p.complete ? "complete" : p.done ? "in progress" : "not started"} |`;
|
|
3
|
+
const list = (items) => (items.length ? items.map((item) => `- ${item}`).join("\n") : "None.");
|
|
4
|
+
return `# State of development
|
|
5
|
+
|
|
6
|
+
Made by \`bos devlog state\` (\`task devlog:state\`); not kept in git, never edited by hand.
|
|
7
|
+
|
|
8
|
+
| | |
|
|
9
|
+
| --- | --- |
|
|
10
|
+
| Project | \`${state.project}\` |
|
|
11
|
+
| Branch | \`${state.branch ?? "(none)"}\` |
|
|
12
|
+
| Version | ${state.version ? `\`${state.version}\`` : "(none declared)"} |
|
|
13
|
+
| Orders waiting | ${state.waiting.orders ? "**yes**: ORDERS.md" : "no"} |
|
|
14
|
+
| Inquiries waiting | ${state.waiting.inquiries ? "**yes**: INQUIRIES.md" : "no"} |
|
|
15
|
+
|
|
16
|
+
## Phases
|
|
17
|
+
|
|
18
|
+
| Phase | Done | |
|
|
19
|
+
| --- | --- | --- |
|
|
20
|
+
${state.phases.map(phase).join("\n")}
|
|
21
|
+
|
|
22
|
+
## Open questions
|
|
23
|
+
|
|
24
|
+
${list(state.questions)}
|
|
25
|
+
|
|
26
|
+
## Open proposals
|
|
27
|
+
|
|
28
|
+
${list(state.proposals)}
|
|
29
|
+
${state.missing.length ? `\n## Missing devlog files\n\n${list(state.missing)}\n` : ""}`;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=devlog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devlog.js","sourceRoot":"","sources":["../../src/views/devlog.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,MAAM,KAAK,GAAG,CAAC,CAAQ,EAAE,EAAE,CACzB,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC;IAC7H,MAAM,IAAI,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzG,OAAO;;;;;;gBAMO,KAAK,CAAC,OAAO;eACd,KAAK,CAAC,MAAM,IAAI,QAAQ;cACzB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,iBAAiB;qBACnD,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI;wBAC/C,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI;;;;;;EAM9E,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIlC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;;;;EAIrB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;EACrB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,gCAAgC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACxF,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export function eventText(event) {
|
|
2
|
+
const time = new Date(event.unixusat).toISOString().slice(11, 23);
|
|
3
|
+
const where = [event.area ?? "(root)", event.scope, event.project].filter(Boolean).join(" › ");
|
|
4
|
+
return `${time} ${event.kind.padEnd(6)} ${where}${event.inner ? ` ${event.inner}` : ""}`;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/views/event.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,SAAS,CAAC,KAAoB;IAC5C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/F,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC9F,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { LoopData, LoopStep, VersioningData } from "../models/_index.ts";
|
|
2
|
+
import type { BumpOutcome, FlowOutcome } from "../procedures/_index.ts";
|
|
3
|
+
export declare function stepText(step: LoopStep): string;
|
|
4
|
+
export type Explained = {
|
|
5
|
+
source: string;
|
|
6
|
+
steps: LoopStep[];
|
|
7
|
+
data: LoopData;
|
|
8
|
+
versioning: VersioningData;
|
|
9
|
+
};
|
|
10
|
+
export declare function explainText({ source, steps, data, versioning }: Explained): string;
|
|
11
|
+
export declare function outcomeText(outcome: FlowOutcome): string;
|
|
12
|
+
export declare function bumpText(outcome: BumpOutcome): string;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export function stepText(step) {
|
|
2
|
+
const merge = step.automerge ? "merges by itself" : "a person merges";
|
|
3
|
+
const back = step.back.length ? ` (or back to ${step.back.join(", ")})` : "";
|
|
4
|
+
return `${step.from.padEnd(14)} → ${step.to.padEnd(12)} ${merge}${back}`;
|
|
5
|
+
}
|
|
6
|
+
export function explainText({ source, steps, data, versioning }) {
|
|
7
|
+
const { contributors, autocreate, release } = data;
|
|
8
|
+
const bumps = Object.entries(versioning.bumps).map(([branch, bump]) => `${bump} on ${branch}`);
|
|
9
|
+
return [
|
|
10
|
+
`craft loop (${source === "default" ? "the default loop" : source})`,
|
|
11
|
+
"",
|
|
12
|
+
...steps.map((step) => ` ${stepText(step)}`),
|
|
13
|
+
` ${contributors.pattern.padEnd(14)} → ${contributors.into.padEnd(12)} a person merges`,
|
|
14
|
+
"",
|
|
15
|
+
`pull requests of forward steps are opened ${autocreate ? "by the loop" : "by people (autocreate is off)"}; releases on ${release}`,
|
|
16
|
+
`version bumps: ${bumps.join(", ") || "none"}; only a released (${versioning.tagPrefix}<version>) version moves`,
|
|
17
|
+
].join("\n");
|
|
18
|
+
}
|
|
19
|
+
export function outcomeText(outcome) {
|
|
20
|
+
const step = outcome.step ? `${outcome.step.from} → ${outcome.step.to}: ` : "";
|
|
21
|
+
return `${step}${outcome.reason || outcome.action}`;
|
|
22
|
+
}
|
|
23
|
+
export function bumpText(outcome) {
|
|
24
|
+
return outcome.reason || outcome.action;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/views/flow.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,QAAQ,CAAC,IAAc;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;AAC3E,CAAC;AAID,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAa;IACxE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,MAAM,EAAE,CAAC,CAAC;IAC/F,OAAO;QACL,eAAe,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,GAAG;QACpE,EAAE;QACF,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,KAAK,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB;QACxF,EAAE;QACF,6CAA6C,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,+BAA+B,iBAAiB,OAAO,EAAE;QACnI,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,sBAAsB,UAAU,CAAC,SAAS,0BAA0B;KACjH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAoB;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAoB;IAC3C,OAAO,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
function usage(entry) {
|
|
2
|
+
const args = entry.args.map((arg) => {
|
|
3
|
+
const shape = arg.positional ? `<${arg.name}>` : arg.type === "boolean" ? `--${arg.name}` : `--${arg.name}=<value>`;
|
|
4
|
+
return arg.required ? shape : `[${shape}]`;
|
|
5
|
+
});
|
|
6
|
+
return [`bos ${entry.model} ${entry.name}`, ...args].join(" ");
|
|
7
|
+
}
|
|
8
|
+
export function helpText(tools, version) {
|
|
9
|
+
const lines = [
|
|
10
|
+
`bos ${version}: the Blacksmith Organization System core`,
|
|
11
|
+
"",
|
|
12
|
+
"usage: bos <model> <tool> [operands] [--flags] common flags: --workshop=<path> --json",
|
|
13
|
+
"",
|
|
14
|
+
];
|
|
15
|
+
for (const entry of tools) {
|
|
16
|
+
lines.push(` ${usage(entry)}`, ` ${entry.info}${entry.readOnly ? "" : " (writes)"}`);
|
|
17
|
+
for (const arg of entry.args)
|
|
18
|
+
lines.push(` ${arg.positional ? arg.name : `--${arg.name}`}: ${arg.info}`);
|
|
19
|
+
}
|
|
20
|
+
return lines.join("\n");
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/views/help.ts"],"names":[],"mappings":"AAGA,SAAS,KAAK,CAAC,KAAW;IACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,UAAU,CAAC;QACpH,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,OAAe;IACrD,MAAM,KAAK,GAAG;QACZ,OAAO,OAAO,2CAA2C;QACzD,EAAE;QACF,yFAAyF;QACzF,EAAE;KACH,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5F,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAClH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function authorsText(outcome) {
|
|
2
|
+
if (outcome.action === "none")
|
|
3
|
+
return `${outcome.file}: everyone is named`;
|
|
4
|
+
const verb = outcome.action === "written" ? "" : "would be ";
|
|
5
|
+
return [
|
|
6
|
+
`${outcome.file}: ${outcome.added.length} ${verb}added, ${outcome.updated.length} ${verb}updated`,
|
|
7
|
+
...outcome.updated.map((text) => ` ~ ${text}`),
|
|
8
|
+
...outcome.added.map((text) => ` + ${text}`),
|
|
9
|
+
].join("\n");
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/views/project.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,WAAW,CAAC,OAAsB;IAChD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,GAAG,OAAO,CAAC,IAAI,qBAAqB,CAAC;IAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7D,OAAO;QACL,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,UAAU,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,SAAS;QACjG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;QAC/C,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;KAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { inside } from "../core/paths.js";
|
|
2
|
+
const MARK = { error: "✗", warning: "!", info: "·" };
|
|
3
|
+
function areaLines(node, root, depth = 0) {
|
|
4
|
+
const mark = node.exists ? "✓" : node.mandatory ? "✗" : "·";
|
|
5
|
+
const name = depth === 0 ? node.path : (inside(root, node.path) ?? node.path).split("/").pop();
|
|
6
|
+
const descriptors = node.descriptors.map((d) => (d.exists ? d.name : `${d.name}?`));
|
|
7
|
+
const note = !node.exists && !node.mandatory ? " (created on first use)" : "";
|
|
8
|
+
const own = `${" ".repeat(depth)}${mark} ${name}${descriptors.length ? ` [${descriptors.join(", ")}]` : ""}${note}`;
|
|
9
|
+
return [own, ...node.children.flatMap((child) => areaLines(child, root, depth + 1))];
|
|
10
|
+
}
|
|
11
|
+
function forgeLines(report) {
|
|
12
|
+
const { scopes } = report.forge;
|
|
13
|
+
const count = scopes.reduce((sum, scope) => sum + scope.projects.length, 0);
|
|
14
|
+
const lines = [`forge: ${scopes.length} scopes, ${count} projects`];
|
|
15
|
+
for (const scope of scopes) {
|
|
16
|
+
lines.push(` ${scope.name}${scope.version ? ` vG.R.I.H ${scope.version}` : ""}${scope.repository ? " (repository)" : ""}`);
|
|
17
|
+
for (const project of scope.projects) {
|
|
18
|
+
const rel = inside(scope.path, project.path) ?? project.name;
|
|
19
|
+
const branch = project.git?.branch ?? (project.git?.detached ? "(detached)" : "(no HEAD)");
|
|
20
|
+
const version = project.version ? `v${project.version.version}` : "-";
|
|
21
|
+
const parts = project.anatomy.present.length + project.anatomy.missing.length;
|
|
22
|
+
lines.push(` ${rel} ${branch} ${version} anatomy ${project.anatomy.present.length}/${parts}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return lines;
|
|
26
|
+
}
|
|
27
|
+
function findingLines(findings, all) {
|
|
28
|
+
const count = (level) => findings.filter((f) => f.level === level).length;
|
|
29
|
+
const lines = [`findings: ${count("error")} errors, ${count("warning")} warnings, ${count("info")} notes`];
|
|
30
|
+
for (const finding of findings) {
|
|
31
|
+
if (finding.level === "info" && !all)
|
|
32
|
+
continue;
|
|
33
|
+
lines.push(` ${MARK[finding.level]} ${finding.rule} ${finding.path}\n ${finding.message}`);
|
|
34
|
+
}
|
|
35
|
+
if (!all && count("info"))
|
|
36
|
+
lines.push(" (notes hidden: --all shows them)");
|
|
37
|
+
return lines;
|
|
38
|
+
}
|
|
39
|
+
export function statusText(report, { all = false } = {}) {
|
|
40
|
+
const head = `workshop ${report.root}${report.source ? ` (found by: ${report.source})` : ""}`;
|
|
41
|
+
const areas = report.areas ? areaLines(report.areas, report.root).slice(1) : [];
|
|
42
|
+
const strays = report.strays.length ? [` ! not areas: ${report.strays.join(", ")}`] : [];
|
|
43
|
+
return [head, ...areas, ...strays, "", ...forgeLines(report), "", ...findingLines(report.findings, all)].join("\n");
|
|
44
|
+
}
|
|
45
|
+
export function bootstrapText(changes, dryRun) {
|
|
46
|
+
if (!changes.length)
|
|
47
|
+
return "nothing missing: the workshop is complete";
|
|
48
|
+
return [`${dryRun ? "would create" : "created"} ${changes.length}:`, ...changes.map((path) => ` + ${path}`)].join("\n");
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/views/status.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "blacksmith-organization-system",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "Blacksmith Organization System (BOS) core: the workshop as code - build its base, listen to its changes, inspect it as one coherent environment",
|
|
5
5
|
"keywords": [
|
|
6
|
-
"
|
|
6
|
+
"bos",
|
|
7
7
|
"blacksmith",
|
|
8
8
|
"organization",
|
|
9
9
|
"system",
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"smelt",
|
|
14
|
-
"craft",
|
|
15
|
-
"independent"
|
|
10
|
+
"workshop",
|
|
11
|
+
"forge",
|
|
12
|
+
"projects"
|
|
16
13
|
],
|
|
17
14
|
"homepage": "https://github.com/Sarverott/blacksmith-organization-system#readme",
|
|
18
15
|
"bugs": {
|
|
@@ -23,76 +20,56 @@
|
|
|
23
20
|
"url": "git+https://github.com/Sarverott/blacksmith-organization-system.git"
|
|
24
21
|
},
|
|
25
22
|
"license": "MIT",
|
|
26
|
-
"author": "Sett Sarverott
|
|
23
|
+
"author": "Sett Sarverott <sett@sarverott.com> (http://sarverott.com)",
|
|
27
24
|
"type": "module",
|
|
28
|
-
"main": "
|
|
25
|
+
"main": "dist/index.js",
|
|
26
|
+
"types": "dist/index.d.ts",
|
|
29
27
|
"bin": {
|
|
30
|
-
"bos": "
|
|
31
|
-
"bos-mcp": "src/mcp.mjs"
|
|
28
|
+
"bos": "dist/cli.js"
|
|
32
29
|
},
|
|
33
30
|
"exports": {
|
|
34
|
-
".":
|
|
31
|
+
".": {
|
|
32
|
+
"types": "./dist/index.d.ts",
|
|
33
|
+
"default": "./dist/index.js"
|
|
34
|
+
},
|
|
35
35
|
"./package.json": "./package.json"
|
|
36
36
|
},
|
|
37
37
|
"files": [
|
|
38
|
-
"
|
|
39
|
-
"AGENTS.md",
|
|
40
|
-
"CLAUDE.md",
|
|
41
|
-
"LICENSE",
|
|
42
|
-
"README.md",
|
|
43
|
-
"bin",
|
|
44
|
-
"hooks",
|
|
38
|
+
"dist",
|
|
45
39
|
"resources",
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"template"
|
|
40
|
+
"README.md",
|
|
41
|
+
"LICENSE"
|
|
49
42
|
],
|
|
50
43
|
"engines": {
|
|
51
44
|
"node": ">=22.18"
|
|
52
45
|
},
|
|
53
|
-
"directories": {
|
|
54
|
-
"doc": "docs"
|
|
55
|
-
},
|
|
56
46
|
"scripts": {
|
|
57
|
-
"
|
|
47
|
+
"bos": "node src/cli.ts",
|
|
48
|
+
"build": "tsc -p tsconfig.build.json",
|
|
49
|
+
"typecheck": "tsc --noEmit",
|
|
58
50
|
"test": "vitest run",
|
|
59
|
-
"bos": "node src/cli.mjs",
|
|
60
|
-
"prepare": "husky",
|
|
61
|
-
"commit": "cz",
|
|
62
51
|
"lint": "biome check .",
|
|
63
|
-
"format": "biome check --write ."
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
"
|
|
67
|
-
"
|
|
52
|
+
"format": "biome check --write .",
|
|
53
|
+
"check": "npm run typecheck && npm run lint && npm test",
|
|
54
|
+
"commit": "cz",
|
|
55
|
+
"prepare": "husky",
|
|
56
|
+
"prepack": "npm run build"
|
|
68
57
|
},
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
"octokit": "^5.0.5",
|
|
74
|
-
"ollama": "^0.6.4",
|
|
75
|
-
"zod": "^4.6.5"
|
|
58
|
+
"config": {
|
|
59
|
+
"commitizen": {
|
|
60
|
+
"path": "@commitlint/cz-commitlint"
|
|
61
|
+
}
|
|
76
62
|
},
|
|
77
63
|
"devDependencies": {
|
|
78
64
|
"@biomejs/biome": "2.5.14",
|
|
79
65
|
"@commitlint/cli": "^21.2.3",
|
|
80
66
|
"@commitlint/config-conventional": "^21.2.3",
|
|
81
67
|
"@commitlint/cz-commitlint": "^21.2.3",
|
|
82
|
-
"@
|
|
83
|
-
"@semantic-release/changelog": "^7.0.0",
|
|
84
|
-
"@semantic-release/git": "^11.0.1",
|
|
68
|
+
"@types/node": "^24.0.0",
|
|
85
69
|
"commitizen": "^4.3.2",
|
|
86
|
-
"conventional-changelog-conventionalcommits": "^9.3.1",
|
|
87
70
|
"husky": "^9.1.7",
|
|
88
71
|
"inquirer": "^12.11.1",
|
|
89
|
-
"
|
|
90
|
-
"skills": "^1.7.0",
|
|
72
|
+
"typescript": "^5.9.0",
|
|
91
73
|
"vitest": "^5.0.2"
|
|
92
|
-
},
|
|
93
|
-
"config": {
|
|
94
|
-
"commitizen": {
|
|
95
|
-
"path": "@commitlint/cz-commitlint"
|
|
96
|
-
}
|
|
97
74
|
}
|
|
98
75
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
.
|
|
2
|
+
|
|
3
|
+
██████╗ ██╗ █████╗ █████╗ ██╗ ██╗ ██████╗███╗ ███╗██╗████████╗██╗ ██╗
|
|
4
|
+
██╔══██╗██║ ██╔══██╗██╔══██╗██║ ██╔╝██╔════╝████╗ ████║██║╚══██╔══╝██║ ██║
|
|
5
|
+
██████╦╝██║ ███████║██║ ╚═╝█████═╝ ╚█████╗ ██╔████╔██║██║ ██║ ███████║
|
|
6
|
+
██╔══██╗██║ ██╔══██║██║ ██╗██╔═██╗ ╚═══██╗██║╚██╔╝██║██║ ██║ ██╔══██║
|
|
7
|
+
██████╦╝███████╗██║ ██║╚█████╔╝██║ ╚██╗██████╔╝██║ ╚═╝ ██║██║ ██║ ██║ ██║
|
|
8
|
+
╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚════╝ ╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝
|
|
9
|
+
|
|
10
|
+
█████╗ ██████╗ ██████╗ █████╗ ███╗ ██╗██╗███████╗ █████╗ ████████╗██╗ █████╗ ███╗ ██╗
|
|
11
|
+
██╔══██╗██╔══██╗██╔════╝ ██╔══██╗████╗ ██║██║╚════██║██╔══██╗╚══██╔══╝██║██╔══██╗████╗ ██║
|
|
12
|
+
██║ ██║██████╔╝██║ ██╗ ███████║██╔██╗██║██║ ███╔═╝███████║ ██║ ██║██║ ██║██╔██╗██║
|
|
13
|
+
██║ ██║██╔══██╗██║ ╚██╗██╔══██║██║╚████║██║██╔══╝ ██╔══██║ ██║ ██║██║ ██║██║╚████║
|
|
14
|
+
╚█████╔╝██║ ██║╚██████╔╝██║ ██║██║ ╚███║██║███████╗██║ ██║ ██║ ██║╚█████╔╝██║ ╚███║
|
|
15
|
+
╚════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚══╝╚═╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚════╝ ╚═╝ ╚══╝
|
|
16
|
+
|
|
17
|
+
██████╗██╗ ██╗ ██████╗████████╗███████╗███╗ ███╗
|
|
18
|
+
██╔════╝╚██╗ ██╔╝██╔════╝╚══██╔══╝██╔════╝████╗ ████║
|
|
19
|
+
╚█████╗ ╚████╔╝ ╚█████╗ ██║ █████╗ ██╔████╔██║
|
|
20
|
+
╚═══██╗ ╚██╔╝ ╚═══██╗ ██║ ██╔══╝ ██║╚██╔╝██║
|
|
21
|
+
██████╔╝ ██║ ██████╔╝ ██║ ███████╗██║ ╚═╝ ██║
|
|
22
|
+
╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝
|
|
23
|
+
|
|
24
|
+
.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
.
|
|
2
|
+
|█▀▀█ |█─── ─█▀▀█ |█▀▀█ |█─▄▀ |█▀▀▀█ |█▀▄▀█ ▀█▀ ▀▀█▀▀ |█─|█
|
|
3
|
+
|█▀▀▄ |█─── |█▄▄█ |█─── |█▀▄─ ─▀▀▀▄▄ |█|█|█ |█─ ─|█── |█▀▀█
|
|
4
|
+
|█▄▄█ |█▄▄█ |█─|█ |█▄▄█ |█─|█ |█▄▄▄█ |█──|█ ▄█▄ ─|█── |█─|█
|
|
5
|
+
|
|
6
|
+
|█▀▀▀█ |█▀▀█ |█▀▀█ ─█▀▀█ |█▄─|█ ▀█▀ |█▀▀▀█ ─█▀▀█ ▀▀█▀▀ ▀█▀ |█▀▀▀█ |█▄─|█
|
|
7
|
+
|█──|█ |█▄▄▀ |█─▄▄ |█▄▄█ |█|█|█ |█─ ─▄▄▄▀▀ |█▄▄█ ─|█── |█─ |█──|█ |█|█|█
|
|
8
|
+
|█▄▄▄█ |█─|█ |█▄▄█ |█─|█ |█──▀█ ▄█▄ |█▄▄▄█ |█─|█ ─|█── ▄█▄ |█▄▄▄█ |█──▀█
|
|
9
|
+
|
|
10
|
+
|█▀▀▀█ |█──|█ |█▀▀▀█ ▀▀█▀▀ |█▀▀▀ |█▀▄▀█
|
|
11
|
+
─▀▀▀▄▄ |█▄▄▄█ ─▀▀▀▄▄ ─|█── |█▀▀▀ |█|█|█
|
|
12
|
+
|█▄▄▄█ ──|█── |█▄▄▄█ ─|█── |█▄▄▄ |█──|█
|
|
13
|
+
.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<pretty-terminal>
|
|
2
|
+
	<f-gray> ************************************ </f-gray>
|
|
3
|
+
	 <b-red>Blacksmith Organization System</b-red> <bright><f-red>
|
|
4
|
+
	 ______ _____ _____
|
|
5
|
+
	 | ___ \ | _ | / ___|
|
|
6
|
+
	 | |_/ / | | | | \ `--.
|
|
7
|
+
	 | ___ \ | | | | `--. \
|
|
8
|
+
	 | |_/ / \ \_/ / /\__/ /
|
|
9
|
+
	 \____(_) \___(_) \____(_)
|
|
10
|
+
	</f-red></bright>
|
|
11
|
+
	 <f-red>By <underline>Sett Sarverott</underline></f-red> <blink><gray>@</gray></blink> 2019-2024
|
|
12
|
+
	<f-gray> ************************************ </f-gray>
|
|
13
|
+
</pretty-terminal>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
************************************
|
|
2
|
+
Blacksmith Organization System
|
|
3
|
+
______ _____ _____
|
|
4
|
+
| ___ \ | _ | / ___|
|
|
5
|
+
| |_/ / | | | | \ `--.
|
|
6
|
+
| ___ \ | | | | `--. \
|
|
7
|
+
| |_/ / \ \_/ / /\__/ /
|
|
8
|
+
\____(_) \___(_) \____(_)
|
|
9
|
+
|
|
10
|
+
By Sett Sarverott @ 2019-2024
|
|
11
|
+
************************************
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# docs-templates
|
|
2
|
+
|
|
3
|
+
Templates of the pages only the GitHub wiki has, rendered by
|
|
4
|
+
`scripts/gh-wiki.py` (`task docs:wiki`) with Python's `string.Template`
|
|
5
|
+
(`$name`; a literal dollar is `$$`). Edit them here, never in the wiki.
|
|
6
|
+
|
|
7
|
+
| Template | Becomes | Variables |
|
|
8
|
+
| -------- | ------- | --------- |
|
|
9
|
+
| `Home.md` | the wiki's front page | `$content` (docs/README.md, links rewritten), `$version`, `$repo`, `$docs` |
|
|
10
|
+
| `_Sidebar.md` | the menu beside every page | `$nav` (the MkDocs nav as a list), `$version`, `$repo`, `$docs` |
|
|
11
|
+
| `_Footer.md` | the line below every page | `$version`, `$repo`, `$docs` |
|
|
12
|
+
|
|
13
|
+
`$repo` is the repository's URL, `$docs` the Read the Docs site, `$version`
|
|
14
|
+
the version in `package.json`.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Blacksmith Organization System `$version` · [repository]($repo) · [documentation]($docs) · generated from `docs/` by `scripts/gh-wiki.py`, do not edit here
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "bos-skillset",
|
|
3
|
-
"owner": {
|
|
4
|
-
"name": "sarverott"
|
|
5
|
-
},
|
|
6
|
-
"metadata": {
|
|
7
|
-
"description": "Agent skills for the Blacksmith Organization System (BOS)",
|
|
8
|
-
"version": "0.1.0"
|
|
9
|
-
},
|
|
10
|
-
"plugins": [
|
|
11
|
-
{
|
|
12
|
-
"name": "bos",
|
|
13
|
-
"source": "./",
|
|
14
|
-
"description": "Recognize BOS workshops and handle every element in them: areas, scopes, projects, sarcophags, craftsets\u2026"
|
|
15
|
-
}
|
|
16
|
-
]
|
|
17
|
-
}
|
package/.claude-plugin/mcp.json
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "bos",
|
|
3
|
-
"displayName": "Blacksmith Organization System",
|
|
4
|
-
"version": "0.7.0",
|
|
5
|
-
"description": "BOS as the agent's suit: workshop skills, MCP tools over the workshop and the House of Anubis, a session brief, and the agent's work recorded in storylines",
|
|
6
|
-
"author": {
|
|
7
|
-
"name": "Sett Sarverott",
|
|
8
|
-
"email": "sett@sarverott.com",
|
|
9
|
-
"url": "https://github.com/Sarverott"
|
|
10
|
-
},
|
|
11
|
-
"homepage": "https://github.com/Sarverott/blacksmith-organization-system",
|
|
12
|
-
"repository": "https://github.com/Sarverott/blacksmith-organization-system",
|
|
13
|
-
"license": "MIT",
|
|
14
|
-
"keywords": ["bos", "workshop", "house-of-anubis", "ravens", "storylines"],
|
|
15
|
-
"mcpServers": "./.claude-plugin/mcp.json"
|
|
16
|
-
}
|