onyx-vault 1.0.1__tar.gz

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 (427) hide show
  1. onyx_vault-1.0.1/.claude/commands/vault-bootstrap.md +7 -0
  2. onyx_vault-1.0.1/.claude-plugin/marketplace.json +17 -0
  3. onyx_vault-1.0.1/.editorconfig +18 -0
  4. onyx_vault-1.0.1/.gitattributes +6 -0
  5. onyx_vault-1.0.1/.github/workflows/ci.yml +34 -0
  6. onyx_vault-1.0.1/.github/workflows/publish.yml +55 -0
  7. onyx_vault-1.0.1/.gitignore +19 -0
  8. onyx_vault-1.0.1/CONTRIBUTING.md +46 -0
  9. onyx_vault-1.0.1/KICKSTART.md +551 -0
  10. onyx_vault-1.0.1/LICENSE +21 -0
  11. onyx_vault-1.0.1/PKG-INFO +99 -0
  12. onyx_vault-1.0.1/README.md +83 -0
  13. onyx_vault-1.0.1/RELEASING.md +69 -0
  14. onyx_vault-1.0.1/adapters/README.md +12 -0
  15. onyx_vault-1.0.1/adapters/claude-code/README.md +11 -0
  16. onyx_vault-1.0.1/core/conventions/authoring.md +43 -0
  17. onyx_vault-1.0.1/core/conventions/frontmatter.md +35 -0
  18. onyx_vault-1.0.1/core/conventions/naming.md +37 -0
  19. onyx_vault-1.0.1/core/onyx/__init__.py +12 -0
  20. onyx_vault-1.0.1/core/onyx/adapters.py +244 -0
  21. onyx_vault-1.0.1/core/onyx/adopt.py +184 -0
  22. onyx_vault-1.0.1/core/onyx/applier.py +127 -0
  23. onyx_vault-1.0.1/core/onyx/cli.py +933 -0
  24. onyx_vault-1.0.1/core/onyx/config_edit.py +111 -0
  25. onyx_vault-1.0.1/core/onyx/configio.py +219 -0
  26. onyx_vault-1.0.1/core/onyx/doctor.py +152 -0
  27. onyx_vault-1.0.1/core/onyx/errors.py +46 -0
  28. onyx_vault-1.0.1/core/onyx/external.py +104 -0
  29. onyx_vault-1.0.1/core/onyx/fsio.py +88 -0
  30. onyx_vault-1.0.1/core/onyx/intent.py +191 -0
  31. onyx_vault-1.0.1/core/onyx/interview.py +319 -0
  32. onyx_vault-1.0.1/core/onyx/lockio.py +78 -0
  33. onyx_vault-1.0.1/core/onyx/manifests.py +347 -0
  34. onyx_vault-1.0.1/core/onyx/model.py +181 -0
  35. onyx_vault-1.0.1/core/onyx/paths.py +73 -0
  36. onyx_vault-1.0.1/core/onyx/planner.py +263 -0
  37. onyx_vault-1.0.1/core/onyx/render.py +110 -0
  38. onyx_vault-1.0.1/core/onyx/repo.py +90 -0
  39. onyx_vault-1.0.1/core/onyx/resolve.py +114 -0
  40. onyx_vault-1.0.1/core/onyx/sources.py +159 -0
  41. onyx_vault-1.0.1/core/onyx/yamlio.py +31 -0
  42. onyx_vault-1.0.1/examples/README.md +11 -0
  43. onyx_vault-1.0.1/examples/fitness-focused/.claude/agents/daily-planner.md +35 -0
  44. onyx_vault-1.0.1/examples/fitness-focused/.claude/agents/fitness-coach.md +41 -0
  45. onyx_vault-1.0.1/examples/fitness-focused/.claude/skills/daily-notes/SKILL.md +34 -0
  46. onyx_vault-1.0.1/examples/fitness-focused/.claude/skills/fitness-review/SKILL.md +32 -0
  47. onyx_vault-1.0.1/examples/fitness-focused/.claude/skills/vault-bootstrap/SKILL.md +56 -0
  48. onyx_vault-1.0.1/examples/fitness-focused/.claude/skills/vault-conventions/SKILL.md +24 -0
  49. onyx_vault-1.0.1/examples/fitness-focused/.claude/skills/vault-conventions/frontmatter.md +35 -0
  50. onyx_vault-1.0.1/examples/fitness-focused/.claude/skills/vault-conventions/naming.md +37 -0
  51. onyx_vault-1.0.1/examples/fitness-focused/.vault/config.yaml +14 -0
  52. onyx_vault-1.0.1/examples/fitness-focused/.vault/lock.json +269 -0
  53. onyx_vault-1.0.1/examples/fitness-focused/Fitness/00 Dashboard.md +44 -0
  54. onyx_vault-1.0.1/examples/fitness-focused/Fitness/Goals.md +43 -0
  55. onyx_vault-1.0.1/examples/fitness-focused/Fitness/Nutrition/Strategy.md +40 -0
  56. onyx_vault-1.0.1/examples/fitness-focused/Fitness/Recurring Tasks.md +14 -0
  57. onyx_vault-1.0.1/examples/fitness-focused/Fitness/Tracking/Bodyweight.base +43 -0
  58. onyx_vault-1.0.1/examples/fitness-focused/Fitness/Training/Training-Log.base +37 -0
  59. onyx_vault-1.0.1/examples/fitness-focused/Home.md +27 -0
  60. onyx_vault-1.0.1/examples/fitness-focused/Start-Here.md +27 -0
  61. onyx_vault-1.0.1/examples/fitness-focused/Templates/Daily/Daily Note.md +69 -0
  62. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Bodyweight Log.md +24 -0
  63. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Exercise Note.md +33 -0
  64. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Food Note.md +30 -0
  65. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Health Note.md +23 -0
  66. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Knowledge Note.md +30 -0
  67. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Meal Plan.md +33 -0
  68. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Measurement Check-In.md +23 -0
  69. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Monthly Review.md +34 -0
  70. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Recipe Note.md +30 -0
  71. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Recovery Note.md +24 -0
  72. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Supplement Note.md +30 -0
  73. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Weekly Review.md +39 -0
  74. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Workout Log.md +41 -0
  75. onyx_vault-1.0.1/examples/fitness-focused/Templates/Fitness/Workout Plan.md +44 -0
  76. onyx_vault-1.0.1/examples/fitness-focused/Templates/Note.md +7 -0
  77. onyx_vault-1.0.1/examples/minimal/.claude/skills/vault-bootstrap/SKILL.md +56 -0
  78. onyx_vault-1.0.1/examples/minimal/.claude/skills/vault-conventions/SKILL.md +24 -0
  79. onyx_vault-1.0.1/examples/minimal/.claude/skills/vault-conventions/frontmatter.md +35 -0
  80. onyx_vault-1.0.1/examples/minimal/.claude/skills/vault-conventions/naming.md +37 -0
  81. onyx_vault-1.0.1/examples/minimal/.vault/config.yaml +12 -0
  82. onyx_vault-1.0.1/examples/minimal/.vault/lock.json +69 -0
  83. onyx_vault-1.0.1/examples/minimal/Home.md +27 -0
  84. onyx_vault-1.0.1/examples/minimal/Start-Here.md +23 -0
  85. onyx_vault-1.0.1/examples/minimal/Templates/Note.md +7 -0
  86. onyx_vault-1.0.1/examples/phd-student/.claude/agents/daily-planner.md +35 -0
  87. onyx_vault-1.0.1/examples/phd-student/.claude/agents/reading-triager.md +35 -0
  88. onyx_vault-1.0.1/examples/phd-student/.claude/agents/research-librarian.md +39 -0
  89. onyx_vault-1.0.1/examples/phd-student/.claude/agents/study-coach.md +36 -0
  90. onyx_vault-1.0.1/examples/phd-student/.claude/skills/daily-notes/SKILL.md +34 -0
  91. onyx_vault-1.0.1/examples/phd-student/.claude/skills/exam-prep/SKILL.md +30 -0
  92. onyx_vault-1.0.1/examples/phd-student/.claude/skills/paper-pipeline/SKILL.md +31 -0
  93. onyx_vault-1.0.1/examples/phd-student/.claude/skills/reading-triage/SKILL.md +23 -0
  94. onyx_vault-1.0.1/examples/phd-student/.claude/skills/vault-bootstrap/SKILL.md +56 -0
  95. onyx_vault-1.0.1/examples/phd-student/.claude/skills/vault-conventions/SKILL.md +24 -0
  96. onyx_vault-1.0.1/examples/phd-student/.claude/skills/vault-conventions/frontmatter.md +35 -0
  97. onyx_vault-1.0.1/examples/phd-student/.claude/skills/vault-conventions/naming.md +37 -0
  98. onyx_vault-1.0.1/examples/phd-student/.vault/config.yaml +16 -0
  99. onyx_vault-1.0.1/examples/phd-student/.vault/lock.json +301 -0
  100. onyx_vault-1.0.1/examples/phd-student/Academic/Courses/_Course-Template/00 Overview.md +32 -0
  101. onyx_vault-1.0.1/examples/phd-student/Academic/Courses/_Course-Template/01 Syllabus.md +31 -0
  102. onyx_vault-1.0.1/examples/phd-student/Academic/Courses/_Course-Template/02 Schedule.md +28 -0
  103. onyx_vault-1.0.1/examples/phd-student/Academic/Courses/_Course-Template/Exam-Prep/Exam-Study.base +53 -0
  104. onyx_vault-1.0.1/examples/phd-student/Academic/Research/00 Paper Dashboard.md +30 -0
  105. onyx_vault-1.0.1/examples/phd-student/Academic/Research/Paper Library.base +134 -0
  106. onyx_vault-1.0.1/examples/phd-student/Home.md +27 -0
  107. onyx_vault-1.0.1/examples/phd-student/Reading/00 Dashboard.md +25 -0
  108. onyx_vault-1.0.1/examples/phd-student/Reading/Reading-Pipeline.base +68 -0
  109. onyx_vault-1.0.1/examples/phd-student/Start-Here.md +31 -0
  110. onyx_vault-1.0.1/examples/phd-student/Templates/Academic/Course Note.md +26 -0
  111. onyx_vault-1.0.1/examples/phd-student/Templates/Daily/Daily Note.md +69 -0
  112. onyx_vault-1.0.1/examples/phd-student/Templates/Note.md +7 -0
  113. onyx_vault-1.0.1/examples/phd-student/Templates/Reading/Article Note.md +38 -0
  114. onyx_vault-1.0.1/examples/phd-student/Templates/Reading/Evergreen Note.md +29 -0
  115. onyx_vault-1.0.1/examples/phd-student/Templates/Reading/Quick Capture.md +31 -0
  116. onyx_vault-1.0.1/examples/phd-student/Templates/Research/Paper Summary - Attack.md +90 -0
  117. onyx_vault-1.0.1/examples/phd-student/Templates/Research/Paper Summary - Construction.md +98 -0
  118. onyx_vault-1.0.1/examples/phd-student/Templates/Research/Paper Summary - Engineering.md +99 -0
  119. onyx_vault-1.0.1/examples/phd-student/Templates/Research/Paper Summary - Foundations.md +93 -0
  120. onyx_vault-1.0.1/examples/phd-student/Templates/Research/Paper Summary - Framework.md +90 -0
  121. onyx_vault-1.0.1/examples/phd-student/Templates/Research/Paper Summary - Protocol.md +108 -0
  122. onyx_vault-1.0.1/examples/phd-student/Templates/Research/Paper Summary - Survey.md +106 -0
  123. onyx_vault-1.0.1/examples/phd-student/Templates/Research/Paper Summary.md +342 -0
  124. onyx_vault-1.0.1/examples/researcher-developer/.claude/agents/daily-planner.md +35 -0
  125. onyx_vault-1.0.1/examples/researcher-developer/.claude/agents/fitness-coach.md +41 -0
  126. onyx_vault-1.0.1/examples/researcher-developer/.claude/agents/oss-scout.md +36 -0
  127. onyx_vault-1.0.1/examples/researcher-developer/.claude/agents/project-steward.md +36 -0
  128. onyx_vault-1.0.1/examples/researcher-developer/.claude/agents/reading-triager.md +35 -0
  129. onyx_vault-1.0.1/examples/researcher-developer/.claude/agents/research-librarian.md +39 -0
  130. onyx_vault-1.0.1/examples/researcher-developer/.claude/agents/study-coach.md +36 -0
  131. onyx_vault-1.0.1/examples/researcher-developer/.claude/skills/daily-notes/SKILL.md +34 -0
  132. onyx_vault-1.0.1/examples/researcher-developer/.claude/skills/devlogs/SKILL.md +27 -0
  133. onyx_vault-1.0.1/examples/researcher-developer/.claude/skills/exam-prep/SKILL.md +30 -0
  134. onyx_vault-1.0.1/examples/researcher-developer/.claude/skills/fitness-review/SKILL.md +32 -0
  135. onyx_vault-1.0.1/examples/researcher-developer/.claude/skills/oss-tracking/SKILL.md +22 -0
  136. onyx_vault-1.0.1/examples/researcher-developer/.claude/skills/paper-pipeline/SKILL.md +31 -0
  137. onyx_vault-1.0.1/examples/researcher-developer/.claude/skills/reading-triage/SKILL.md +23 -0
  138. onyx_vault-1.0.1/examples/researcher-developer/.claude/skills/vault-bootstrap/SKILL.md +56 -0
  139. onyx_vault-1.0.1/examples/researcher-developer/.claude/skills/vault-conventions/SKILL.md +24 -0
  140. onyx_vault-1.0.1/examples/researcher-developer/.claude/skills/vault-conventions/frontmatter.md +35 -0
  141. onyx_vault-1.0.1/examples/researcher-developer/.claude/skills/vault-conventions/naming.md +37 -0
  142. onyx_vault-1.0.1/examples/researcher-developer/.vault/config.yaml +19 -0
  143. onyx_vault-1.0.1/examples/researcher-developer/.vault/lock.json +581 -0
  144. onyx_vault-1.0.1/examples/researcher-developer/Academic/Courses/_Course-Template/00 Overview.md +32 -0
  145. onyx_vault-1.0.1/examples/researcher-developer/Academic/Courses/_Course-Template/01 Syllabus.md +31 -0
  146. onyx_vault-1.0.1/examples/researcher-developer/Academic/Courses/_Course-Template/02 Schedule.md +28 -0
  147. onyx_vault-1.0.1/examples/researcher-developer/Academic/Courses/_Course-Template/Exam-Prep/Exam-Study.base +53 -0
  148. onyx_vault-1.0.1/examples/researcher-developer/Academic/Research/00 Paper Dashboard.md +30 -0
  149. onyx_vault-1.0.1/examples/researcher-developer/Academic/Research/Paper Library.base +134 -0
  150. onyx_vault-1.0.1/examples/researcher-developer/Fitness/00 Dashboard.md +44 -0
  151. onyx_vault-1.0.1/examples/researcher-developer/Fitness/Goals.md +43 -0
  152. onyx_vault-1.0.1/examples/researcher-developer/Fitness/Nutrition/Strategy.md +40 -0
  153. onyx_vault-1.0.1/examples/researcher-developer/Fitness/Recurring Tasks.md +14 -0
  154. onyx_vault-1.0.1/examples/researcher-developer/Fitness/Tracking/Bodyweight.base +43 -0
  155. onyx_vault-1.0.1/examples/researcher-developer/Fitness/Training/Training-Log.base +37 -0
  156. onyx_vault-1.0.1/examples/researcher-developer/Home.md +27 -0
  157. onyx_vault-1.0.1/examples/researcher-developer/Projects/Software/OSS-Contributing.base +60 -0
  158. onyx_vault-1.0.1/examples/researcher-developer/Projects/Software/OSS-Watchlist.base +57 -0
  159. onyx_vault-1.0.1/examples/researcher-developer/Projects/Software/Project-Tasks.base +47 -0
  160. onyx_vault-1.0.1/examples/researcher-developer/Projects/Software/_Project-Template/00 Overview.md +40 -0
  161. onyx_vault-1.0.1/examples/researcher-developer/Reading/00 Dashboard.md +25 -0
  162. onyx_vault-1.0.1/examples/researcher-developer/Reading/Reading-Pipeline.base +68 -0
  163. onyx_vault-1.0.1/examples/researcher-developer/Start-Here.md +37 -0
  164. onyx_vault-1.0.1/examples/researcher-developer/Templates/Academic/Course Note.md +26 -0
  165. onyx_vault-1.0.1/examples/researcher-developer/Templates/Daily/Daily Note.md +69 -0
  166. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Bodyweight Log.md +24 -0
  167. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Exercise Note.md +33 -0
  168. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Food Note.md +30 -0
  169. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Health Note.md +23 -0
  170. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Knowledge Note.md +30 -0
  171. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Meal Plan.md +33 -0
  172. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Measurement Check-In.md +23 -0
  173. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Monthly Review.md +34 -0
  174. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Recipe Note.md +30 -0
  175. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Recovery Note.md +24 -0
  176. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Supplement Note.md +30 -0
  177. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Weekly Review.md +39 -0
  178. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Workout Log.md +41 -0
  179. onyx_vault-1.0.1/examples/researcher-developer/Templates/Fitness/Workout Plan.md +44 -0
  180. onyx_vault-1.0.1/examples/researcher-developer/Templates/Note.md +7 -0
  181. onyx_vault-1.0.1/examples/researcher-developer/Templates/OSS/OSS-Contributing.md +44 -0
  182. onyx_vault-1.0.1/examples/researcher-developer/Templates/OSS/OSS-Watch.md +38 -0
  183. onyx_vault-1.0.1/examples/researcher-developer/Templates/Projects/Devlog Entry.md +26 -0
  184. onyx_vault-1.0.1/examples/researcher-developer/Templates/Projects/Feature Note.md +35 -0
  185. onyx_vault-1.0.1/examples/researcher-developer/Templates/Projects/Task Note.md +33 -0
  186. onyx_vault-1.0.1/examples/researcher-developer/Templates/Reading/Article Note.md +38 -0
  187. onyx_vault-1.0.1/examples/researcher-developer/Templates/Reading/Evergreen Note.md +29 -0
  188. onyx_vault-1.0.1/examples/researcher-developer/Templates/Reading/Quick Capture.md +31 -0
  189. onyx_vault-1.0.1/examples/researcher-developer/Templates/Research/Paper Summary - Attack.md +90 -0
  190. onyx_vault-1.0.1/examples/researcher-developer/Templates/Research/Paper Summary - Construction.md +98 -0
  191. onyx_vault-1.0.1/examples/researcher-developer/Templates/Research/Paper Summary - Engineering.md +99 -0
  192. onyx_vault-1.0.1/examples/researcher-developer/Templates/Research/Paper Summary - Foundations.md +93 -0
  193. onyx_vault-1.0.1/examples/researcher-developer/Templates/Research/Paper Summary - Framework.md +90 -0
  194. onyx_vault-1.0.1/examples/researcher-developer/Templates/Research/Paper Summary - Protocol.md +108 -0
  195. onyx_vault-1.0.1/examples/researcher-developer/Templates/Research/Paper Summary - Survey.md +106 -0
  196. onyx_vault-1.0.1/examples/researcher-developer/Templates/Research/Paper Summary.md +342 -0
  197. onyx_vault-1.0.1/examples/student/.claude/agents/daily-planner.md +35 -0
  198. onyx_vault-1.0.1/examples/student/.claude/agents/study-coach.md +36 -0
  199. onyx_vault-1.0.1/examples/student/.claude/skills/daily-notes/SKILL.md +34 -0
  200. onyx_vault-1.0.1/examples/student/.claude/skills/exam-prep/SKILL.md +30 -0
  201. onyx_vault-1.0.1/examples/student/.claude/skills/vault-bootstrap/SKILL.md +56 -0
  202. onyx_vault-1.0.1/examples/student/.claude/skills/vault-conventions/SKILL.md +24 -0
  203. onyx_vault-1.0.1/examples/student/.claude/skills/vault-conventions/frontmatter.md +35 -0
  204. onyx_vault-1.0.1/examples/student/.claude/skills/vault-conventions/naming.md +37 -0
  205. onyx_vault-1.0.1/examples/student/.vault/config.yaml +14 -0
  206. onyx_vault-1.0.1/examples/student/.vault/lock.json +149 -0
  207. onyx_vault-1.0.1/examples/student/Academic/Courses/_Course-Template/00 Overview.md +32 -0
  208. onyx_vault-1.0.1/examples/student/Academic/Courses/_Course-Template/01 Syllabus.md +31 -0
  209. onyx_vault-1.0.1/examples/student/Academic/Courses/_Course-Template/02 Schedule.md +28 -0
  210. onyx_vault-1.0.1/examples/student/Academic/Courses/_Course-Template/Exam-Prep/Exam-Study.base +53 -0
  211. onyx_vault-1.0.1/examples/student/Home.md +27 -0
  212. onyx_vault-1.0.1/examples/student/Start-Here.md +27 -0
  213. onyx_vault-1.0.1/examples/student/Templates/Academic/Course Note.md +26 -0
  214. onyx_vault-1.0.1/examples/student/Templates/Daily/Daily Note.md +69 -0
  215. onyx_vault-1.0.1/examples/student/Templates/Note.md +7 -0
  216. onyx_vault-1.0.1/examples/writer/.claude/agents/daily-planner.md +35 -0
  217. onyx_vault-1.0.1/examples/writer/.claude/agents/reading-triager.md +35 -0
  218. onyx_vault-1.0.1/examples/writer/.claude/skills/daily-notes/SKILL.md +34 -0
  219. onyx_vault-1.0.1/examples/writer/.claude/skills/reading-triage/SKILL.md +23 -0
  220. onyx_vault-1.0.1/examples/writer/.claude/skills/vault-bootstrap/SKILL.md +56 -0
  221. onyx_vault-1.0.1/examples/writer/.claude/skills/vault-conventions/SKILL.md +24 -0
  222. onyx_vault-1.0.1/examples/writer/.claude/skills/vault-conventions/frontmatter.md +35 -0
  223. onyx_vault-1.0.1/examples/writer/.claude/skills/vault-conventions/naming.md +37 -0
  224. onyx_vault-1.0.1/examples/writer/.vault/config.yaml +15 -0
  225. onyx_vault-1.0.1/examples/writer/.vault/lock.json +221 -0
  226. onyx_vault-1.0.1/examples/writer/Home.md +27 -0
  227. onyx_vault-1.0.1/examples/writer/Reading/00 Dashboard.md +25 -0
  228. onyx_vault-1.0.1/examples/writer/Reading/Reading-Pipeline.base +68 -0
  229. onyx_vault-1.0.1/examples/writer/Start-Here.md +29 -0
  230. onyx_vault-1.0.1/examples/writer/Templates/Blog/Blog Draft.md +44 -0
  231. onyx_vault-1.0.1/examples/writer/Templates/Blog/Blog Idea.md +36 -0
  232. onyx_vault-1.0.1/examples/writer/Templates/Blog/Blog Research Note.md +37 -0
  233. onyx_vault-1.0.1/examples/writer/Templates/Blog/Published Post.md +38 -0
  234. onyx_vault-1.0.1/examples/writer/Templates/Blog/Series Note.md +36 -0
  235. onyx_vault-1.0.1/examples/writer/Templates/Daily/Daily Note.md +69 -0
  236. onyx_vault-1.0.1/examples/writer/Templates/Note.md +7 -0
  237. onyx_vault-1.0.1/examples/writer/Templates/Reading/Article Note.md +38 -0
  238. onyx_vault-1.0.1/examples/writer/Templates/Reading/Evergreen Note.md +29 -0
  239. onyx_vault-1.0.1/examples/writer/Templates/Reading/Quick Capture.md +31 -0
  240. onyx_vault-1.0.1/examples/writer/Writing/Blog/00 Dashboard.md +37 -0
  241. onyx_vault-1.0.1/examples/writer/Writing/Blog/Blog-Pipeline.base +68 -0
  242. onyx_vault-1.0.1/examples/writer/Writing/Blog/Content-Backlog.md +29 -0
  243. onyx_vault-1.0.1/examples/writer/Writing/Blog/Editorial-Calendar.md +25 -0
  244. onyx_vault-1.0.1/modules/academic/agents/study-coach.yaml +23 -0
  245. onyx_vault-1.0.1/modules/academic/assets/Templates/Academic/Course Note.md +26 -0
  246. onyx_vault-1.0.1/modules/academic/assets/{{root}}/Courses/_Course-Template/00 Overview.md +32 -0
  247. onyx_vault-1.0.1/modules/academic/assets/{{root}}/Courses/_Course-Template/01 Syllabus.md +31 -0
  248. onyx_vault-1.0.1/modules/academic/assets/{{root}}/Courses/_Course-Template/02 Schedule.md +28 -0
  249. onyx_vault-1.0.1/modules/academic/assets/{{root}}/Courses/_Course-Template/Exam-Prep/Exam-Study.base +53 -0
  250. onyx_vault-1.0.1/modules/academic/docs/README.md +21 -0
  251. onyx_vault-1.0.1/modules/academic/module.yaml +38 -0
  252. onyx_vault-1.0.1/modules/academic/skills/exam-prep/SKILL.md +30 -0
  253. onyx_vault-1.0.1/modules/ai-workspace/assets/{{root}}/00 Dashboard.md +19 -0
  254. onyx_vault-1.0.1/modules/ai-workspace/docs/README.md +5 -0
  255. onyx_vault-1.0.1/modules/ai-workspace/module.yaml +20 -0
  256. onyx_vault-1.0.1/modules/core/assets/Home.md +27 -0
  257. onyx_vault-1.0.1/modules/core/assets/Templates/Note.md +7 -0
  258. onyx_vault-1.0.1/modules/core/docs/README.md +9 -0
  259. onyx_vault-1.0.1/modules/core/module.yaml +18 -0
  260. onyx_vault-1.0.1/modules/core/skills/vault-bootstrap/SKILL.md +56 -0
  261. onyx_vault-1.0.1/modules/core/skills/vault-conventions/SKILL.md +24 -0
  262. onyx_vault-1.0.1/modules/core/skills/vault-conventions/frontmatter.md +35 -0
  263. onyx_vault-1.0.1/modules/core/skills/vault-conventions/naming.md +37 -0
  264. onyx_vault-1.0.1/modules/daily-notes/agents/daily-planner.yaml +23 -0
  265. onyx_vault-1.0.1/modules/daily-notes/assets/Templates/Daily/Daily Note.md +69 -0
  266. onyx_vault-1.0.1/modules/daily-notes/docs/README.md +20 -0
  267. onyx_vault-1.0.1/modules/daily-notes/module.yaml +29 -0
  268. onyx_vault-1.0.1/modules/daily-notes/skills/daily-notes/SKILL.md +34 -0
  269. onyx_vault-1.0.1/modules/fitness/agents/fitness-coach.yaml +29 -0
  270. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Bodyweight Log.md +24 -0
  271. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Exercise Note.md +33 -0
  272. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Food Note.md +30 -0
  273. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Health Note.md +23 -0
  274. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Knowledge Note.md +30 -0
  275. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Meal Plan.md +33 -0
  276. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Measurement Check-In.md +23 -0
  277. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Monthly Review.md +34 -0
  278. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Recipe Note.md +30 -0
  279. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Recovery Note.md +24 -0
  280. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Supplement Note.md +30 -0
  281. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Weekly Review.md +39 -0
  282. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Workout Log.md +41 -0
  283. onyx_vault-1.0.1/modules/fitness/assets/Templates/Fitness/Workout Plan.md +44 -0
  284. onyx_vault-1.0.1/modules/fitness/assets/{{root}}/00 Dashboard.md +44 -0
  285. onyx_vault-1.0.1/modules/fitness/assets/{{root}}/Goals.md +43 -0
  286. onyx_vault-1.0.1/modules/fitness/assets/{{root}}/Nutrition/Strategy.md +40 -0
  287. onyx_vault-1.0.1/modules/fitness/assets/{{root}}/Recurring Tasks.md +14 -0
  288. onyx_vault-1.0.1/modules/fitness/assets/{{root}}/Tracking/Bodyweight.base +43 -0
  289. onyx_vault-1.0.1/modules/fitness/assets/{{root}}/Training/Training-Log.base +37 -0
  290. onyx_vault-1.0.1/modules/fitness/docs/README.md +32 -0
  291. onyx_vault-1.0.1/modules/fitness/module.yaml +57 -0
  292. onyx_vault-1.0.1/modules/fitness/skills/fitness-review/SKILL.md +32 -0
  293. onyx_vault-1.0.1/modules/music/assets/Templates/Music/Composition Idea.md +34 -0
  294. onyx_vault-1.0.1/modules/music/assets/Templates/Music/Exercise Note.md +31 -0
  295. onyx_vault-1.0.1/modules/music/assets/Templates/Music/Knowledge Note.md +35 -0
  296. onyx_vault-1.0.1/modules/music/assets/Templates/Music/Listening Note.md +40 -0
  297. onyx_vault-1.0.1/modules/music/assets/Templates/Music/Lyric Note.md +33 -0
  298. onyx_vault-1.0.1/modules/music/assets/Templates/Music/Practice Log.md +38 -0
  299. onyx_vault-1.0.1/modules/music/assets/Templates/Music/Practice Routine.md +34 -0
  300. onyx_vault-1.0.1/modules/music/assets/Templates/Music/Production Note.md +38 -0
  301. onyx_vault-1.0.1/modules/music/assets/Templates/Music/Review Note.md +34 -0
  302. onyx_vault-1.0.1/modules/music/assets/Templates/Music/Song Note.md +41 -0
  303. onyx_vault-1.0.1/modules/music/assets/Templates/Music/Theory Note.md +37 -0
  304. onyx_vault-1.0.1/modules/music/assets/{{root}}/00 Dashboard.md +34 -0
  305. onyx_vault-1.0.1/modules/music/assets/{{root}}/Goals.md +42 -0
  306. onyx_vault-1.0.1/modules/music/assets/{{root}}/Practice/Practice-Log.base +37 -0
  307. onyx_vault-1.0.1/modules/music/assets/{{root}}/Projects/_Project-Template/00 Overview.md +34 -0
  308. onyx_vault-1.0.1/modules/music/assets/{{root}}/Projects/_Project-Template/01 Vision.md +28 -0
  309. onyx_vault-1.0.1/modules/music/assets/{{root}}/Projects/_Project-Template/02 Roadmap.md +27 -0
  310. onyx_vault-1.0.1/modules/music/assets/{{root}}/Projects/_Project-Template/03 Notes.md +40 -0
  311. onyx_vault-1.0.1/modules/music/assets/{{root}}/Projects/_Project-Template/04 Decisions.md +22 -0
  312. onyx_vault-1.0.1/modules/music/docs/README.md +7 -0
  313. onyx_vault-1.0.1/modules/music/module.yaml +57 -0
  314. onyx_vault-1.0.1/modules/oss/agents/oss-scout.yaml +24 -0
  315. onyx_vault-1.0.1/modules/oss/assets/Templates/OSS/OSS-Contributing.md +44 -0
  316. onyx_vault-1.0.1/modules/oss/assets/Templates/OSS/OSS-Watch.md +38 -0
  317. onyx_vault-1.0.1/modules/oss/assets/{{root}}/OSS-Contributing.base +60 -0
  318. onyx_vault-1.0.1/modules/oss/assets/{{root}}/OSS-Watchlist.base +57 -0
  319. onyx_vault-1.0.1/modules/oss/docs/README.md +10 -0
  320. onyx_vault-1.0.1/modules/oss/module.yaml +28 -0
  321. onyx_vault-1.0.1/modules/oss/skills/oss-tracking/SKILL.md +22 -0
  322. onyx_vault-1.0.1/modules/projects-gamedev/assets/Templates/Game-Dev/Game Idea.md +50 -0
  323. onyx_vault-1.0.1/modules/projects-gamedev/assets/Templates/Game-Dev/Mechanic Note.md +42 -0
  324. onyx_vault-1.0.1/modules/projects-gamedev/assets/{{root}}/_Game-Template/00 Overview.md +60 -0
  325. onyx_vault-1.0.1/modules/projects-gamedev/assets/{{root}}/_Game-Template/01 Vision.md +42 -0
  326. onyx_vault-1.0.1/modules/projects-gamedev/assets/{{root}}/_Game-Template/02 Roadmap.md +52 -0
  327. onyx_vault-1.0.1/modules/projects-gamedev/assets/{{root}}/_Game-Template/03 Tech Design.md +48 -0
  328. onyx_vault-1.0.1/modules/projects-gamedev/assets/{{root}}/_Game-Template/04 Decisions.md +31 -0
  329. onyx_vault-1.0.1/modules/projects-gamedev/docs/README.md +11 -0
  330. onyx_vault-1.0.1/modules/projects-gamedev/module.yaml +37 -0
  331. onyx_vault-1.0.1/modules/projects-software/agents/project-steward.yaml +23 -0
  332. onyx_vault-1.0.1/modules/projects-software/assets/Templates/Projects/Devlog Entry.md +26 -0
  333. onyx_vault-1.0.1/modules/projects-software/assets/Templates/Projects/Feature Note.md +35 -0
  334. onyx_vault-1.0.1/modules/projects-software/assets/Templates/Projects/Task Note.md +33 -0
  335. onyx_vault-1.0.1/modules/projects-software/assets/{{root}}/Project-Tasks.base +47 -0
  336. onyx_vault-1.0.1/modules/projects-software/assets/{{root}}/_Project-Template/00 Overview.md +40 -0
  337. onyx_vault-1.0.1/modules/projects-software/docs/README.md +20 -0
  338. onyx_vault-1.0.1/modules/projects-software/module.yaml +33 -0
  339. onyx_vault-1.0.1/modules/projects-software/skills/devlogs/SKILL.md +27 -0
  340. onyx_vault-1.0.1/modules/reading/agents/reading-triager.yaml +22 -0
  341. onyx_vault-1.0.1/modules/reading/assets/Templates/Reading/Article Note.md +38 -0
  342. onyx_vault-1.0.1/modules/reading/assets/Templates/Reading/Evergreen Note.md +29 -0
  343. onyx_vault-1.0.1/modules/reading/assets/Templates/Reading/Quick Capture.md +31 -0
  344. onyx_vault-1.0.1/modules/reading/assets/{{root}}/00 Dashboard.md +25 -0
  345. onyx_vault-1.0.1/modules/reading/assets/{{root}}/Reading-Pipeline.base +68 -0
  346. onyx_vault-1.0.1/modules/reading/docs/README.md +19 -0
  347. onyx_vault-1.0.1/modules/reading/module.yaml +32 -0
  348. onyx_vault-1.0.1/modules/reading/skills/reading-triage/SKILL.md +23 -0
  349. onyx_vault-1.0.1/modules/research/agents/research-librarian.yaml +27 -0
  350. onyx_vault-1.0.1/modules/research/assets/Templates/Research/Paper Summary - Attack.md +90 -0
  351. onyx_vault-1.0.1/modules/research/assets/Templates/Research/Paper Summary - Construction.md +98 -0
  352. onyx_vault-1.0.1/modules/research/assets/Templates/Research/Paper Summary - Engineering.md +99 -0
  353. onyx_vault-1.0.1/modules/research/assets/Templates/Research/Paper Summary - Foundations.md +93 -0
  354. onyx_vault-1.0.1/modules/research/assets/Templates/Research/Paper Summary - Framework.md +90 -0
  355. onyx_vault-1.0.1/modules/research/assets/Templates/Research/Paper Summary - Protocol.md +108 -0
  356. onyx_vault-1.0.1/modules/research/assets/Templates/Research/Paper Summary - Survey.md +106 -0
  357. onyx_vault-1.0.1/modules/research/assets/Templates/Research/Paper Summary.md +342 -0
  358. onyx_vault-1.0.1/modules/research/assets/{{root}}/00 Paper Dashboard.md +30 -0
  359. onyx_vault-1.0.1/modules/research/assets/{{root}}/Paper Library.base +134 -0
  360. onyx_vault-1.0.1/modules/research/docs/README.md +17 -0
  361. onyx_vault-1.0.1/modules/research/module.yaml +35 -0
  362. onyx_vault-1.0.1/modules/research/skills/paper-pipeline/SKILL.md +31 -0
  363. onyx_vault-1.0.1/modules/writing/assets/Templates/Blog/Blog Draft.md +44 -0
  364. onyx_vault-1.0.1/modules/writing/assets/Templates/Blog/Blog Idea.md +36 -0
  365. onyx_vault-1.0.1/modules/writing/assets/Templates/Blog/Blog Research Note.md +37 -0
  366. onyx_vault-1.0.1/modules/writing/assets/Templates/Blog/Published Post.md +38 -0
  367. onyx_vault-1.0.1/modules/writing/assets/Templates/Blog/Series Note.md +36 -0
  368. onyx_vault-1.0.1/modules/writing/assets/{{root}}/00 Dashboard.md +37 -0
  369. onyx_vault-1.0.1/modules/writing/assets/{{root}}/Blog-Pipeline.base +68 -0
  370. onyx_vault-1.0.1/modules/writing/assets/{{root}}/Content-Backlog.md +29 -0
  371. onyx_vault-1.0.1/modules/writing/assets/{{root}}/Editorial-Calendar.md +25 -0
  372. onyx_vault-1.0.1/modules/writing/docs/README.md +13 -0
  373. onyx_vault-1.0.1/modules/writing/module.yaml +32 -0
  374. onyx_vault-1.0.1/plugin/.claude-plugin/plugin.json +12 -0
  375. onyx_vault-1.0.1/plugin/README.md +20 -0
  376. onyx_vault-1.0.1/plugin/skills/vault-bootstrap/SKILL.md +56 -0
  377. onyx_vault-1.0.1/plugin/skills/vault-conventions/SKILL.md +24 -0
  378. onyx_vault-1.0.1/plugin/skills/vault-conventions/frontmatter.md +35 -0
  379. onyx_vault-1.0.1/plugin/skills/vault-conventions/naming.md +37 -0
  380. onyx_vault-1.0.1/profiles/README.md +14 -0
  381. onyx_vault-1.0.1/profiles/fitness-focused.yaml +3 -0
  382. onyx_vault-1.0.1/profiles/minimal.yaml +4 -0
  383. onyx_vault-1.0.1/profiles/phd-student.yaml +9 -0
  384. onyx_vault-1.0.1/profiles/researcher-developer.yaml +8 -0
  385. onyx_vault-1.0.1/profiles/student.yaml +4 -0
  386. onyx_vault-1.0.1/profiles/writer.yaml +4 -0
  387. onyx_vault-1.0.1/pyproject.toml +43 -0
  388. onyx_vault-1.0.1/tests/conftest.py +166 -0
  389. onyx_vault-1.0.1/tests/fixtures/answers/minimal.yaml +8 -0
  390. onyx_vault-1.0.1/tests/fixtures/golden/minimal/.claude/skills/vault-bootstrap/SKILL.md +56 -0
  391. onyx_vault-1.0.1/tests/fixtures/golden/minimal/.claude/skills/vault-conventions/SKILL.md +24 -0
  392. onyx_vault-1.0.1/tests/fixtures/golden/minimal/.claude/skills/vault-conventions/frontmatter.md +35 -0
  393. onyx_vault-1.0.1/tests/fixtures/golden/minimal/.claude/skills/vault-conventions/naming.md +37 -0
  394. onyx_vault-1.0.1/tests/fixtures/golden/minimal/.vault/config.yaml +12 -0
  395. onyx_vault-1.0.1/tests/fixtures/golden/minimal/.vault/lock.json +69 -0
  396. onyx_vault-1.0.1/tests/fixtures/golden/minimal/Home.md +27 -0
  397. onyx_vault-1.0.1/tests/fixtures/golden/minimal/Start-Here.md +23 -0
  398. onyx_vault-1.0.1/tests/fixtures/golden/minimal/templates/Note.md +7 -0
  399. onyx_vault-1.0.1/tests/test_adapters.py +99 -0
  400. onyx_vault-1.0.1/tests/test_add.py +104 -0
  401. onyx_vault-1.0.1/tests/test_adopt.py +175 -0
  402. onyx_vault-1.0.1/tests/test_agents.py +134 -0
  403. onyx_vault-1.0.1/tests/test_agentsmd.py +77 -0
  404. onyx_vault-1.0.1/tests/test_applier.py +120 -0
  405. onyx_vault-1.0.1/tests/test_cli.py +125 -0
  406. onyx_vault-1.0.1/tests/test_configio.py +76 -0
  407. onyx_vault-1.0.1/tests/test_doctor.py +64 -0
  408. onyx_vault-1.0.1/tests/test_examples.py +19 -0
  409. onyx_vault-1.0.1/tests/test_external.py +132 -0
  410. onyx_vault-1.0.1/tests/test_golden.py +24 -0
  411. onyx_vault-1.0.1/tests/test_idempotency.py +52 -0
  412. onyx_vault-1.0.1/tests/test_lockio.py +81 -0
  413. onyx_vault-1.0.1/tests/test_manifests.py +102 -0
  414. onyx_vault-1.0.1/tests/test_modules_m2.py +100 -0
  415. onyx_vault-1.0.1/tests/test_paths.py +68 -0
  416. onyx_vault-1.0.1/tests/test_planner.py +220 -0
  417. onyx_vault-1.0.1/tests/test_plugin.py +50 -0
  418. onyx_vault-1.0.1/tests/test_remove.py +94 -0
  419. onyx_vault-1.0.1/tests/test_render.py +79 -0
  420. onyx_vault-1.0.1/tests/test_resolve.py +94 -0
  421. onyx_vault-1.0.1/tests/test_skills.py +77 -0
  422. onyx_vault-1.0.1/tests/test_sources.py +186 -0
  423. onyx_vault-1.0.1/tests/test_update.py +150 -0
  424. onyx_vault-1.0.1/tools/README.md +5 -0
  425. onyx_vault-1.0.1/tools/build_plugin.py +42 -0
  426. onyx_vault-1.0.1/tools/gen_examples.py +45 -0
  427. onyx_vault-1.0.1/tools/regen_golden.py +47 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ description: Set up a new Onyx vault or adopt an existing one via the interview wizard
3
+ ---
4
+
5
+ Read the skill at `modules/core/skills/vault-bootstrap/SKILL.md` (in this repository; in an installed vault it lives at `.claude/skills/vault-bootstrap/SKILL.md`) and follow it exactly.
6
+
7
+ Target: $ARGUMENTS — if empty, first ask where the vault should live and whether it is a new folder (init) or an existing vault (adopt).
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "onyx",
3
+ "owner": {
4
+ "name": "odysseia06"
5
+ },
6
+ "plugins": [
7
+ {
8
+ "name": "onyx",
9
+ "source": "./plugin",
10
+ "description": "Bootstrap and operate a tailored Obsidian vault with Onyx — the vault-bootstrap wizard plus the shared vault conventions. Pairs with the onyx-vault CLI on PyPI.",
11
+ "version": "1.0.1",
12
+ "author": {
13
+ "name": "odysseia06"
14
+ }
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,18 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ end_of_line = lf
6
+ insert_final_newline = true
7
+ trim_trailing_whitespace = true
8
+
9
+ [*.py]
10
+ indent_style = space
11
+ indent_size = 4
12
+
13
+ [*.{yaml,yml,json}]
14
+ indent_style = space
15
+ indent_size = 2
16
+
17
+ [*.md]
18
+ trim_trailing_whitespace = false
@@ -0,0 +1,6 @@
1
+ # Everything the engine writes is LF; keep the repo (and golden fixtures) LF on
2
+ # every OS so byte-exact comparisons hold across the CI matrix.
3
+ * text=auto eol=lf
4
+ *.png binary
5
+ *.jpg binary
6
+ *.pdf binary
@@ -0,0 +1,34 @@
1
+ # The 3-OS matrix is live from M0, per KICKSTART.md §9.5 and §11 — Windows is
2
+ # first-class from the first commit, not retrofitted. The suite includes the
3
+ # golden-file and idempotency tests, so byte-exactness across OSes is enforced
4
+ # on every push.
5
+ name: ci
6
+
7
+ on:
8
+ push:
9
+ branches: [main]
10
+ pull_request:
11
+
12
+ jobs:
13
+ test:
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ os: [ubuntu-latest, macos-latest, windows-latest]
18
+ python: ["3.11", "3.14"]
19
+ runs-on: ${{ matrix.os }}
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+ - uses: actions/setup-python@v5
23
+ with:
24
+ python-version: ${{ matrix.python }}
25
+ - name: Install
26
+ run: python -m pip install -e ".[dev]"
27
+ - name: Test
28
+ run: python -m pytest tests -q
29
+ - name: Generated artifacts are regenerable, not drifted
30
+ run: |
31
+ python tools/regen_golden.py
32
+ python tools/gen_examples.py
33
+ python tools/build_plugin.py
34
+ git diff --exit-code -- tests/fixtures/golden examples plugin/skills
@@ -0,0 +1,55 @@
1
+ # Publish onyx-vault to PyPI on a version tag, via Trusted Publishing (OIDC) —
2
+ # no API token stored anywhere. One-time setup the owner must do is in
3
+ # RELEASING.md. Until that setup exists, this workflow builds and uploads the
4
+ # artifacts to the run but the publish step will fail (harmless — nothing is
5
+ # published without the trusted-publisher link).
6
+ name: publish
7
+
8
+ on:
9
+ push:
10
+ tags: ["v*"]
11
+ workflow_dispatch: {}
12
+
13
+ jobs:
14
+ build:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+ - uses: actions/setup-python@v5
19
+ with:
20
+ python-version: "3.12"
21
+ - name: Build sdist + wheel
22
+ run: |
23
+ python -m pip install build
24
+ python -m build
25
+ - name: Sanity-check the wheel carries the module library
26
+ run: |
27
+ python - <<'PY'
28
+ import glob, zipfile
29
+ whl = glob.glob("dist/*.whl")[0]
30
+ names = zipfile.ZipFile(whl).namelist()
31
+ assert "onyx/cli.py" in names, "engine missing from wheel"
32
+ mods = [n for n in names if n.startswith("onyx/_library/modules/") and n.endswith("/module.yaml")]
33
+ assert len(mods) >= 12, f"expected the module library in the wheel, found {len(mods)}"
34
+ print(f"wheel OK: {len(mods)} modules bundled")
35
+ PY
36
+ - uses: actions/upload-artifact@v4
37
+ with:
38
+ name: dist
39
+ path: dist/
40
+
41
+ publish:
42
+ needs: build
43
+ runs-on: ubuntu-latest
44
+ # The environment + id-token permission are what PyPI's trusted publisher
45
+ # checks. Configure the matching trusted publisher on PyPI (see RELEASING.md).
46
+ environment: pypi
47
+ permissions:
48
+ id-token: write
49
+ steps:
50
+ - uses: actions/download-artifact@v4
51
+ with:
52
+ name: dist
53
+ path: dist/
54
+ - name: Publish to PyPI
55
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,19 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ build/
6
+ dist/
7
+ .venv/
8
+ .pytest_cache/
9
+ .coverage
10
+ coverage.xml
11
+
12
+ # OS junk
13
+ .DS_Store
14
+ Thumbs.db
15
+ desktop.ini
16
+
17
+ # Editors
18
+ .idea/
19
+ .vscode/
@@ -0,0 +1,46 @@
1
+ # Contributing to Onyx
2
+
3
+ ## Before anything else
4
+
5
+ Read [KICKSTART.md](KICKSTART.md) — at minimum §3 (Principles), §4 (Architecture), §5 (Modules), and §8 (Write & update contract). The charter is the referee: §2 non-goals and §3 principles are enforceable in review, and a PR that violates a numbered principle is a bug report against the PR, not a tradeoff discussion.
6
+
7
+ ## Development setup
8
+
9
+ ```
10
+ python -m venv .venv
11
+ # Windows: .venv\Scripts\activate macOS/Linux: source .venv/bin/activate
12
+ pip install -e .[dev]
13
+ pytest
14
+ ```
15
+
16
+ Python 3.11+ is required. Runtime dependencies are deliberately minimal (PyYAML only); think hard before proposing another.
17
+
18
+ ## The rules that bite
19
+
20
+ - **Every engine write goes through the lockfile.** If you add a code path that writes into a vault without recording a lock entry, that is a defect, not a style issue (§8).
21
+ - **Never touch user files.** Anything not in the lockfile is the user's. The planner must emit a blocked/report action for collisions, never a write (§8.2).
22
+ - **Determinism.** Engine output is byte-identical across OSes and across runs: UTF-8 without BOM, LF line endings, sorted lock entries, no timestamps in the lock. Date-bearing content renders from the `ONYX_NOW` override in tests and CI so golden trees stay byte-exact.
23
+ - **Re-running anything against an unchanged vault is a no-op** (P3). The idempotency tests enforce this; keep them passing.
24
+
25
+ ## Authoring module assets and generated prose
26
+
27
+ - **Do not hard-wrap prose** in module assets, fragments, or anything the engine emits into a vault. One logical line per paragraph and per bullet; let editors soft-wrap. Hard-wrapped bullets render in Obsidian Live Preview with a gap partway through the sentence, which reads as broken. See `core/conventions/authoring.md`.
28
+ - **Two placeholder languages, two moments.** `{{variable}}` is the *engine's* substitution, resolved once at apply time. `<% tp.* %>` is *Templater's*, resolved when the user instantiates a template — the engine passes it through untouched. A template must remain functional as a plain copy with no Templater installed (P2).
29
+ - Modules contain **no executable code**. A module is reviewable by reading it (§5.1).
30
+ - The `vault-conventions` skill bundles copies of `core/conventions/frontmatter.md` and `naming.md`; a test enforces byte-equality. Edit the canonical file under `core/conventions/`, then copy it into `modules/core/skills/vault-conventions/` — never edit the bundled copy directly.
31
+
32
+ ## Tests
33
+
34
+ `pytest` runs everything. Per KICKSTART.md §11, changes touching the engine or module assets need:
35
+
36
+ - unit coverage for new planner/lock/render behavior,
37
+ - the idempotency suite still green,
38
+ - golden fixtures regenerated *only* via `python tools/regen_golden.py` (never hand-edited), with the diff reviewed in the PR.
39
+
40
+ CI runs the matrix on Ubuntu, macOS, and Windows. Windows is first-class; "passes on my Linux box" is not done.
41
+
42
+ ## Commit and PR hygiene
43
+
44
+ - Small, reviewable PRs; one concern each.
45
+ - Cite the charter section your change implements or amends.
46
+ - Changes to charter decisions (§13) require owner sign-off — flip Proposed→Confirmed only with a date and a reviewer.