git-repokit 0.9.10__py3-none-any.whl

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 (174) hide show
  1. git_repokit-0.9.10.dist-info/METADATA +422 -0
  2. git_repokit-0.9.10.dist-info/RECORD +174 -0
  3. git_repokit-0.9.10.dist-info/WHEEL +5 -0
  4. git_repokit-0.9.10.dist-info/entry_points.txt +2 -0
  5. git_repokit-0.9.10.dist-info/licenses/LICENSE +9 -0
  6. git_repokit-0.9.10.dist-info/top_level.txt +1 -0
  7. repokit/__init__.py +8 -0
  8. repokit/__main__.py +12 -0
  9. repokit/__version__.py +4 -0
  10. repokit/_vendor/__init__.py +0 -0
  11. repokit/_vendor/ailib/__init__.py +1 -0
  12. repokit/_vendor/ailib/analyzer.py +177 -0
  13. repokit/_vendor/ailib/backend.py +95 -0
  14. repokit/_vendor/ailib/cache.py +97 -0
  15. repokit/_vendor/ailib/parsers.py +52 -0
  16. repokit/_vendor/ailib/transports/__init__.py +16 -0
  17. repokit/_vendor/ailib/transports/cli.py +312 -0
  18. repokit/_vendor/ailib/transports/openai_compat.py +383 -0
  19. repokit/_vendor/ailib/transports/prompt_file.py +41 -0
  20. repokit/_vendor/ailib/types.py +224 -0
  21. repokit/auth_integration.py +244 -0
  22. repokit/badges.py +183 -0
  23. repokit/branch_utils.py +364 -0
  24. repokit/cli.py +2997 -0
  25. repokit/common_kit.py +202 -0
  26. repokit/config.py +686 -0
  27. repokit/defaults.py +220 -0
  28. repokit/directory_analyzer.py +1244 -0
  29. repokit/directory_profiles.py +423 -0
  30. repokit/git_config.py +370 -0
  31. repokit/github_create.py +142 -0
  32. repokit/github_setup.py +248 -0
  33. repokit/guardrails.py +707 -0
  34. repokit/history_cleaner.py +449 -0
  35. repokit/history_protection.py +434 -0
  36. repokit/hooks/pre-commit-guardrails +122 -0
  37. repokit/hooks/pre-commit-template +28 -0
  38. repokit/layers.py +510 -0
  39. repokit/licenses/0bsd.txt +14 -0
  40. repokit/licenses/LICENSES.md +27 -0
  41. repokit/licenses/__init__.py +142 -0
  42. repokit/licenses/agpl-3.0.txt +661 -0
  43. repokit/licenses/all-rights-reserved.txt +10 -0
  44. repokit/licenses/apache-2.0.txt +201 -0
  45. repokit/licenses/bsd-2-clause.txt +24 -0
  46. repokit/licenses/bsd-3-clause.txt +28 -0
  47. repokit/licenses/bsl-1.0.txt +23 -0
  48. repokit/licenses/cc-by-4.0.txt +395 -0
  49. repokit/licenses/cc-by-sa-4.0.txt +427 -0
  50. repokit/licenses/cc0-1.0.txt +121 -0
  51. repokit/licenses/epl-2.0.txt +277 -0
  52. repokit/licenses/gpl-2.0.txt +339 -0
  53. repokit/licenses/gpl-3.0.txt +674 -0
  54. repokit/licenses/isc.txt +15 -0
  55. repokit/licenses/lgpl-2.1.txt +504 -0
  56. repokit/licenses/lgpl-3.0.txt +165 -0
  57. repokit/licenses/mit.txt +21 -0
  58. repokit/licenses/mpl-2.0.txt +373 -0
  59. repokit/licenses/unlicense.txt +24 -0
  60. repokit/readme_blocks.py +112 -0
  61. repokit/remote_integration.py +627 -0
  62. repokit/repo_manager.py +2796 -0
  63. repokit/template_engine.py +391 -0
  64. repokit/templates/ai/claude/CLAUDE-nested.md.template +25 -0
  65. repokit/templates/ai/claude/CLAUDE.md.template +98 -0
  66. repokit/templates/ai/claude/instructions/step1_context_rebuilder.md +33 -0
  67. repokit/templates/ai/claude/instructions/step2_dev_workflow_process.md +67 -0
  68. repokit/templates/ai/claude/instructions/step3_context_bridge.md +52 -0
  69. repokit/templates/common/CHANGELOG.md.template +15 -0
  70. repokit/templates/common/CONTRIBUTING.md.template +31 -0
  71. repokit/templates/common/README.md.template +30 -0
  72. repokit/templates/common/gitattributes.template +17 -0
  73. repokit/templates/common/gitignore.template +141 -0
  74. repokit/templates/extras/FUNDING.yml.template +13 -0
  75. repokit/templates/extras/ROADMAP.md.template +17 -0
  76. repokit/templates/extras/dependabot.yml.template +22 -0
  77. repokit/templates/extras/one-offs-README.md.template +28 -0
  78. repokit/templates/extras/platform-support.md.template +11 -0
  79. repokit/templates/extras/pull_request_template.md.template +25 -0
  80. repokit/templates/extras/release-template.md.template +34 -0
  81. repokit/templates/extras/settings.json.template +11 -0
  82. repokit/templates/extras/stale.yml.template +14 -0
  83. repokit/templates/github/CODEOWNERS.template +11 -0
  84. repokit/templates/github/ISSUE_TEMPLATE/bug-report.md.template +29 -0
  85. repokit/templates/github/ISSUE_TEMPLATE/feature-request.md.template +19 -0
  86. repokit/templates/github/issues/notes.md.template +18 -0
  87. repokit/templates/github/issues/roadmap.md.template +15 -0
  88. repokit/templates/hooks/pre-commit.template +64 -0
  89. repokit/templates/layers/archetypes/any/claude-plugin/.claude-plugin/marketplace.json +20 -0
  90. repokit/templates/layers/archetypes/any/claude-plugin/plugin/.claude-plugin/plugin.json +15 -0
  91. repokit/templates/layers/archetypes/any/claude-plugin/plugin/README.md +28 -0
  92. repokit/templates/layers/archetypes/c-cpp/cmake-app/.github/workflows/ci-c-cpp.yml +24 -0
  93. repokit/templates/layers/archetypes/c-cpp/cmake-app/.repokit-common.toml.rkappend +4 -0
  94. repokit/templates/layers/archetypes/c-cpp/cmake-app/.vscode/launch.json +29 -0
  95. repokit/templates/layers/archetypes/c-cpp/cmake-app/.vscode/tasks.json +26 -0
  96. repokit/templates/layers/archetypes/c-cpp/cmake-app/CMakeLists.txt +47 -0
  97. repokit/templates/layers/archetypes/c-cpp/cmake-app/CMakePresets.json +23 -0
  98. repokit/templates/layers/archetypes/c-cpp/cmake-app/cmake/GenerateStamp.cmake +45 -0
  99. repokit/templates/layers/archetypes/c-cpp/cmake-app/src/main.cpp +27 -0
  100. repokit/templates/layers/archetypes/c-cpp/cmake-app/tests/test_version.cpp +20 -0
  101. repokit/templates/layers/archetypes/c-cpp/cmake-app/vcpkg.json +5 -0
  102. repokit/templates/layers/archetypes/c-cpp/minimal/.vscode/launch.json +27 -0
  103. repokit/templates/layers/archetypes/c-cpp/minimal/Makefile +10 -0
  104. repokit/templates/layers/archetypes/c-cpp/minimal/build.bat +7 -0
  105. repokit/templates/layers/archetypes/c-cpp/minimal/src/__RK_SNAKE__.c +26 -0
  106. repokit/templates/layers/archetypes/c-cpp/msbuild/.vscode/launch.json +17 -0
  107. repokit/templates/layers/archetypes/c-cpp/msbuild/.vscode/tasks.json +20 -0
  108. repokit/templates/layers/archetypes/c-cpp/msbuild/__RK_PROJECT__.sln +19 -0
  109. repokit/templates/layers/archetypes/c-cpp/msbuild/__RK_PROJECT__.vcxproj +41 -0
  110. repokit/templates/layers/archetypes/c-cpp/msbuild/src/main.cpp +26 -0
  111. repokit/templates/layers/archetypes/js-ts/claude-plugin/.repokit-common.toml +28 -0
  112. repokit/templates/layers/archetypes/js-ts/claude-plugin/.vscode/launch.json +34 -0
  113. repokit/templates/layers/archetypes/js-ts/claude-plugin/plugin/hooks/hooks.json +15 -0
  114. repokit/templates/layers/archetypes/js-ts/claude-plugin/plugin/hooks/scripts/session-start.mjs +23 -0
  115. repokit/templates/layers/archetypes/js-ts/claude-plugin/plugin/tests/manifest.test.js +30 -0
  116. repokit/templates/layers/archetypes/js-ts/node/.repokit-common.toml.rkappend +6 -0
  117. repokit/templates/layers/archetypes/js-ts/node/package.json +13 -0
  118. repokit/templates/layers/archetypes/js-ts/node-package/.github/workflows/release.yml +39 -0
  119. repokit/templates/layers/archetypes/js-ts/node-package/package.json +32 -0
  120. repokit/templates/layers/archetypes/js-ts/node-package/src/index.ts +13 -0
  121. repokit/templates/layers/archetypes/js-ts/node-package/tests/index.test.ts +11 -0
  122. repokit/templates/layers/archetypes/js-ts/script/.vscode/launch.json +34 -0
  123. repokit/templates/layers/archetypes/js-ts/script/__RK_PROJECT__.js +37 -0
  124. repokit/templates/layers/archetypes/js-ts/script/tests/version.test.js +26 -0
  125. repokit/templates/layers/archetypes/js-ts/ts/package.json +18 -0
  126. repokit/templates/layers/archetypes/js-ts/ts/tsconfig.json +15 -0
  127. repokit/templates/layers/archetypes/python/claude-plugin/.github/workflows/ci-python.yml +44 -0
  128. repokit/templates/layers/archetypes/python/claude-plugin/.repokit-common.toml +21 -0
  129. repokit/templates/layers/archetypes/python/claude-plugin/.vscode/launch.json +33 -0
  130. repokit/templates/layers/archetypes/python/claude-plugin/VERSION +1 -0
  131. repokit/templates/layers/archetypes/python/claude-plugin/plugin/hooks/hooks.json +15 -0
  132. repokit/templates/layers/archetypes/python/claude-plugin/plugin/hooks/scripts/run-hook.mjs +42 -0
  133. repokit/templates/layers/archetypes/python/claude-plugin/plugin/hooks/scripts/session_start.py +31 -0
  134. repokit/templates/layers/archetypes/python/claude-plugin/plugin/tests/test_manifest.py +42 -0
  135. repokit/templates/layers/archetypes/python/pypi/.github/workflows/release.yml +63 -0
  136. repokit/templates/layers/archetypes/python/pypi/.vscode/launch.json +43 -0
  137. repokit/templates/layers/archetypes/python/pypi/__RK_SNAKE__/__init__.py +5 -0
  138. repokit/templates/layers/archetypes/python/pypi/__RK_SNAKE__/__main__.py +6 -0
  139. repokit/templates/layers/archetypes/python/pypi/__RK_SNAKE__/_version.py +96 -0
  140. repokit/templates/layers/archetypes/python/pypi/__RK_SNAKE__/cli.py +18 -0
  141. repokit/templates/layers/archetypes/python/pypi/pyproject.toml +71 -0
  142. repokit/templates/layers/archetypes/python/pypi/tests/conftest.py +11 -0
  143. repokit/templates/layers/archetypes/python/pypi/tests/test_version.py +50 -0
  144. repokit/templates/layers/archetypes/python/script/.github/workflows/ci-python.yml +43 -0
  145. repokit/templates/layers/archetypes/python/script/.repokit-common.toml +14 -0
  146. repokit/templates/layers/archetypes/python/script/.vscode/launch.json +33 -0
  147. repokit/templates/layers/archetypes/python/script/VERSION +1 -0
  148. repokit/templates/layers/archetypes/python/script/__RK_PROJECT__.py +40 -0
  149. repokit/templates/layers/archetypes/python/script/tests/test_version.py +25 -0
  150. repokit/templates/layers/archetypes/python/setuppy/requirements.txt +8 -0
  151. repokit/templates/layers/archetypes/python/setuppy/setup.py +23 -0
  152. repokit/templates/layers/languages/c-cpp/.gitignore.rkappend +20 -0
  153. repokit/templates/layers/languages/c-cpp/.repokit-common.toml +7 -0
  154. repokit/templates/layers/languages/c-cpp/include/__RK_SNAKE__/version.h +20 -0
  155. repokit/templates/layers/languages/c-cpp/src/app.rc +25 -0
  156. repokit/templates/layers/languages/js-ts/.editorconfig +15 -0
  157. repokit/templates/layers/languages/js-ts/.github/workflows/ci-js-ts.yml +41 -0
  158. repokit/templates/layers/languages/js-ts/.gitignore.rkappend +13 -0
  159. repokit/templates/layers/languages/js-ts/.repokit-common.toml +19 -0
  160. repokit/templates/layers/languages/js-ts/.vscode/launch.json +24 -0
  161. repokit/templates/layers/languages/js-ts/VERSION +1 -0
  162. repokit/templates/layers/languages/python/.github/workflows/ci-python.yml +76 -0
  163. repokit/templates/layers/languages/python/.gitignore.rkappend +15 -0
  164. repokit/templates/layers/languages/python/.vscode/launch.json +33 -0
  165. repokit/templates/layers/manifest.toml +302 -0
  166. repokit/templates/vault/CLAUDE.md +29 -0
  167. repokit/templates/vault/claude/_maps/MOC-project.md +15 -0
  168. repokit/templates/vault/claude/_oracle/backlinks.md +3 -0
  169. repokit/templates/vault/claude/_oracle/concepts.md +12 -0
  170. repokit/templates/vault/claude/_oracle/manifest.md +10 -0
  171. repokit/templates/vault/claude/_todo/ACTIVE-WORK.md +18 -0
  172. repokit/templates/vault/claude/_todo/OPEN-LOOPS.md +14 -0
  173. repokit/utils.py +316 -0
  174. repokit/vault.py +248 -0
@@ -0,0 +1,302 @@
1
+ # The code-type layers: what each language and archetype adds on top of the
2
+ # structure every project gets. Layers are applied in order (each language's,
3
+ # then the rest by facet); a later file replaces an earlier one, and a file
4
+ # named <name>.rkappend is appended to <name> instead -- including a file the
5
+ # structure templates already wrote (.gitignore). __RK_NAME__ tokens are
6
+ # replaced in file names and text contents (see repokit/layers.py).
7
+ #
8
+ # Three tables below the languages:
9
+ #
10
+ # [facets.<name>] the questions a project answers below its language,
11
+ # in the order the engine applies them; exclusive means
12
+ # a project has one answer per language
13
+ # [layers."<lang>/<n>"] one entry per layer folder archetypes/<lang>/<n>:
14
+ # its facet, what it implies, and whether it is built
15
+ # [archetypes."<lang>/<n>"] the presets: a named, tested list of layers --
16
+ # what `--with <lang>/<n>` expands to
17
+ #
18
+ # A facet is named by the question the person answers, never by the files the
19
+ # answer produces (TypeScript is a dialect, not a build system). Design:
20
+ # 2026-10-19__22-11-27__dev-workflow-process__family-type-system-facets-and-grammar.md
21
+
22
+ [facets.language]
23
+ rank = 0
24
+ exclusive = false
25
+ question = "which language(s); the first is primary"
26
+
27
+ [facets.runtime]
28
+ rank = 1
29
+ exclusive = true
30
+ question = "where it runs"
31
+
32
+ [facets.dialect]
33
+ rank = 2
34
+ exclusive = true
35
+ question = "which flavour of the language it is written in"
36
+
37
+ [facets.build]
38
+ rank = 3
39
+ exclusive = true
40
+ question = "how it is built, bundled or packaged"
41
+
42
+ [facets.framework]
43
+ rank = 4
44
+ exclusive = false
45
+ question = "what it uses"
46
+
47
+ [facets.purpose]
48
+ rank = 5
49
+ exclusive = true
50
+ question = "what it is"
51
+
52
+ # ---------------------------------------------------------------- languages
53
+
54
+ [languages.python]
55
+ layers = ["languages/python"]
56
+ default = "python/pypi"
57
+
58
+ [languages.c-cpp]
59
+ layers = ["languages/c-cpp"]
60
+ default = "c-cpp/cmake-app"
61
+
62
+ [languages.js-ts]
63
+ layers = ["languages/js-ts"]
64
+ default = "js-ts/node-package"
65
+
66
+ # A pseudo-language: the folder prefix for layer files several languages share
67
+ # (the Claude plugin's manifests and marketplace README). Never a project
68
+ # language: --language refuses it, `repokit list` and the bare-name lookup do
69
+ # not show it, and a layer that implies one of its layers adds no language.
70
+ # Proved 2026-10-22 (tests/one-offs/thinking/p4-poc-neutral-purpose/).
71
+ [languages.any]
72
+ pseudo = true
73
+ layers = []
74
+ description = "layer files shared by several languages"
75
+
76
+ # ---------------------------------------------------------------- layers
77
+ # Keys are <language>/<name>; the folder is archetypes/<language>/<name>.
78
+ # `implies` names other layers (bare names in the same language, or qualified);
79
+ # every layer implies its language. `overrides` lists paths a layer may write
80
+ # over an earlier layer's file on purpose (the compositions test treats any
81
+ # other same-path write as a collision).
82
+
83
+ [layers."python/pypi"]
84
+ facet = "build"
85
+ overrides = [".vscode/launch.json"]
86
+ description = "pyproject.toml with a dynamic version, the package (__init__, __main__, cli, _version), tests, and the publish-on-release workflow"
87
+
88
+ [layers."python/setuppy"]
89
+ facet = "build"
90
+ description = "setup.py and requirements.txt: git-repokit's Python output before the layers"
91
+
92
+ [layers."python/script"]
93
+ facet = "build"
94
+ overrides = [".github/workflows/ci-python.yml", ".vscode/launch.json"]
95
+ description = "a local tool: one module reading VERSION, no packaging, no publish workflow (the simple-projects floor)"
96
+
97
+ [layers."python/claude-plugin"]
98
+ facet = "purpose"
99
+ implies = ["any/claude-plugin"]
100
+ overrides = [".github/workflows/ci-python.yml", ".repokit-common.toml", "VERSION", ".vscode/launch.json"]
101
+ description = "a Claude Code plugin in plugin/ whose hooks are Python, launched through a small node script (Claude Code runs hooks with node); pytest for its tests; VERSION kept in step with the manifest"
102
+
103
+ [layers."any/claude-plugin"]
104
+ facet = "purpose"
105
+ description = "the language-neutral half of a Claude Code plugin: the marketplace manifest at the root, the plugin manifest and the marketplace README in plugin/"
106
+
107
+ [layers."python/comfyui"]
108
+ facet = "purpose"
109
+ stub = true
110
+ description = "a ComfyUI custom-node package"
111
+
112
+ [layers."python/django"]
113
+ facet = "framework"
114
+ stub = true
115
+ description = "a Django project"
116
+
117
+ [layers."python/qt"]
118
+ facet = "framework"
119
+ stub = true
120
+ description = "a Python Qt app (PySide6 or PyQt)"
121
+
122
+ # js-ts: several layers want package.json, and JSON cannot be appended to, so
123
+ # each later layer that needs more in it carries a whole package.json for the
124
+ # stack it implies and declares the override (node -> ts -> node-package).
125
+
126
+ [layers."js-ts/node"]
127
+ facet = "runtime"
128
+ description = "runs under Node: package.json (ES modules, engines), the version tool keeps its version"
129
+
130
+ [layers."js-ts/browser"]
131
+ facet = "runtime"
132
+ stub = true
133
+ description = "runs in a browser: index.html, a bundler expected"
134
+
135
+ [layers."js-ts/ts"]
136
+ facet = "dialect"
137
+ overrides = ["package.json"]
138
+ description = "TypeScript: tsconfig.json (strict, ES2022, NodeNext), build and type-check scripts"
139
+
140
+ [layers."js-ts/script"]
141
+ facet = "build"
142
+ implies = ["node"]
143
+ overrides = [".vscode/launch.json"]
144
+ description = "a plain script: one .js file run with node, reading VERSION; no build step, no dependencies"
145
+
146
+ [layers."js-ts/vite"]
147
+ facet = "build"
148
+ stub = true
149
+ implies = ["browser"]
150
+ description = "Vite bundler and dev server"
151
+
152
+ [layers."js-ts/react"]
153
+ facet = "framework"
154
+ stub = true
155
+ description = "React"
156
+
157
+ [layers."js-ts/svelte"]
158
+ facet = "framework"
159
+ stub = true
160
+ description = "Svelte"
161
+
162
+ [layers."js-ts/node-package"]
163
+ facet = "purpose"
164
+ implies = ["node", "ts"]
165
+ overrides = ["package.json"]
166
+ description = "an npm package: exports map, src/index.ts, node:test tests, publish-on-release"
167
+
168
+ [layers."js-ts/claude-plugin"]
169
+ facet = "purpose"
170
+ implies = ["node", "any/claude-plugin"]
171
+ overrides = [".repokit-common.toml", ".vscode/launch.json"]
172
+ description = "a Claude Code plugin in plugin/ (manifest, hooks, tests, its marketplace README) with the marketplace manifest at the root; VERSION kept in step with both manifests"
173
+
174
+ [layers."js-ts/obsidian-plugin"]
175
+ facet = "purpose"
176
+ stub = true
177
+ implies = ["browser"]
178
+ description = "an Obsidian plugin: manifest.json + versions.json, esbuild"
179
+
180
+ [layers."js-ts/browser-extension"]
181
+ facet = "purpose"
182
+ stub = true
183
+ implies = ["browser"]
184
+ description = "a WebExtension: manifest v3, a bundler, store packaging"
185
+
186
+ [layers."js-ts/comfyui-frontend"]
187
+ facet = "purpose"
188
+ stub = true
189
+ implies = ["browser"]
190
+ description = "a ComfyUI frontend extension"
191
+
192
+ [layers."c-cpp/cmake-app"]
193
+ facet = "build"
194
+ description = "CMake + presets + vcpkg manifest + CTest + 3-OS CI (xormove's shape)"
195
+
196
+ [layers."c-cpp/cmake-lib"]
197
+ facet = "build"
198
+ stub = true
199
+ description = "library with install/export targets and a package config (starts from cmake-app)"
200
+
201
+ [layers."c-cpp/msbuild"]
202
+ facet = "build"
203
+ description = "Visual Studio solution, Windows only"
204
+
205
+ [layers."c-cpp/minimal"]
206
+ facet = "build"
207
+ description = "one source file, Makefile + build.bat"
208
+
209
+ [layers."c-cpp/qt"]
210
+ facet = "framework"
211
+ stub = true
212
+ description = "Qt 6: find_package(Qt6), qt_add_executable, windeployqt"
213
+
214
+ # ---------------------------------------------------------------- presets
215
+ # `layers` lists layer folders in apply order; `languages` is implied by the key.
216
+
217
+ [archetypes."python/setuppy"]
218
+ languages = ["python"]
219
+ layers = ["archetypes/python/setuppy"]
220
+ description = "setup.py and requirements.txt: git-repokit's Python output before the layers"
221
+
222
+ [archetypes."python/pypi"]
223
+ languages = ["python"]
224
+ layers = ["archetypes/python/pypi"]
225
+ description = "pyproject.toml with a dynamic version, the package (__init__, __main__, cli, _version), tests, and the publish-on-release workflow: the shape of git-repokit-template's projects"
226
+
227
+ [archetypes."python/script"]
228
+ languages = ["python"]
229
+ layers = ["archetypes/python/script"]
230
+ description = "a local tool: one module reading VERSION, no packaging, no publish workflow (the simple-projects floor)"
231
+
232
+ [archetypes."python/claude-plugin"]
233
+ languages = ["python"]
234
+ layers = ["archetypes/python/claude-plugin", "archetypes/any/claude-plugin"]
235
+ description = "a Claude Code plugin with Python hooks in plugin/ (manifest, a SessionStart hook behind a node launcher, pytest tests, the marketplace README) with the marketplace manifest at the root; the shape claude-session-logger keeps, nested"
236
+
237
+ [archetypes."python/comfyui"]
238
+ stub = true
239
+ description = "a ComfyUI custom-node package (the template holds its pyproject shape; the node skeleton is not written yet)"
240
+
241
+ [archetypes."python/django"]
242
+ stub = true
243
+ description = "a Django project"
244
+
245
+ [archetypes."python/qt"]
246
+ stub = true
247
+ description = "a Python Qt app (PySide6 or PyQt)"
248
+
249
+ [archetypes."js-ts/node-package"]
250
+ languages = ["js-ts"]
251
+ layers = ["archetypes/js-ts/node", "archetypes/js-ts/ts", "archetypes/js-ts/node-package"]
252
+ description = "an npm package in TypeScript: exports map, src/index.ts, node:test tests, publish-on-release"
253
+
254
+ [archetypes."js-ts/script"]
255
+ languages = ["js-ts"]
256
+ layers = ["archetypes/js-ts/node", "archetypes/js-ts/script"]
257
+ description = "a plain script run with node: one .js file reading VERSION, no build step (the simple-projects floor)"
258
+
259
+ [archetypes."js-ts/claude-plugin"]
260
+ languages = ["js-ts"]
261
+ primary = true # a bare --with claude-plugin, with no language named, is this one
262
+ layers = ["archetypes/js-ts/node", "archetypes/js-ts/claude-plugin", "archetypes/any/claude-plugin"]
263
+ description = "a Claude Code plugin in plugin/ (manifest, a SessionStart hook, node:test tests, the marketplace README) with the marketplace manifest at the root; add ts for TypeScript"
264
+
265
+ [archetypes."js-ts/web-vite-react"]
266
+ stub = true
267
+ description = "a Vite + React + TypeScript site"
268
+
269
+ [archetypes."js-ts/obsidian-plugin"]
270
+ stub = true
271
+ description = "an Obsidian plugin (manifest.json + versions.json, esbuild)"
272
+
273
+ [archetypes."js-ts/browser-extension"]
274
+ stub = true
275
+ description = "a WebExtension (manifest v3)"
276
+
277
+ [archetypes."js-ts/comfyui-frontend"]
278
+ stub = true
279
+ description = "a ComfyUI frontend extension"
280
+
281
+ [archetypes."c-cpp/cmake-app"]
282
+ languages = ["c-cpp"]
283
+ layers = ["archetypes/c-cpp/cmake-app"]
284
+ description = "CMake + presets + vcpkg manifest + CTest + 3-OS CI (xormove's shape)"
285
+
286
+ [archetypes."c-cpp/msbuild"]
287
+ languages = ["c-cpp"]
288
+ layers = ["archetypes/c-cpp/msbuild"]
289
+ description = "Visual Studio solution, Windows only"
290
+
291
+ [archetypes."c-cpp/minimal"]
292
+ languages = ["c-cpp"]
293
+ layers = ["archetypes/c-cpp/minimal"]
294
+ description = "One source file, Makefile + build.bat"
295
+
296
+ [archetypes."c-cpp/cmake-lib"]
297
+ stub = true
298
+ description = "Library with install/export targets and a package config (starts from cmake-app)"
299
+
300
+ [archetypes."c-cpp/qt"]
301
+ stub = true
302
+ description = "Qt 6 app: find_package(Qt6), qt_add_executable, windeployqt (starts from cmake-app)"
@@ -0,0 +1,29 @@
1
+ # $project_name -- the private vault
2
+
3
+ This folder is its own git repository, ignored by the project and never pushed. It holds the project's thinking: design analyses, postmortems, notes, issue drafts, commit messages, and the map an oracle session keeps.
4
+
5
+ ## Layout
6
+
7
+ - `claude/` -- dated documents (`YYYY-MM-DD__HH-MM-SS__<type>__<topic>.md`); `claude/notes/`, `claude/issues/`, `claude/commits/` for the smaller kinds
8
+ - `claude/_maps/MOC-$project_name.md` -- the map of content: the project's arcs and the documents behind each
9
+ - `claude/_oracle/` -- the oracle's index: `manifest.md` (every document, one line each), `concepts.md` (the project's own words), `backlinks.md` (generated)
10
+ - `claude/_todo/` -- `OPEN-LOOPS.md` (deferred work, each with its next action) and `ACTIVE-WORK.md` (the working set)
11
+
12
+ ## Conventions
13
+
14
+ - Link with wikilinks relative to `claude/`: `[[notes/2026-01-01__00-00-00__both_topic]]`, never `../` paths.
15
+ - Frontmatter on every document: `type`, `date`, `author`, `tags`.
16
+ - A finished document's body is not edited; it is extended with a dated addendum.
17
+ - Commit by named path; the vault is local-only.
18
+
19
+ ## Three sessions per project
20
+
21
+ A project of any size runs three Claude Code sessions, each named `<PROJECT>__<YYYY-MM-DD>__<Role>`:
22
+
23
+ | Role | Model | First command |
24
+ |---|---|---|
25
+ | Decisions | the strongest available | `/familiarize`, then the design work |
26
+ | Work | Opus | the plan or goal the decisions session wrote |
27
+ | Oracle | any | `/obsidian-update`, then `/obsidian-loop` |
28
+
29
+ `repokit create` laid this skeleton and wrote the oracle's first prompt to `claude/_oracle/bootstrap-prompt.md`; the oracle session builds the map from it.
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: moc
3
+ date: $date
4
+ author: claude
5
+ tags:
6
+ - moc
7
+ ---
8
+
9
+ # $project_name -- map of content
10
+
11
+ The project's arcs, newest first, each with the documents behind it. Built and kept by the oracle session (`/obsidian-update`); `repokit create` laid this stub.
12
+
13
+ ## Arcs
14
+
15
+ - (none yet)
@@ -0,0 +1,3 @@
1
+ # Backlinks
2
+
3
+ Generated by `scripts/repokit-common/generate-backlinks.py private/claude`; do not edit by hand.
@@ -0,0 +1,12 @@
1
+ ---
2
+ type: concepts
3
+ date: $date
4
+ author: claude
5
+ ---
6
+
7
+ # Concepts -- $project_name's own words
8
+
9
+ Terms this project coined or repurposed, each with the document that defines it.
10
+
11
+ | Term | Meaning | Defined in |
12
+ |---|---|---|
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: manifest
3
+ date: $date
4
+ author: claude
5
+ ---
6
+
7
+ # Manifest -- every document in the vault, one line each
8
+
9
+ | Document | Type | What it holds |
10
+ |---|---|---|
@@ -0,0 +1,18 @@
1
+ ---
2
+ type: active-work
3
+ created: $date
4
+ last_updated: $date
5
+ session: shared
6
+ ---
7
+
8
+ # Active work -- $project_name
9
+
10
+ Kept by `/t-active-work`. See also [[_todo/OPEN-LOOPS]] and [[_maps/MOC-$project_name]].
11
+
12
+ ## The story so far
13
+
14
+ $project_name was created with git-repokit on $date.
15
+
16
+ ## No working set
17
+
18
+ Candidates: the first issue (the Roadmap), the first open loop.
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: dashboard
3
+ date: $date
4
+ author: claude
5
+ tags:
6
+ - todo
7
+ ---
8
+
9
+ # Open loops -- $project_name
10
+
11
+ Deferred work: each row says what it is, why it waits, and the next action.
12
+
13
+ | Loop | Status | Next action |
14
+ |---|---|---|