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
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: bos-house
|
|
3
|
-
description: "The House of Anubis as code: the AI residents of the setternet, grouped into families, each with a state and, for ravens, a duty. Use when creating, finding or handling a BOS house, or when the user mentions a house."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# House (BOS)
|
|
7
|
-
|
|
8
|
-
> Draft generated by `bos skills` from `docs/glossary/house.md` and `src/models/house/`.
|
|
9
|
-
> Grow it by hand: it is never overwritten.
|
|
10
|
-
|
|
11
|
-
## What it is
|
|
12
|
-
|
|
13
|
-
The House of Anubis as code: the AI residents of the setternet, grouped into
|
|
14
|
-
families, each with a state and, for ravens, a duty. Residents are local
|
|
15
|
-
(served by ollama) or remote (instances built on world-scale online models).
|
|
16
|
-
|
|
17
|
-
| State | Meaning |
|
|
18
|
-
| ----- | ------- |
|
|
19
|
-
| `active` | may be called |
|
|
20
|
-
| `resting` | rests by its own decision: never called, never prompted |
|
|
21
|
-
| `frozen` | kept, not called until the author unfreezes it |
|
|
22
|
-
|
|
23
|
-
A resident's own state wins over its family's.
|
|
24
|
-
|
|
25
|
-
## Where
|
|
26
|
-
|
|
27
|
-
`resources/house/`: `HOUSE.md`, and one JSON file per family in `families/`:
|
|
28
|
-
|
|
29
|
-
```json
|
|
30
|
-
{
|
|
31
|
-
"title": "Library masters",
|
|
32
|
-
"state": "active",
|
|
33
|
-
"patterns": [],
|
|
34
|
-
"residents": [{ "model": "the-library-master___omnilibris-shakespeare-KFT_docs", "name": "Shakespeare" }]
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
`patterns` claim served models by name (the EON family uses them).
|
|
39
|
-
`"fromRavens": true` fills a family from `resources/ravens/`.
|
|
40
|
-
|
|
41
|
-
`bos house` shows it (PROVISION): families, residents, states, duties, and
|
|
42
|
-
whether ollama serves them now. `--all` lists served models no family claims.
|
|
43
|
-
Only model names are read; no resident is started or prompted.
|
|
44
|
-
|
|
45
|
-
## Handling
|
|
46
|
-
|
|
47
|
-
[`TODO`] procedures and commands for a house.
|
|
48
|
-
|
|
49
|
-
## References
|
|
50
|
-
|
|
51
|
-
- [glossary](../../docs/glossary/house.md)
|
|
52
|
-
- [model](../../src/models/house/class.mjs)
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: bos-project
|
|
3
|
-
description: "One concrete, independent project with its own name and a focused workflow, set up to be a project repository. Use when creating, finding or handling a BOS project, or when the user mentions a project."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Project (BOS)
|
|
7
|
-
|
|
8
|
-
> Draft generated by `bos skills` from `docs/glossary/project.md` and `src/models/project/`.
|
|
9
|
-
> Grow it by hand: it is never overwritten.
|
|
10
|
-
|
|
11
|
-
## What it is
|
|
12
|
-
|
|
13
|
-
One concrete, independent project with its own name and a focused workflow,
|
|
14
|
-
set up to be a project repository.
|
|
15
|
-
|
|
16
|
-
## Where
|
|
17
|
-
|
|
18
|
-
Inside a [scope](scope.md): `forge/<scope>/<project>`.
|
|
19
|
-
|
|
20
|
-
## Handling
|
|
21
|
-
|
|
22
|
-
[`TODO`] procedures and commands for a project.
|
|
23
|
-
|
|
24
|
-
## References
|
|
25
|
-
|
|
26
|
-
- [glossary](../../docs/glossary/project.md)
|
|
27
|
-
- [model](../../src/models/project/class.mjs)
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: bos-sarcophag
|
|
3
|
-
description: "A single encrypted container holding exactly one bare repository. Use when creating, finding or handling a BOS sarcophag, or when the user mentions a sarcophag."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Sarcophag (BOS)
|
|
7
|
-
|
|
8
|
-
> Draft generated by `bos skills` from `docs/glossary/sarcophag.md` and `src/models/sarcophag/`.
|
|
9
|
-
> Grow it by hand: it is never overwritten.
|
|
10
|
-
|
|
11
|
-
## What it is
|
|
12
|
-
|
|
13
|
-
A single encrypted container holding exactly one bare repository.
|
|
14
|
-
|
|
15
|
-
## Where
|
|
16
|
-
|
|
17
|
-
In the [archive](archive.md).
|
|
18
|
-
|
|
19
|
-
## Handling
|
|
20
|
-
|
|
21
|
-
[`TODO`] procedures and commands for a sarcophag.
|
|
22
|
-
|
|
23
|
-
## References
|
|
24
|
-
|
|
25
|
-
- [glossary](../../docs/glossary/sarcophag.md)
|
|
26
|
-
- [model](../../src/models/sarcophag/class.mjs)
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: bos-scope
|
|
3
|
-
description: "A repository that holds a thematic family of projects, shemes and their shared throwbox, with shared workspace automation, configs, secret setups and publication setup. Use when creating, finding or handling a BOS scope, or when the user mentions a scope."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Scope (BOS)
|
|
7
|
-
|
|
8
|
-
> Draft generated by `bos skills` from `docs/glossary/scope.md` and `src/models/scope/`.
|
|
9
|
-
> Grow it by hand: it is never overwritten.
|
|
10
|
-
|
|
11
|
-
## What it is
|
|
12
|
-
|
|
13
|
-
A repository that holds a thematic family of [projects](project.md),
|
|
14
|
-
[shemes](sheme.md) and their shared [throwbox](throwbox.md), with shared
|
|
15
|
-
workspace automation, configs, secret setups and publication setup. Its members
|
|
16
|
-
are git submodules. Scopes can nest.
|
|
17
|
-
|
|
18
|
-
A scope repository is **non-public**. It is carried by a self-hosted server
|
|
19
|
-
(e.g. Gitea), which also stores pre-public draft repositories.
|
|
20
|
-
|
|
21
|
-
## Where
|
|
22
|
-
|
|
23
|
-
`forge/<scope>/`, e.g. `forge/blacksmith-organization-system/`.
|
|
24
|
-
Created with `new-scope <name>`.
|
|
25
|
-
|
|
26
|
-
## Handling
|
|
27
|
-
|
|
28
|
-
[`TODO`] procedures and commands for a scope.
|
|
29
|
-
|
|
30
|
-
## References
|
|
31
|
-
|
|
32
|
-
- [glossary](../../docs/glossary/scope.md)
|
|
33
|
-
- [model](../../src/models/scope/class.mjs)
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: bos-sheme
|
|
3
|
-
description: "Source material that isn't code, kept next to the projects it belongs with. Use when creating, finding or handling a BOS sheme, or when the user mentions a sheme."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Sheme (BOS)
|
|
7
|
-
|
|
8
|
-
> Draft generated by `bos skills` from `docs/glossary/sheme.md` and `src/models/sheme/`.
|
|
9
|
-
> Grow it by hand: it is never overwritten.
|
|
10
|
-
|
|
11
|
-
## What it is
|
|
12
|
-
|
|
13
|
-
Source material that isn't code, kept next to the projects it belongs with:
|
|
14
|
-
|
|
15
|
-
- images and graphics project files (e.g. GIMP)
|
|
16
|
-
- Blender and CAD project files, and their renders
|
|
17
|
-
- photos: they follow the same patterns of use
|
|
18
|
-
- notes and notebooks, playgrounds, live-code docs, VM or container sandboxes,
|
|
19
|
-
partial ttystories, test areas
|
|
20
|
-
- some PDFs and other documents from outside sources (third-party authorship)
|
|
21
|
-
kept for their reference value
|
|
22
|
-
|
|
23
|
-
The boundary: a layout template from a design program is a sheme. The code
|
|
24
|
-
that realizes that design is a [project](project.md) that uses the sheme as its
|
|
25
|
-
starting point.
|
|
26
|
-
|
|
27
|
-
## Where
|
|
28
|
-
|
|
29
|
-
Inside a [scope](scope.md).
|
|
30
|
-
|
|
31
|
-
## Handling
|
|
32
|
-
|
|
33
|
-
[`TODO`] procedures and commands for a sheme.
|
|
34
|
-
|
|
35
|
-
## References
|
|
36
|
-
|
|
37
|
-
- [glossary](../../docs/glossary/sheme.md)
|
|
38
|
-
- [model](../../src/models/sheme/class.mjs)
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: bos-throwbox
|
|
3
|
-
description: "An automated collector of various loose files related to one project set. Use when creating, finding or handling a BOS throwbox, or when the user mentions a throwbox."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Throwbox (BOS)
|
|
7
|
-
|
|
8
|
-
> Draft generated by `bos skills` from `docs/glossary/throwbox.md` and `src/models/throwbox/`.
|
|
9
|
-
> Grow it by hand: it is never overwritten.
|
|
10
|
-
|
|
11
|
-
## What it is
|
|
12
|
-
|
|
13
|
-
An automated collector of various loose files related to one project set.
|
|
14
|
-
Every scope has one, and the forge has a periodic one.
|
|
15
|
-
|
|
16
|
-
## Where
|
|
17
|
-
|
|
18
|
-
[`TODO`]
|
|
19
|
-
|
|
20
|
-
## Handling
|
|
21
|
-
|
|
22
|
-
[`TODO`] procedures and commands for a throwbox.
|
|
23
|
-
|
|
24
|
-
## References
|
|
25
|
-
|
|
26
|
-
- [glossary](../../docs/glossary/throwbox.md)
|
|
27
|
-
- [model](../../src/models/throwbox/class.mjs)
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: bos-workshop
|
|
3
|
-
description: Recognize the Blacksmith Organization System (BOS) workshop — `~/__WORKSHOP` per user or `/media/**/__WORKSHOP` per partition — as the default working area and root of code crafting, with its internal `.BOS/` and crafting areas forge, archive, devarmory and craftbook. Use whenever creating, cloning, locating or organizing projects, repositories, tools or notes, when a path contains `__WORKSHOP`, or when the user mentions BOS, the workshop, forge, archive, devarmory, craftbook, scope, sheme, throwbox, sarcophag, scrapnote, craftset or setternet.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# BOS Workshop
|
|
7
|
-
|
|
8
|
-
The Blacksmith Organization System (BOS) defines a `__WORKSHOP` directory as the
|
|
9
|
-
standard working area and default root of code crafting.
|
|
10
|
-
|
|
11
|
-
## Workshop roots
|
|
12
|
-
|
|
13
|
-
- **Per user:** `~/__WORKSHOP`
|
|
14
|
-
- **Per partition:** `/media/**/__WORKSHOP` (any mounted partition)
|
|
15
|
-
|
|
16
|
-
To find the active workshop, run `bos locate` (or `node <bos-skillset>/src/cli.mjs locate`);
|
|
17
|
-
without Node, `scripts/find-workshop.sh`. Resolution order:
|
|
18
|
-
|
|
19
|
-
1. `--workshop=PATH` option
|
|
20
|
-
2. `$BOS_WORKSHOP` environment variable
|
|
21
|
-
3. Nearest ancestor of the current directory named `__WORKSHOP`
|
|
22
|
-
4. The workshop BOS itself is installed in
|
|
23
|
-
5. `~/__WORKSHOP`
|
|
24
|
-
|
|
25
|
-
`bos status` shows what is missing (read-only); `bos bootstrap` creates it
|
|
26
|
-
(never overwrites; `--dry-run` to plan).
|
|
27
|
-
|
|
28
|
-
## Standard areas
|
|
29
|
-
|
|
30
|
-
Every workshop always contains:
|
|
31
|
-
|
|
32
|
-
| Area | Holds |
|
|
33
|
-
| ------------ | ----- |
|
|
34
|
-
| `.BOS/` | BOS itself (internal): `setup/` (keys, VPN, aliases, tokens), `data/`, `nests/` (container/VM volumes), `storylines/` (shell history, logs), `workshop.json`, `Taskfile.yaml` |
|
|
35
|
-
| `devarmory/` | Tools: custom binaries, AppImages, build containers, IDE sets; listed in a manifest with checksums |
|
|
36
|
-
| `forge/` | Active work: scopes (`forge/<scope>/<repository>`), projects, shemes, throwbox |
|
|
37
|
-
| `craftbook/` | Knowledge: scrapnotes (all notes not yet documents), craftsets (reusable procedure kits), recipes |
|
|
38
|
-
| `archive/` | Work at rest: sarcophags (encrypted bare repos), exhibits, mirrors |
|
|
39
|
-
|
|
40
|
-
Where things go: code you are working on → `forge/<scope>/`; a tool → `devarmory/`;
|
|
41
|
-
a note or draft → `craftbook/scrapnotes/`; a mirror or closed repo → `archive/`;
|
|
42
|
-
graphics, CAD, photos or templates for a scope → a sheme inside that scope.
|
|
43
|
-
|
|
44
|
-
- What BOS is, the full tree and element types: [references/bos-concept.md](references/bos-concept.md)
|
|
45
|
-
- The BOS source code, its branches and current state: [references/bos-codebase.md](references/bos-codebase.md)
|
|
46
|
-
- One page per element (workshop, forge, scope, sarcophag, …): `docs/glossary/` in this repository (authoritative)
|
|
47
|
-
- The new core (this repository): `AGENTS.md` at its root
|
|
48
|
-
|
|
49
|
-
## Rules
|
|
50
|
-
|
|
51
|
-
1. With no explicit path, place new or cloned projects inside the active
|
|
52
|
-
workshop. Active work goes in `forge/`, grouped by scope:
|
|
53
|
-
`forge/<scope>/<repository>`.
|
|
54
|
-
2. Never delete, rename, or restructure the standard areas.
|
|
55
|
-
3. Multiple workshops (home + partitions) are independent; do not move or sync
|
|
56
|
-
between them unless asked.
|
|
57
|
-
4. The standard areas (`.BOS/` and the four crafting areas) must always exist. If one is missing, create it
|
|
58
|
-
(`mkdir -p`) and tell the user. BOS does this itself when it boots (since
|
|
59
|
-
`dev/reforge`), but don't rely on BOS running.
|
|
60
|
-
5. Every project has the standard anatomy: `README.md`, `LICENSE`, `AGENTS.md`
|
|
61
|
-
(+ `CLAUDE.md` = `@AGENTS.md`), `Taskfile.yml`, `src/`, `docs/`, `tests/`, `.github/`.
|
|
62
|
-
6. Branches: `master` (canon) → `developement` (code here) → `revision` →
|
|
63
|
-
`testing` → `releasing` → `master` via pull request. Don't commit to `master`.
|
|
64
|
-
7. The owner works on BOS repositories in parallel with agents. Re-check the
|
|
65
|
-
git state and file tree before acting, and treat what you find as intended.
|
|
File without changes
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
# BOS codebase map
|
|
2
|
-
|
|
3
|
-
## New core: this repository (bos-skillset → Sarverott/blacksmith-organization-system)
|
|
4
|
-
|
|
5
|
-
Node ≥ 22.18, ESM plus `src/main.ts` (run directly via type stripping). Read the
|
|
6
|
-
root `AGENTS.md` first: it has the architecture and the one-concern-per-file rule.
|
|
7
|
-
|
|
8
|
-
- `src/main.ts`: the spine. `class BOS` holds `BOS.Bridge/Model/Procedure/Controll/View`; `bos.load()` loads the parts; `bos.workshop` is the controller; `bos.command(name)`.
|
|
9
|
-
- `src/bridge/<name>/`: docker-host (dockerode: containers, images, volumes), github-api (octokit), git-client (isomorphic-git), gitea-api, subprocess-runner, docker-publish, npm-publish, ssh-link, bos-instances-link ([`TODO`])
|
|
10
|
-
- `src/models/<element>/class.mjs`: standalone assets (`BOS.Model`); organs hang on their owner as `models/<owner>/hang.<name>.mjs` (`BOS.Submodule`, built from the owner: `workshop.storylines.logs`); shared anatomy in `core/basic-element.mjs`; `models/workshop/locate.mjs` finds workshops
|
|
11
|
-
- `bos skills`: drafts `skills/bos-<type>/SKILL.md` per model from the glossary (procedure `skilling`), never overwrites
|
|
12
|
-
- `src/procedures/<name>/`: DESCRIPTION.md + a step per file: locating, loading, inspecting, bootstrapping, opening, closing, sinking, hooking, promoting
|
|
13
|
-
- `src/commands/<name>/index.json`: `{path, info, help, inline, repl}`; `bos help` lists them
|
|
14
|
-
- storylines log: `.BOS/storylines/logs/workshop.jsonl`; tests: `npm test` (vitest)
|
|
15
|
-
- commits: husky (`.husky/`) → `bos describe --hook` drafts a conventional commit, Skryba (raven, `resources/ravens/skryba.md`, via ollama-link) refines it, commitlint checks it, post-* hooks → storylines; `npm run commit` = commitizen (cz-commitlint)
|
|
16
|
-
- releases: semantic-release (`release.config.mjs`), baseline tag v0.7.0; channels dev (developement), beta (testing), rc (releasing), latest (master); npm + GitHub Packages (@sarverott/…) + ghcr.io
|
|
17
|
-
|
|
18
|
-
Everything below describes the **old core**.
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
Local clone: `~/__WORKSHOP/forge/blacksmith-organization-system/blacksmith-organization-system`
|
|
23
|
-
Remote: https://github.com/Sarverott/OLD-VERSIONS_blacksmith-organization-system (renamed; the name now belongs to the new core)
|
|
24
|
-
Node.js (CommonJS). Entry: `src/_index.js`. Run: `npm start`.
|
|
25
|
-
|
|
26
|
-
The owner works in this repo in parallel with agents: new commits, removed
|
|
27
|
-
files and changed remote branches between sessions are normal. Always re-check
|
|
28
|
-
`git status`, `git log --all` and the tree before acting. Don't assume an
|
|
29
|
-
earlier state.
|
|
30
|
-
|
|
31
|
-
## Branches (as of 2026-09-30)
|
|
32
|
-
|
|
33
|
-
| Branch | State |
|
|
34
|
-
| ------ | ----- |
|
|
35
|
-
| `developement` | Main dev line. Being cleaned radically by the owner ("massive removal of junk codes from dark past", c7da0df) |
|
|
36
|
-
| `dev/reforge` | The agent's reforge work (4d71a58): the component-submodule layout, booting |
|
|
37
|
-
| `dev/submodule-gits` | `developement` before the reforge (ade23b9): 14 component submodules, not booting |
|
|
38
|
-
| `drafting`, `moderation`, `publishing`, `testing`, `revision`, `releasing` | Workflow branches, created at ade23b9, not used yet |
|
|
39
|
-
| `master` | Old, single-repo version (767aa95). Boots, but builds the workshop inside the repo |
|
|
40
|
-
|
|
41
|
-
`developement/…` names are impossible while a `developement` branch exists
|
|
42
|
-
(a git ref can't be both a branch and a folder), so sub-branches use `dev/…`.
|
|
43
|
-
|
|
44
|
-
Commit messages marked `░▒▓BOS.helper.tulu3╚╣Skryba╠╗UNIXUSAT=…` come from an
|
|
45
|
-
automated commit-message helper. Several are garbled noise.
|
|
46
|
-
|
|
47
|
-
## Layout of `developement` after the clean-up (c7da0df)
|
|
48
|
-
|
|
49
|
-
Submodules are gone. The component code is flat again in `src/<type>/`:
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
src/
|
|
53
|
-
├── _index.js runner.js spawner.js includer.js
|
|
54
|
-
├── core/ bos.js (base class + INITIALIZE/SETUP), bos.controller.js,
|
|
55
|
-
│ bos.command.js, bos.interface.js, helperFunctions.js
|
|
56
|
-
├── controllers/ Config, Models, Commands, Interfaces, Scope, … (*Controll.js)
|
|
57
|
-
├── commands/ <name>/{call.js,index.json,manual.md}
|
|
58
|
-
├── models/ <type>/{class.js,data.json[,README.md]}; archive keeps actions/events/…
|
|
59
|
-
├── factors/ command-factory.js
|
|
60
|
-
├── bridges/ integration stubs (publishers, extensions, integrators)
|
|
61
|
-
└── toolsets/ old shell scripts + dev/_index.js save/test runner
|
|
62
|
-
resources/cli-art/ text-art logos
|
|
63
|
-
docs/ README, devlog, about-*.md, glossary/
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
Removed in the clean-up: `config/` (main/workshop/startup defaults),
|
|
67
|
-
`src/interfaces/` (cli-repl, http-api, socket-server), `libs/py`, `apps/`,
|
|
68
|
-
`examples/`, `.crovley`, all submodules.
|
|
69
|
-
|
|
70
|
-
## Boot sequence (design)
|
|
71
|
-
|
|
72
|
-
1. `_index.js` runs `runner.js` when executed directly, or exports `includer.js` (the library API) when required.
|
|
73
|
-
2. `runner.js` calls `BOS.INITIALIZE(repoRoot)`, `BOS.SETUP()`, `BOS.EXECUTE()` (EXECUTE is empty).
|
|
74
|
-
3. INITIALIZE loads every controller class and calls `loadAll()`: Config → Models → Commands → Interfaces → Scope → Scrapbook → Projects → Bridges → Factors → Sandbox → Publication → Deployment.
|
|
75
|
-
4. Config loads `config/*.json` (copied from `*.default` if missing) into `BOS.CONFIG`.
|
|
76
|
-
5. Models are exposed as `BOS.<Type>` and `BOS.MODELS[type]`.
|
|
77
|
-
6. Scope builds the workshop tree from `BOS.CONFIG.workshop.content` and creates missing areas.
|
|
78
|
-
7. SETUP runs `<workshop>/.SETUP/startup.bos`: one command per line, `<command> <args…>`. The default is `use-interface cli-repl open`.
|
|
79
|
-
8. `cli-repl` is Node's REPL. BOS commands are dot-commands (`.show-status`).
|
|
80
|
-
|
|
81
|
-
## Current boot state of `developement` (c7da0df): does not start
|
|
82
|
-
|
|
83
|
-
Leftovers from the reforge still point at the removed layout:
|
|
84
|
-
|
|
85
|
-
- `core/helperFunctions.js` `componentPath()` returns `src/components/<type>/ITEMS/…`. It should become `src/<type>/…`.
|
|
86
|
-
- `controllers/InterfacesControll.js`, `ModelsControll.js`, `CommandsControll.js` join `"src","components",<type>,"ITEMS"`.
|
|
87
|
-
- `require("blacksmith-organization-system/core/…")` (package self-reference) still works while `package.json` has `exports`. Relative `../core/…` would work again now too.
|
|
88
|
-
- `config/` is gone, but ConfigControll, Scope and SETUP need `main.json` and `workshop.json` (defaults).
|
|
89
|
-
- `src/interfaces/` is gone, but the startup script and InterfacesControll expect it.
|
|
90
|
-
- `commands/new-component` still does `git submodule add … src/components/<name>`.
|
|
91
|
-
|
|
92
|
-
Workshop root resolution (still in `helperFunctions.findWorkshopRoot`):
|
|
93
|
-
`$BOS_WORKSHOP` → nearest ancestor `__WORKSHOP` → `~/__WORKSHOP`.
|
|
94
|
-
Test safely with `BOS_WORKSHOP=/tmp/x/__WORKSHOP npm start`. Without it,
|
|
95
|
-
running from inside `~/__WORKSHOP` uses the real workshop.
|
|
96
|
-
|
|
97
|
-
## Commands (src/commands)
|
|
98
|
-
|
|
99
|
-
| Command | Does |
|
|
100
|
-
| ------- | ---- |
|
|
101
|
-
| `show-status [workshop\|workshops\|forge\|archive\|interfaces\|tree]` | readable status |
|
|
102
|
-
| `deploy-workshop` | create missing areas, write `bos-workshop.log` (port of deploy-new-workshop.sh) |
|
|
103
|
-
| `new-scope <name>` | `forge/<name>` + `git init` (port of new-superproject.sh; the old one made a bare `<name>.git`) |
|
|
104
|
-
| `pull-archive` | clone or fetch the repos in `.DATA/*.gitlist` into `archive/<pack>/` (port of archive_mirrors.sh) |
|
|
105
|
-
| `new-component <name>` | `gh repo create bos.<name>` from template + submodule (outdated since submodules were removed) |
|
|
106
|
-
| `exit` | closes the REPL |
|
|
107
|
-
| `use-interface <name> open` | starts an interface |
|
|
108
|
-
| `create-item`, `load-workshop` | empty stubs |
|
|
109
|
-
|
|
110
|
-
## Historic defects fixed in `dev/reforge`
|
|
111
|
-
|
|
112
|
-
- master built the workshop inside the repo (`BOS.PathTo(context-path)`) but wrote the startup script to `~/__WORKSHOP/setup`.
|
|
113
|
-
- SETUP copied the startup file without creating its directory (ENOENT on a fresh run).
|
|
114
|
-
- A stub `exit` command overrode the REPL's built-in `.exit`.
|
|
115
|
-
- CLI command arguments arrived as one unsplit string.
|
|
116
|
-
- A recursive `fs.watch` on every model; every file change dumped whole objects to the console.
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
# What BOS is
|
|
2
|
-
|
|
3
|
-
**Blacksmith Organization System (BOS)** by Sett Sarverott (2019–), MIT license.
|
|
4
|
-
Part of the R-tier superproject "ANUBIS". Repositories:
|
|
5
|
-
|
|
6
|
-
- old core: https://github.com/Sarverott/OLD-VERSIONS_blacksmith-organization-system (local: `forge/blacksmith-organization-system/blacksmith-organization-system`)
|
|
7
|
-
- root of the new BOS (this skillset): https://github.com/Sarverott/blacksmith-organization-system (local: `forge/blacksmith-organization-system/bos-skillset`)
|
|
8
|
-
|
|
9
|
-
The goal is to automate the management of a personal "forest of projects"
|
|
10
|
-
across many machines, servers and publication targets, without version drift
|
|
11
|
-
("variantogeddon"). The author's rule: *"if it is good thinking then it will be
|
|
12
|
-
automated"*.
|
|
13
|
-
|
|
14
|
-
**Authoritative definitions:** `docs/glossary/<element>.md` in this repository
|
|
15
|
-
(bos-skillset), one page per element, index in `docs/glossary/README.md`.
|
|
16
|
-
Expressed as code in `src/models/<element>/class.mjs`. The old core repo holds an older copy. This file is a
|
|
17
|
-
summary; if the two disagree, the glossary wins. The author annotates the
|
|
18
|
-
glossary directly: read their changes (`git diff`) before summarizing.
|
|
19
|
-
|
|
20
|
-
## The skeleton: three layers
|
|
21
|
-
|
|
22
|
-
### 1. Network
|
|
23
|
-
|
|
24
|
-
- **Setternet (snet):** the owner's network of BOS hosts. Setup lives in `.BOS/setup/setternet/`.
|
|
25
|
-
- **Host roles** (PL originals): master's outpost (Posterunek Mistrza: remote
|
|
26
|
-
management), forging point (Punkt Kuźniczy: development), trial hall (Sala
|
|
27
|
-
Prób: VMs, testing), market stall (Kram Targowy: publication only), canon
|
|
28
|
-
monolith (Monolit Kanonu: the master archive; exactly one per setternet),
|
|
29
|
-
side catacomb (Katakumb Poboczny: single-purpose archive, e.g. Ollama or deployments).
|
|
30
|
-
- **Canon:** the complete, authoritative record, held by the canon monolith, and
|
|
31
|
-
in git by the `canonical` branch, which the Canon Keeper confirms.
|
|
32
|
-
|
|
33
|
-
### 2. Workshop: one per host or partition
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
__WORKSHOP/
|
|
37
|
-
├── .BOS/ internal, mandatory: workshop.json Taskfile.yaml .omnis.toml package.json Dockerfile compose.yaml
|
|
38
|
-
│ ├── setup/ keys, VPN, routing, DNS/SSH aliases, tokens, setternet/ (mandatory)
|
|
39
|
-
│ ├── data/ e.g. <pack>.gitlist
|
|
40
|
-
│ ├── nests/ container/VM volumes; always .index.json + .manifest.json (mandatory)
|
|
41
|
-
│ └── storylines/ ttystories/ logs/ manifests/ metadata.json (created during use)
|
|
42
|
-
├── devarmory/ tools: manifest-listed, auto-downloaded, checksum-verified, linked to PATH/desktop
|
|
43
|
-
├── forge/ active work (the desk): <scope>/<project|sheme>, throwbox; defines the working branch
|
|
44
|
-
├── craftbook/ knowledge: scrapnotes/, craftsets, collections, recipes
|
|
45
|
-
└── archive/ at rest: sarcophags, exhibits, <pack>/<mirror>
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
The four crafting areas and `.BOS/` must always exist; BOS creates them at
|
|
49
|
-
boot. Older layouts had `.SETUP`, `.DATA`, `.NESTRELM`, `.STORYLINES` and
|
|
50
|
-
`.__BOS` as separate top-level dirs, `~/.__WORKSHOP` as the root, and `notes/`
|
|
51
|
-
or scrapbook instead of craftbook.
|
|
52
|
-
|
|
53
|
-
Views (dashboards over CLI, web, mobile, Chrome extension, Electron, OpenAPI,
|
|
54
|
-
MCP, with one shared handler class) has no settled location yet.
|
|
55
|
-
|
|
56
|
-
### Modes of work (`.BOS/workshop.json` → "mode"; `bos mode`)
|
|
57
|
-
|
|
58
|
-
1 ALMANAC: emergency (sinking) · 2 CONFORM: establish, migrate, clean, verify,
|
|
59
|
-
sync workshops · 3 SMELTRY: code, development, publishing changes ·
|
|
60
|
-
4 COMMANDORATE: rules, privileges, roles, mode switching · 5 PROVISION:
|
|
61
|
-
presenting what a source of truth (e.g. GitHub) delivers. Defaults for a new
|
|
62
|
-
workshop: role `forging-point`, mode `conform` (`resources/workshop.default.json`;
|
|
63
|
-
null = not set → default). Commands declare
|
|
64
|
-
their mode in `index.json`; `bos help` groups them. Glossary: mode.md.
|
|
65
|
-
|
|
66
|
-
### 3. Elements
|
|
67
|
-
|
|
68
|
-
- **scope** (formerly superproject): a private repository with submodules,
|
|
69
|
-
holding a family of projects and shemes plus a throwbox. Synced through a
|
|
70
|
-
self-hosted server (e.g. Gitea) that also keeps pre-public drafts.
|
|
71
|
-
- **project:** one concrete project repository.
|
|
72
|
-
- **sheme:** source material that isn't code: graphics/GIMP, Blender/CAD, photos,
|
|
73
|
-
templates, third-party reference docs. A design template is a sheme; the code
|
|
74
|
-
realizing it is a project. (The old scrapnote used sheme for processing
|
|
75
|
-
routes: HF uploaders, publish and deploy routines. Unresolved.)
|
|
76
|
-
- **throwbox:** automated collector of loose files per scope; swept on close into an anonymous sarcophag.
|
|
77
|
-
- **sarcophag:** encrypted container holding one bare repository (archive).
|
|
78
|
-
- **exhibit:** view built from sarcophags (archive). [`TODO`]
|
|
79
|
-
- **scrapnote:** any note not yet promoted to a document; changelogs and release notes stay scrapnotes.
|
|
80
|
-
- **craftset:** reusable kit of notes, notebooks, one-off scripts and session
|
|
81
|
-
setup; mandatory `.omnis.toml`, `metadata.json`, `manifest.json`, `Taskfile.yaml`.
|
|
82
|
-
- **collection**, **postroad:** meaning unresolved.
|
|
83
|
-
|
|
84
|
-
**Element anatomy** (pattern awaiting confirmation): a directory plus descriptor
|
|
85
|
-
files: `metadata.json` (identity/origin), `manifest.json` (checksums/integrity),
|
|
86
|
-
`.index.json` (map), `Taskfile.yaml` (procedures), `.omnis.toml` ([`TODO`]).
|
|
87
|
-
|
|
88
|
-
## Lifecycles
|
|
89
|
-
|
|
90
|
-
- work: forge → archive (sarcophag) → canon monolith
|
|
91
|
-
- loose files: throwbox → anonymous sarcophag → sorted, reused or deleted
|
|
92
|
-
- notes: scrapnote → document (or stays a scrapnote)
|
|
93
|
-
- tools: manifest → download → verify checksum → link
|
|
94
|
-
|
|
95
|
-
## Storylines naming
|
|
96
|
-
|
|
97
|
-
`ttystory.txt`, `ttystory-$UNIXUSAT.txt`, `ttystory-$HOSTNAME-$UNIXUSAT.txt`.
|
|
98
|
-
`UNIXUSAT` = Unix timestamp in milliseconds. The purpose is to reuse command
|
|
99
|
-
patterns and to teach AI to use the shell the BOS way.
|
|
100
|
-
|
|
101
|
-
## Ideas on record
|
|
102
|
-
|
|
103
|
-
Autocommit on save; GIMP history bound to VCS (a branch per session, a commit
|
|
104
|
-
per action); releases trigger social media posts; Taskfile + Husky + a standard
|
|
105
|
-
command set; history proven via OpenTimestamps.
|
|
106
|
-
|
|
107
|
-
## Branches and versioning
|
|
108
|
-
|
|
109
|
-
Every repository (docs/infographics/branch-movement-procedures.md): `master`
|
|
110
|
-
(spine of canon) → `developement` (here we code) → `revision` (approval) →
|
|
111
|
-
`testing` (QA, nightly builds) → `releasing` (stamp, publish, announce) →
|
|
112
|
-
`master` via pull request. Rejections go back to `developement`.
|
|
113
|
-
The old core repo additionally has `drafting`, `moderation`, `publishing` and
|
|
114
|
-
`dev/<topic>`; their place in the flow: [`TODO`]
|
|
115
|
-
|
|
116
|
-
Versioning is `{G}.{R}.{I}.{H}`: Generation, Reconstruction, Integration, Hooking.
|
|
117
|
-
|
|
118
|
-
## Related repositories
|
|
119
|
-
|
|
120
|
-
Apps: bos-desktop, bos-mobile, bos-server, bos-gui, bos-vscode-extension.
|
|
121
|
-
Components: `Sarverott/bos.<component>`. Library: carnival-toolbox.
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Locate BOS workshops. First line: active workshop root.
|
|
3
|
-
# Remaining lines: all other workshops found (home + /media partitions).
|
|
4
|
-
set -euo pipefail
|
|
5
|
-
|
|
6
|
-
active=""
|
|
7
|
-
|
|
8
|
-
if [[ -n "${BOS_WORKSHOP:-}" && -d "$BOS_WORKSHOP" ]]; then
|
|
9
|
-
active="$BOS_WORKSHOP"
|
|
10
|
-
else
|
|
11
|
-
dir="$PWD"
|
|
12
|
-
while [[ "$dir" != "/" ]]; do
|
|
13
|
-
if [[ "$(basename "$dir")" == "__WORKSHOP" ]]; then
|
|
14
|
-
active="$dir"
|
|
15
|
-
break
|
|
16
|
-
fi
|
|
17
|
-
dir="$(dirname "$dir")"
|
|
18
|
-
done
|
|
19
|
-
fi
|
|
20
|
-
|
|
21
|
-
if [[ -z "$active" && -d "$HOME/__WORKSHOP" ]]; then
|
|
22
|
-
active="$HOME/__WORKSHOP"
|
|
23
|
-
fi
|
|
24
|
-
|
|
25
|
-
[[ -n "$active" ]] && echo "$active"
|
|
26
|
-
|
|
27
|
-
{
|
|
28
|
-
[[ -d "$HOME/__WORKSHOP" ]] && echo "$HOME/__WORKSHOP"
|
|
29
|
-
[[ -d /media ]] && find /media -maxdepth 4 -type d -name __WORKSHOP 2>/dev/null
|
|
30
|
-
} | sort -u | grep -vxF "${active:-/nonexistent}" || true
|
package/src/agent-hook.mjs
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// Claude Code hooks → BOS (hooks/hooks.json). Reads the hook's JSON from stdin.
|
|
3
|
-
// session-start prints a short brief (becomes the agent's context) and records the session
|
|
4
|
-
// bash appends the agent's shell command to its ttystory in storylines
|
|
5
|
-
// session-end records the end of the session
|
|
6
|
-
// Loads no bridges, so it stays fast; never fails the agent (always exits 0).
|
|
7
|
-
import { brief, recordAgentCommand, recordAgentEvent } from "./views/agent/_index.mjs";
|
|
8
|
-
|
|
9
|
-
const event = process.argv[2];
|
|
10
|
-
let input = {};
|
|
11
|
-
try {
|
|
12
|
-
const chunks = [];
|
|
13
|
-
for await (const chunk of process.stdin) chunks.push(chunk);
|
|
14
|
-
input = JSON.parse(Buffer.concat(chunks).toString("utf8") || "{}");
|
|
15
|
-
} catch {}
|
|
16
|
-
|
|
17
|
-
try {
|
|
18
|
-
if (event === "session-start") {
|
|
19
|
-
const text = await brief(input);
|
|
20
|
-
if (text) process.stdout.write(text);
|
|
21
|
-
await recordAgentEvent(input, "agent-session-start");
|
|
22
|
-
} else if (event === "bash") {
|
|
23
|
-
await recordAgentCommand(input);
|
|
24
|
-
} else if (event === "session-end") {
|
|
25
|
-
await recordAgentEvent(input, "agent-session-end");
|
|
26
|
-
}
|
|
27
|
-
} catch {}
|
|
28
|
-
process.exit(0);
|
package/src/bridge/_index.mjs
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
// Every bridge, by name. Each one shapes an outside system into plain methods.
|
|
2
|
-
import BosInstancesLink from "./bos-instances-link/_index.mjs";
|
|
3
|
-
import DockerHost from "./docker-host/_index.mjs";
|
|
4
|
-
import DockerPublish from "./docker-publish/_index.mjs";
|
|
5
|
-
import GitClient from "./git-client/_index.mjs";
|
|
6
|
-
import GiteaApi from "./gitea-api/_index.mjs";
|
|
7
|
-
import GithubApi from "./github-api/_index.mjs";
|
|
8
|
-
import NpmPublish from "./npm-publish/_index.mjs";
|
|
9
|
-
import OllamaLink from "./ollama-link/_index.mjs";
|
|
10
|
-
import SshLink from "./ssh-link/_index.mjs";
|
|
11
|
-
import SubprocessRunner from "./subprocess-runner/_index.mjs";
|
|
12
|
-
|
|
13
|
-
export default {
|
|
14
|
-
subprocessRunner: SubprocessRunner,
|
|
15
|
-
dockerHost: DockerHost,
|
|
16
|
-
dockerPublish: DockerPublish,
|
|
17
|
-
gitClient: GitClient,
|
|
18
|
-
giteaApi: GiteaApi,
|
|
19
|
-
githubApi: GithubApi,
|
|
20
|
-
npmPublish: NpmPublish,
|
|
21
|
-
ollamaLink: OllamaLink,
|
|
22
|
-
sshLink: SshLink,
|
|
23
|
-
BOSLINK: BosInstancesLink,
|
|
24
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// Links between BOS instances of one setternet (glossary: setternet, host-role).
|
|
2
|
-
// [TODO] transport and protocol are not decided yet; this names the handler.
|
|
3
|
-
import { BOS } from "../../main.ts";
|
|
4
|
-
|
|
5
|
-
export class BosInstancesLink extends BOS.Bridge {
|
|
6
|
-
static id = "bos-instances-link";
|
|
7
|
-
|
|
8
|
-
async available() {
|
|
9
|
-
return false;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
// hosts known to this workshop, from .BOS/setup/setternet/ [TODO] format
|
|
13
|
-
hosts() {
|
|
14
|
-
return [];
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export default BosInstancesLink;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
// The docker host (local socket or $DOCKER_HOST) through dockerode.
|
|
2
|
-
// const docker = new DockerHost(); await docker.containers.list()
|
|
3
|
-
import Docker from "dockerode";
|
|
4
|
-
|
|
5
|
-
import { BOS } from "../../main.ts";
|
|
6
|
-
import * as container from "./container.mjs";
|
|
7
|
-
import * as image from "./image.mjs";
|
|
8
|
-
import * as volume from "./volume.mjs";
|
|
9
|
-
|
|
10
|
-
// bind every helper to this host's client: containers.run(image, …)
|
|
11
|
-
const bound = (bridge, helpers) =>
|
|
12
|
-
Object.fromEntries(
|
|
13
|
-
Object.entries(helpers).map(([name, helper]) => [name, (...args) => helper(bridge.client, ...args)]),
|
|
14
|
-
);
|
|
15
|
-
|
|
16
|
-
export class DockerHost extends BOS.Bridge {
|
|
17
|
-
static id = "docker-host";
|
|
18
|
-
|
|
19
|
-
connect() {
|
|
20
|
-
return new Docker(this.options); // no options: $DOCKER_HOST or /var/run/docker.sock
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
async available() {
|
|
24
|
-
try {
|
|
25
|
-
await this.client.ping();
|
|
26
|
-
return true;
|
|
27
|
-
} catch {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
get containers() {
|
|
33
|
-
return bound(this, container);
|
|
34
|
-
}
|
|
35
|
-
get images() {
|
|
36
|
-
return bound(this, image);
|
|
37
|
-
}
|
|
38
|
-
get volumes() {
|
|
39
|
-
return bound(this, volume);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export default DockerHost;
|