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.
Files changed (491) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +77 -70
  3. package/dist/bridges/git.d.ts +9 -0
  4. package/dist/bridges/git.js +30 -0
  5. package/dist/bridges/git.js.map +1 -0
  6. package/dist/bridges/github.d.ts +28 -0
  7. package/dist/bridges/github.js +71 -0
  8. package/dist/bridges/github.js.map +1 -0
  9. package/dist/cli.d.ts +2 -0
  10. package/dist/cli.js +53 -0
  11. package/dist/cli.js.map +1 -0
  12. package/dist/core/context.d.ts +18 -0
  13. package/dist/core/context.js +14 -0
  14. package/dist/core/context.js.map +1 -0
  15. package/dist/core/element.d.ts +49 -0
  16. package/dist/core/element.js +97 -0
  17. package/dist/core/element.js.map +1 -0
  18. package/dist/core/host.d.ts +32 -0
  19. package/dist/core/host.js +5 -0
  20. package/dist/core/host.js.map +1 -0
  21. package/dist/core/paths.d.ts +5 -0
  22. package/dist/core/paths.js +42 -0
  23. package/dist/core/paths.js.map +1 -0
  24. package/dist/core/procedure.d.ts +11 -0
  25. package/dist/core/procedure.js +24 -0
  26. package/dist/core/procedure.js.map +1 -0
  27. package/dist/core/tool.d.ts +33 -0
  28. package/dist/core/tool.js +44 -0
  29. package/dist/core/tool.js.map +1 -0
  30. package/dist/core/version.d.ts +6 -0
  31. package/dist/core/version.js +37 -0
  32. package/dist/core/version.js.map +1 -0
  33. package/dist/hosts/node.d.ts +21 -0
  34. package/dist/hosts/node.js +76 -0
  35. package/dist/hosts/node.js.map +1 -0
  36. package/dist/hosts/watch-tree.d.ts +8 -0
  37. package/dist/hosts/watch-tree.js +86 -0
  38. package/dist/hosts/watch-tree.js.map +1 -0
  39. package/dist/index.d.ts +14 -0
  40. package/dist/index.js +18 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/main.d.ts +55 -0
  43. package/dist/main.js +99 -0
  44. package/dist/main.js.map +1 -0
  45. package/dist/models/_index.d.ts +20 -0
  46. package/dist/models/_index.js +22 -0
  47. package/dist/models/_index.js.map +1 -0
  48. package/dist/models/archive/class.d.ts +5 -0
  49. package/dist/models/archive/class.js +7 -0
  50. package/dist/models/archive/class.js.map +1 -0
  51. package/dist/models/authors/entry.d.ts +20 -0
  52. package/dist/models/authors/entry.js +73 -0
  53. package/dist/models/authors/entry.js.map +1 -0
  54. package/dist/models/authors/file.d.ts +9 -0
  55. package/dist/models/authors/file.js +19 -0
  56. package/dist/models/authors/file.js.map +1 -0
  57. package/dist/models/craftbook/class.d.ts +10 -0
  58. package/dist/models/craftbook/class.js +13 -0
  59. package/dist/models/craftbook/class.js.map +1 -0
  60. package/dist/models/devarmory/class.d.ts +11 -0
  61. package/dist/models/devarmory/class.js +8 -0
  62. package/dist/models/devarmory/class.js.map +1 -0
  63. package/dist/models/devlog/class.d.ts +19 -0
  64. package/dist/models/devlog/class.js +61 -0
  65. package/dist/models/devlog/class.js.map +1 -0
  66. package/dist/models/forge/class.d.ts +9 -0
  67. package/dist/models/forge/class.js +24 -0
  68. package/dist/models/forge/class.js.map +1 -0
  69. package/dist/models/loop/class.d.ts +16 -0
  70. package/dist/models/loop/class.js +56 -0
  71. package/dist/models/loop/class.js.map +1 -0
  72. package/dist/models/loop/data.d.ts +12 -0
  73. package/dist/models/loop/data.js +20 -0
  74. package/dist/models/loop/data.js.map +1 -0
  75. package/dist/models/loop/load.d.ts +5 -0
  76. package/dist/models/loop/load.js +14 -0
  77. package/dist/models/loop/load.js.map +1 -0
  78. package/dist/models/project/anatomy.d.ts +2 -0
  79. package/dist/models/project/anatomy.js +15 -0
  80. package/dist/models/project/anatomy.js.map +1 -0
  81. package/dist/models/project/around.d.ts +3 -0
  82. package/dist/models/project/around.js +13 -0
  83. package/dist/models/project/around.js.map +1 -0
  84. package/dist/models/project/class.d.ts +21 -0
  85. package/dist/models/project/class.js +23 -0
  86. package/dist/models/project/class.js.map +1 -0
  87. package/dist/models/project/git.d.ts +8 -0
  88. package/dist/models/project/git.js +26 -0
  89. package/dist/models/project/git.js.map +1 -0
  90. package/dist/models/project/version.d.ts +6 -0
  91. package/dist/models/project/version.js +23 -0
  92. package/dist/models/project/version.js.map +1 -0
  93. package/dist/models/scope/class.d.ts +21 -0
  94. package/dist/models/scope/class.js +49 -0
  95. package/dist/models/scope/class.js.map +1 -0
  96. package/dist/models/settings/data.d.ts +12 -0
  97. package/dist/models/settings/data.js +9 -0
  98. package/dist/models/settings/data.js.map +1 -0
  99. package/dist/models/settings/load.d.ts +9 -0
  100. package/dist/models/settings/load.js +32 -0
  101. package/dist/models/settings/load.js.map +1 -0
  102. package/dist/models/system/class.d.ts +16 -0
  103. package/dist/models/system/class.js +21 -0
  104. package/dist/models/system/class.js.map +1 -0
  105. package/dist/models/system/parts.d.ts +21 -0
  106. package/dist/models/system/parts.js +22 -0
  107. package/dist/models/system/parts.js.map +1 -0
  108. package/dist/models/system/storylines.d.ts +39 -0
  109. package/dist/models/system/storylines.js +42 -0
  110. package/dist/models/system/storylines.js.map +1 -0
  111. package/dist/models/workshop/class.d.ts +20 -0
  112. package/dist/models/workshop/class.js +43 -0
  113. package/dist/models/workshop/class.js.map +1 -0
  114. package/dist/models/workshop/locate.d.ts +16 -0
  115. package/dist/models/workshop/locate.js +54 -0
  116. package/dist/models/workshop/locate.js.map +1 -0
  117. package/dist/procedures/_index.d.ts +8 -0
  118. package/dist/procedures/_index.js +11 -0
  119. package/dist/procedures/_index.js.map +1 -0
  120. package/dist/procedures/automerging/_index.d.ts +4 -0
  121. package/dist/procedures/automerging/_index.js +8 -0
  122. package/dist/procedures/automerging/_index.js.map +1 -0
  123. package/dist/procedures/automerging/context.d.ts +11 -0
  124. package/dist/procedures/automerging/context.js +2 -0
  125. package/dist/procedures/automerging/context.js.map +1 -0
  126. package/dist/procedures/automerging/steps.d.ts +4 -0
  127. package/dist/procedures/automerging/steps.js +34 -0
  128. package/dist/procedures/automerging/steps.js.map +1 -0
  129. package/dist/procedures/bootstrapping/_index.d.ts +4 -0
  130. package/dist/procedures/bootstrapping/_index.js +8 -0
  131. package/dist/procedures/bootstrapping/_index.js.map +1 -0
  132. package/dist/procedures/bootstrapping/context.d.ts +5 -0
  133. package/dist/procedures/bootstrapping/context.js +2 -0
  134. package/dist/procedures/bootstrapping/context.js.map +1 -0
  135. package/dist/procedures/bootstrapping/ensure-tree.d.ts +2 -0
  136. package/dist/procedures/bootstrapping/ensure-tree.js +5 -0
  137. package/dist/procedures/bootstrapping/ensure-tree.js.map +1 -0
  138. package/dist/procedures/bootstrapping/record.d.ts +2 -0
  139. package/dist/procedures/bootstrapping/record.js +12 -0
  140. package/dist/procedures/bootstrapping/record.js.map +1 -0
  141. package/dist/procedures/bumping/_index.d.ts +4 -0
  142. package/dist/procedures/bumping/_index.js +9 -0
  143. package/dist/procedures/bumping/_index.js.map +1 -0
  144. package/dist/procedures/bumping/context.d.ts +18 -0
  145. package/dist/procedures/bumping/context.js +4 -0
  146. package/dist/procedures/bumping/context.js.map +1 -0
  147. package/dist/procedures/bumping/steps.d.ts +4 -0
  148. package/dist/procedures/bumping/steps.js +50 -0
  149. package/dist/procedures/bumping/steps.js.map +1 -0
  150. package/dist/procedures/crediting/_index.d.ts +4 -0
  151. package/dist/procedures/crediting/_index.js +9 -0
  152. package/dist/procedures/crediting/_index.js.map +1 -0
  153. package/dist/procedures/crediting/context.d.ts +17 -0
  154. package/dist/procedures/crediting/context.js +4 -0
  155. package/dist/procedures/crediting/context.js.map +1 -0
  156. package/dist/procedures/crediting/steps.d.ts +4 -0
  157. package/dist/procedures/crediting/steps.js +51 -0
  158. package/dist/procedures/crediting/steps.js.map +1 -0
  159. package/dist/procedures/inspecting/_index.d.ts +4 -0
  160. package/dist/procedures/inspecting/_index.js +11 -0
  161. package/dist/procedures/inspecting/_index.js.map +1 -0
  162. package/dist/procedures/inspecting/judge.d.ts +2 -0
  163. package/dist/procedures/inspecting/judge.js +6 -0
  164. package/dist/procedures/inspecting/judge.js.map +1 -0
  165. package/dist/procedures/inspecting/read-areas.d.ts +2 -0
  166. package/dist/procedures/inspecting/read-areas.js +5 -0
  167. package/dist/procedures/inspecting/read-areas.js.map +1 -0
  168. package/dist/procedures/inspecting/read-forge.d.ts +2 -0
  169. package/dist/procedures/inspecting/read-forge.js +14 -0
  170. package/dist/procedures/inspecting/read-forge.js.map +1 -0
  171. package/dist/procedures/inspecting/report.d.ts +32 -0
  172. package/dist/procedures/inspecting/report.js +11 -0
  173. package/dist/procedures/inspecting/report.js.map +1 -0
  174. package/dist/procedures/inspecting/rules.d.ts +12 -0
  175. package/dist/procedures/inspecting/rules.js +75 -0
  176. package/dist/procedures/inspecting/rules.js.map +1 -0
  177. package/dist/procedures/proposing/_index.d.ts +4 -0
  178. package/dist/procedures/proposing/_index.js +9 -0
  179. package/dist/procedures/proposing/_index.js.map +1 -0
  180. package/dist/procedures/proposing/context.d.ts +16 -0
  181. package/dist/procedures/proposing/context.js +4 -0
  182. package/dist/procedures/proposing/context.js.map +1 -0
  183. package/dist/procedures/proposing/steps.d.ts +4 -0
  184. package/dist/procedures/proposing/steps.js +46 -0
  185. package/dist/procedures/proposing/steps.js.map +1 -0
  186. package/dist/procedures/versioning/_index.d.ts +16 -0
  187. package/dist/procedures/versioning/_index.js +22 -0
  188. package/dist/procedures/versioning/_index.js.map +1 -0
  189. package/dist/procedures/watching/_index.d.ts +5 -0
  190. package/dist/procedures/watching/_index.js +9 -0
  191. package/dist/procedures/watching/_index.js.map +1 -0
  192. package/dist/procedures/watching/classify.d.ts +5 -0
  193. package/dist/procedures/watching/classify.js +30 -0
  194. package/dist/procedures/watching/classify.js.map +1 -0
  195. package/dist/procedures/watching/context.d.ts +21 -0
  196. package/dist/procedures/watching/context.js +2 -0
  197. package/dist/procedures/watching/context.js.map +1 -0
  198. package/dist/procedures/watching/start.d.ts +2 -0
  199. package/dist/procedures/watching/start.js +24 -0
  200. package/dist/procedures/watching/start.js.map +1 -0
  201. package/dist/procedures/watching/wait.d.ts +2 -0
  202. package/dist/procedures/watching/wait.js +12 -0
  203. package/dist/procedures/watching/wait.js.map +1 -0
  204. package/dist/tools/_index.d.ts +3 -0
  205. package/dist/tools/_index.js +25 -0
  206. package/dist/tools/_index.js.map +1 -0
  207. package/dist/tools/devlog.d.ts +1 -0
  208. package/dist/tools/devlog.js +43 -0
  209. package/dist/tools/devlog.js.map +1 -0
  210. package/dist/tools/flow.d.ts +1 -0
  211. package/dist/tools/flow.js +81 -0
  212. package/dist/tools/flow.js.map +1 -0
  213. package/dist/tools/project.d.ts +1 -0
  214. package/dist/tools/project.js +18 -0
  215. package/dist/tools/project.js.map +1 -0
  216. package/dist/tools/scope.d.ts +1 -0
  217. package/dist/tools/scope.js +51 -0
  218. package/dist/tools/scope.js.map +1 -0
  219. package/dist/tools/version.d.ts +1 -0
  220. package/dist/tools/version.js +23 -0
  221. package/dist/tools/version.js.map +1 -0
  222. package/dist/tools/workshop.d.ts +1 -0
  223. package/dist/tools/workshop.js +56 -0
  224. package/dist/tools/workshop.js.map +1 -0
  225. package/dist/views/devlog.d.ts +15 -0
  226. package/dist/views/devlog.js +31 -0
  227. package/dist/views/devlog.js.map +1 -0
  228. package/dist/views/event.d.ts +2 -0
  229. package/dist/views/event.js +6 -0
  230. package/dist/views/event.js.map +1 -0
  231. package/dist/views/flow.d.ts +12 -0
  232. package/dist/views/flow.js +26 -0
  233. package/dist/views/flow.js.map +1 -0
  234. package/dist/views/help.d.ts +2 -0
  235. package/dist/views/help.js +22 -0
  236. package/dist/views/help.js.map +1 -0
  237. package/dist/views/project.d.ts +2 -0
  238. package/dist/views/project.js +11 -0
  239. package/dist/views/project.js.map +1 -0
  240. package/dist/views/status.d.ts +5 -0
  241. package/dist/views/status.js +50 -0
  242. package/dist/views/status.js.map +1 -0
  243. package/package.json +31 -54
  244. package/resources/cli-art/big-logo-title.txt +24 -0
  245. package/resources/cli-art/big-shortcut-logo-title.txt +10 -0
  246. package/resources/cli-art/medium-logo-title.txt +13 -0
  247. package/resources/cli-art/minimenu-header.ptxml +13 -0
  248. package/resources/cli-art/minimenu-header.txt +11 -0
  249. package/resources/cli-art/small-logo-title.txt +10 -0
  250. package/resources/cli-art/wellcome.txt +10 -0
  251. package/resources/docs-templates/Home.md +7 -0
  252. package/resources/docs-templates/README.md +14 -0
  253. package/resources/docs-templates/_Footer.md +1 -0
  254. package/resources/docs-templates/_Sidebar.md +7 -0
  255. package/.claude-plugin/marketplace.json +0 -17
  256. package/.claude-plugin/mcp.json +0 -8
  257. package/.claude-plugin/plugin.json +0 -16
  258. package/AGENTS.md +0 -114
  259. package/CLAUDE.md +0 -1
  260. package/bin/bos +0 -3
  261. package/hooks/hooks.json +0 -40
  262. package/resources/house/HOUSE.md +0 -22
  263. package/resources/house/bloodlines.json +0 -35
  264. package/resources/house/children/deepseeks-of-anubis.json +0 -4
  265. package/resources/house/children/eon.json +0 -7
  266. package/resources/house/children/hermetic-officer.json +0 -1
  267. package/resources/house/children/ifrit.json +0 -1
  268. package/resources/house/children/license-keepers.json +0 -4
  269. package/resources/house/children/sebas.json +0 -10
  270. package/resources/house/children/shakespeare.json +0 -10
  271. package/resources/house/orders/ravensarmy.json +0 -6
  272. package/resources/house/orders/seiaic-ucdi.json +0 -5
  273. package/resources/ravens/skryba.md +0 -19
  274. package/resources/workshop-root/AGENTS.md +0 -92
  275. package/resources/workshop-root/CLAUDE.md +0 -1
  276. package/resources/workshop.default.json +0 -6
  277. package/skills/bos-archive/SKILL.md +0 -28
  278. package/skills/bos-craftbook/SKILL.md +0 -32
  279. package/skills/bos-craftset/SKILL.md +0 -36
  280. package/skills/bos-devarmory/SKILL.md +0 -34
  281. package/skills/bos-exhibit/SKILL.md +0 -28
  282. package/skills/bos-forge/SKILL.md +0 -28
  283. package/skills/bos-house/SKILL.md +0 -52
  284. package/skills/bos-project/SKILL.md +0 -27
  285. package/skills/bos-sarcophag/SKILL.md +0 -26
  286. package/skills/bos-scope/SKILL.md +0 -33
  287. package/skills/bos-sheme/SKILL.md +0 -38
  288. package/skills/bos-throwbox/SKILL.md +0 -27
  289. package/skills/bos-workshop/SKILL.md +0 -65
  290. package/skills/bos-workshop/assets/.gitkeep +0 -0
  291. package/skills/bos-workshop/references/bos-codebase.md +0 -116
  292. package/skills/bos-workshop/references/bos-concept.md +0 -121
  293. package/skills/bos-workshop/scripts/find-workshop.sh +0 -30
  294. package/src/agent-hook.mjs +0 -28
  295. package/src/bridge/_index.mjs +0 -24
  296. package/src/bridge/bos-instances-link/_index.mjs +0 -18
  297. package/src/bridge/docker-host/_index.mjs +0 -43
  298. package/src/bridge/docker-host/container.mjs +0 -32
  299. package/src/bridge/docker-host/image.mjs +0 -23
  300. package/src/bridge/docker-host/volume.mjs +0 -12
  301. package/src/bridge/docker-publish/_index.mjs +0 -24
  302. package/src/bridge/git-client/_index.mjs +0 -121
  303. package/src/bridge/git-client/author.mjs +0 -26
  304. package/src/bridge/gitea-api/_index.mjs +0 -62
  305. package/src/bridge/github-api/_index.mjs +0 -45
  306. package/src/bridge/npm-publish/_index.mjs +0 -19
  307. package/src/bridge/ollama-link/_index.mjs +0 -93
  308. package/src/bridge/ollama-link/ravens.mjs +0 -29
  309. package/src/bridge/ssh-link/_index.mjs +0 -33
  310. package/src/bridge/subprocess-runner/_index.mjs +0 -33
  311. package/src/cli.mjs +0 -29
  312. package/src/commands/_index.mjs +0 -51
  313. package/src/commands/bootstrap/exec.mjs +0 -7
  314. package/src/commands/bootstrap/help.md +0 -5
  315. package/src/commands/bootstrap/index.json +0 -7
  316. package/src/commands/close/exec.mjs +0 -4
  317. package/src/commands/close/help.md +0 -5
  318. package/src/commands/close/index.json +0 -7
  319. package/src/commands/describe/exec.mjs +0 -11
  320. package/src/commands/describe/help.md +0 -5
  321. package/src/commands/describe/index.json +0 -7
  322. package/src/commands/help/exec.mjs +0 -6
  323. package/src/commands/help/help.md +0 -3
  324. package/src/commands/help/index.json +0 -6
  325. package/src/commands/hook/exec.mjs +0 -3
  326. package/src/commands/hook/help.md +0 -4
  327. package/src/commands/hook/index.json +0 -7
  328. package/src/commands/hooks/exec.mjs +0 -5
  329. package/src/commands/hooks/help.md +0 -4
  330. package/src/commands/hooks/index.json +0 -7
  331. package/src/commands/house/exec.mjs +0 -8
  332. package/src/commands/house/help.md +0 -8
  333. package/src/commands/house/index.json +0 -7
  334. package/src/commands/locate/exec.mjs +0 -2
  335. package/src/commands/locate/help.md +0 -6
  336. package/src/commands/locate/index.json +0 -6
  337. package/src/commands/mode/exec.mjs +0 -17
  338. package/src/commands/mode/help.md +0 -14
  339. package/src/commands/mode/index.json +0 -8
  340. package/src/commands/mode/repl.mjs +0 -18
  341. package/src/commands/open/exec.mjs +0 -5
  342. package/src/commands/open/help.md +0 -4
  343. package/src/commands/open/index.json +0 -7
  344. package/src/commands/promote/exec.mjs +0 -5
  345. package/src/commands/promote/help.md +0 -6
  346. package/src/commands/promote/index.json +0 -7
  347. package/src/commands/repl/exec.mjs +0 -3
  348. package/src/commands/repl/help.md +0 -4
  349. package/src/commands/repl/index.json +0 -6
  350. package/src/commands/seal/exec.mjs +0 -8
  351. package/src/commands/seal/help.md +0 -4
  352. package/src/commands/seal/index.json +0 -7
  353. package/src/commands/sink/exec.mjs +0 -2
  354. package/src/commands/sink/help.md +0 -6
  355. package/src/commands/sink/index.json +0 -7
  356. package/src/commands/skills/exec.mjs +0 -5
  357. package/src/commands/skills/help.md +0 -5
  358. package/src/commands/skills/index.json +0 -7
  359. package/src/commands/status/exec.mjs +0 -2
  360. package/src/commands/status/help.md +0 -6
  361. package/src/commands/status/index.json +0 -7
  362. package/src/commands/status/repl.mjs +0 -14
  363. package/src/commands/verify/exec.mjs +0 -9
  364. package/src/commands/verify/help.md +0 -4
  365. package/src/commands/verify/index.json +0 -7
  366. package/src/controllers/_index.mjs +0 -5
  367. package/src/controllers/skills-controll.mjs +0 -13
  368. package/src/controllers/workshop-controll.mjs +0 -48
  369. package/src/core/basic-bridge.mjs +0 -29
  370. package/src/core/basic-controll.mjs +0 -26
  371. package/src/core/basic-element.mjs +0 -149
  372. package/src/core/basic-model.mjs +0 -7
  373. package/src/core/basic-procedure.mjs +0 -37
  374. package/src/core/basic-submodule.mjs +0 -21
  375. package/src/core/basic-view.mjs +0 -21
  376. package/src/core/self.mjs +0 -10
  377. package/src/index.mjs +0 -24
  378. package/src/main.ts +0 -82
  379. package/src/mcp.mjs +0 -8
  380. package/src/models/_index.mjs +0 -43
  381. package/src/models/archive/class.mjs +0 -9
  382. package/src/models/craftbook/class.mjs +0 -11
  383. package/src/models/craftbook/hang.scrapnotes.mjs +0 -10
  384. package/src/models/craftset/class.mjs +0 -14
  385. package/src/models/devarmory/class.mjs +0 -10
  386. package/src/models/exhibit/class.mjs +0 -8
  387. package/src/models/forge/class.mjs +0 -19
  388. package/src/models/house/bloodlines.mjs +0 -27
  389. package/src/models/house/class.mjs +0 -53
  390. package/src/models/house/groups.mjs +0 -38
  391. package/src/models/project/anatomy.mjs +0 -11
  392. package/src/models/project/class.mjs +0 -20
  393. package/src/models/sarcophag/class.mjs +0 -8
  394. package/src/models/scope/class.mjs +0 -19
  395. package/src/models/sheme/class.mjs +0 -8
  396. package/src/models/throwbox/class.mjs +0 -9
  397. package/src/models/workshop/class.mjs +0 -30
  398. package/src/models/workshop/hang.data.mjs +0 -10
  399. package/src/models/workshop/hang.nests.mjs +0 -14
  400. package/src/models/workshop/hang.setup.mjs +0 -10
  401. package/src/models/workshop/hang.storylines.logs.mjs +0 -10
  402. package/src/models/workshop/hang.storylines.manifests.mjs +0 -10
  403. package/src/models/workshop/hang.storylines.mjs +0 -39
  404. package/src/models/workshop/hang.storylines.ttystories.mjs +0 -10
  405. package/src/models/workshop/hang.system.mjs +0 -25
  406. package/src/models/workshop/host-roles.mjs +0 -9
  407. package/src/models/workshop/locate.mjs +0 -60
  408. package/src/models/workshop/modes.mjs +0 -31
  409. package/src/models/workshop/taskfile.mjs +0 -21
  410. package/src/procedures/_index.mjs +0 -32
  411. package/src/procedures/agent-recording/_index.mjs +0 -34
  412. package/src/procedures/agent-recording/situate.mjs +0 -11
  413. package/src/procedures/bootstrapping/DESCRIPTION.md +0 -6
  414. package/src/procedures/bootstrapping/_index.mjs +0 -13
  415. package/src/procedures/bootstrapping/deploy-guides.mjs +0 -15
  416. package/src/procedures/bootstrapping/ensure-tree.mjs +0 -4
  417. package/src/procedures/closing/DESCRIPTION.md +0 -6
  418. package/src/procedures/closing/_index.mjs +0 -11
  419. package/src/procedures/closing/capture-ttystory.mjs +0 -14
  420. package/src/procedures/closing/record-closing.mjs +0 -6
  421. package/src/procedures/describing/DESCRIPTION.md +0 -23
  422. package/src/procedures/describing/_index.mjs +0 -15
  423. package/src/procedures/describing/ask-skryba.mjs +0 -82
  424. package/src/procedures/describing/compose-message.mjs +0 -25
  425. package/src/procedures/describing/read-staged.mjs +0 -7
  426. package/src/procedures/describing/scopes.mjs +0 -38
  427. package/src/procedures/describing/staged-diff.mjs +0 -25
  428. package/src/procedures/describing/write-message.mjs +0 -15
  429. package/src/procedures/gathering/DESCRIPTION.md +0 -13
  430. package/src/procedures/gathering/_index.mjs +0 -13
  431. package/src/procedures/gathering/list-served.mjs +0 -9
  432. package/src/procedures/gathering/merge-residents.mjs +0 -31
  433. package/src/procedures/gathering/read-registry.mjs +0 -7
  434. package/src/procedures/hooking/DESCRIPTION.md +0 -6
  435. package/src/procedures/hooking/_index.mjs +0 -12
  436. package/src/procedures/hooking/hooks.mjs +0 -10
  437. package/src/procedures/hooking/install-hooks.mjs +0 -34
  438. package/src/procedures/hooking/record-hook.mjs +0 -13
  439. package/src/procedures/inspecting/DESCRIPTION.md +0 -3
  440. package/src/procedures/inspecting/_index.mjs +0 -9
  441. package/src/procedures/loading/DESCRIPTION.md +0 -4
  442. package/src/procedures/loading/_index.mjs +0 -15
  443. package/src/procedures/loading/load-config.mjs +0 -16
  444. package/src/procedures/loading/validate-mode.mjs +0 -8
  445. package/src/procedures/loading/validate-role.mjs +0 -8
  446. package/src/procedures/locating/DESCRIPTION.md +0 -6
  447. package/src/procedures/locating/_index.mjs +0 -13
  448. package/src/procedures/locating/locate-self.mjs +0 -7
  449. package/src/procedures/locating/locate-workshop.mjs +0 -16
  450. package/src/procedures/locating/read-environment.mjs +0 -12
  451. package/src/procedures/mode-switching/DESCRIPTION.md +0 -7
  452. package/src/procedures/mode-switching/_index.mjs +0 -10
  453. package/src/procedures/mode-switching/record-mode.mjs +0 -8
  454. package/src/procedures/mode-switching/switch-mode.mjs +0 -16
  455. package/src/procedures/opening/DESCRIPTION.md +0 -6
  456. package/src/procedures/opening/_index.mjs +0 -8
  457. package/src/procedures/opening/record-opening.mjs +0 -4
  458. package/src/procedures/promoting/DESCRIPTION.md +0 -8
  459. package/src/procedures/promoting/_index.mjs +0 -14
  460. package/src/procedures/promoting/apply.mjs +0 -28
  461. package/src/procedures/promoting/branch-flow.mjs +0 -23
  462. package/src/procedures/promoting/plan.mjs +0 -14
  463. package/src/procedures/promoting/read-position.mjs +0 -15
  464. package/src/procedures/sinking/DESCRIPTION.md +0 -8
  465. package/src/procedures/sinking/_index.mjs +0 -12
  466. package/src/procedures/sinking/inventory-forge.mjs +0 -18
  467. package/src/procedures/sinking/inventory-tools.mjs +0 -7
  468. package/src/procedures/skilling/DESCRIPTION.md +0 -11
  469. package/src/procedures/skilling/_index.mjs +0 -15
  470. package/src/procedures/skilling/collect-models.mjs +0 -15
  471. package/src/procedures/skilling/compose-skill.mjs +0 -49
  472. package/src/procedures/skilling/glossary.mjs +0 -23
  473. package/src/procedures/skilling/register-skills.mjs +0 -21
  474. package/src/procedures/skilling/write-skills.mjs +0 -19
  475. package/src/views/_index.mjs +0 -23
  476. package/src/views/agent/_index.mjs +0 -2
  477. package/src/views/agent/brief.mjs +0 -34
  478. package/src/views/help/_index.mjs +0 -41
  479. package/src/views/house/_index.mjs +0 -56
  480. package/src/views/inventory/_index.mjs +0 -27
  481. package/src/views/mcp/_index.mjs +0 -31
  482. package/src/views/mcp/tools.mjs +0 -87
  483. package/src/views/mode/_index.mjs +0 -34
  484. package/src/views/mode/chooser.mjs +0 -37
  485. package/src/views/promotion/_index.mjs +0 -20
  486. package/src/views/repl/_index.mjs +0 -30
  487. package/src/views/skills/_index.mjs +0 -24
  488. package/src/views/status/_index.mjs +0 -57
  489. package/src/views/status/tree.mjs +0 -19
  490. package/src/views/terminal/paint.mjs +0 -22
  491. 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
@@ -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);
@@ -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;