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.
- git_repokit-0.9.10.dist-info/METADATA +422 -0
- git_repokit-0.9.10.dist-info/RECORD +174 -0
- git_repokit-0.9.10.dist-info/WHEEL +5 -0
- git_repokit-0.9.10.dist-info/entry_points.txt +2 -0
- git_repokit-0.9.10.dist-info/licenses/LICENSE +9 -0
- git_repokit-0.9.10.dist-info/top_level.txt +1 -0
- repokit/__init__.py +8 -0
- repokit/__main__.py +12 -0
- repokit/__version__.py +4 -0
- repokit/_vendor/__init__.py +0 -0
- repokit/_vendor/ailib/__init__.py +1 -0
- repokit/_vendor/ailib/analyzer.py +177 -0
- repokit/_vendor/ailib/backend.py +95 -0
- repokit/_vendor/ailib/cache.py +97 -0
- repokit/_vendor/ailib/parsers.py +52 -0
- repokit/_vendor/ailib/transports/__init__.py +16 -0
- repokit/_vendor/ailib/transports/cli.py +312 -0
- repokit/_vendor/ailib/transports/openai_compat.py +383 -0
- repokit/_vendor/ailib/transports/prompt_file.py +41 -0
- repokit/_vendor/ailib/types.py +224 -0
- repokit/auth_integration.py +244 -0
- repokit/badges.py +183 -0
- repokit/branch_utils.py +364 -0
- repokit/cli.py +2997 -0
- repokit/common_kit.py +202 -0
- repokit/config.py +686 -0
- repokit/defaults.py +220 -0
- repokit/directory_analyzer.py +1244 -0
- repokit/directory_profiles.py +423 -0
- repokit/git_config.py +370 -0
- repokit/github_create.py +142 -0
- repokit/github_setup.py +248 -0
- repokit/guardrails.py +707 -0
- repokit/history_cleaner.py +449 -0
- repokit/history_protection.py +434 -0
- repokit/hooks/pre-commit-guardrails +122 -0
- repokit/hooks/pre-commit-template +28 -0
- repokit/layers.py +510 -0
- repokit/licenses/0bsd.txt +14 -0
- repokit/licenses/LICENSES.md +27 -0
- repokit/licenses/__init__.py +142 -0
- repokit/licenses/agpl-3.0.txt +661 -0
- repokit/licenses/all-rights-reserved.txt +10 -0
- repokit/licenses/apache-2.0.txt +201 -0
- repokit/licenses/bsd-2-clause.txt +24 -0
- repokit/licenses/bsd-3-clause.txt +28 -0
- repokit/licenses/bsl-1.0.txt +23 -0
- repokit/licenses/cc-by-4.0.txt +395 -0
- repokit/licenses/cc-by-sa-4.0.txt +427 -0
- repokit/licenses/cc0-1.0.txt +121 -0
- repokit/licenses/epl-2.0.txt +277 -0
- repokit/licenses/gpl-2.0.txt +339 -0
- repokit/licenses/gpl-3.0.txt +674 -0
- repokit/licenses/isc.txt +15 -0
- repokit/licenses/lgpl-2.1.txt +504 -0
- repokit/licenses/lgpl-3.0.txt +165 -0
- repokit/licenses/mit.txt +21 -0
- repokit/licenses/mpl-2.0.txt +373 -0
- repokit/licenses/unlicense.txt +24 -0
- repokit/readme_blocks.py +112 -0
- repokit/remote_integration.py +627 -0
- repokit/repo_manager.py +2796 -0
- repokit/template_engine.py +391 -0
- repokit/templates/ai/claude/CLAUDE-nested.md.template +25 -0
- repokit/templates/ai/claude/CLAUDE.md.template +98 -0
- repokit/templates/ai/claude/instructions/step1_context_rebuilder.md +33 -0
- repokit/templates/ai/claude/instructions/step2_dev_workflow_process.md +67 -0
- repokit/templates/ai/claude/instructions/step3_context_bridge.md +52 -0
- repokit/templates/common/CHANGELOG.md.template +15 -0
- repokit/templates/common/CONTRIBUTING.md.template +31 -0
- repokit/templates/common/README.md.template +30 -0
- repokit/templates/common/gitattributes.template +17 -0
- repokit/templates/common/gitignore.template +141 -0
- repokit/templates/extras/FUNDING.yml.template +13 -0
- repokit/templates/extras/ROADMAP.md.template +17 -0
- repokit/templates/extras/dependabot.yml.template +22 -0
- repokit/templates/extras/one-offs-README.md.template +28 -0
- repokit/templates/extras/platform-support.md.template +11 -0
- repokit/templates/extras/pull_request_template.md.template +25 -0
- repokit/templates/extras/release-template.md.template +34 -0
- repokit/templates/extras/settings.json.template +11 -0
- repokit/templates/extras/stale.yml.template +14 -0
- repokit/templates/github/CODEOWNERS.template +11 -0
- repokit/templates/github/ISSUE_TEMPLATE/bug-report.md.template +29 -0
- repokit/templates/github/ISSUE_TEMPLATE/feature-request.md.template +19 -0
- repokit/templates/github/issues/notes.md.template +18 -0
- repokit/templates/github/issues/roadmap.md.template +15 -0
- repokit/templates/hooks/pre-commit.template +64 -0
- repokit/templates/layers/archetypes/any/claude-plugin/.claude-plugin/marketplace.json +20 -0
- repokit/templates/layers/archetypes/any/claude-plugin/plugin/.claude-plugin/plugin.json +15 -0
- repokit/templates/layers/archetypes/any/claude-plugin/plugin/README.md +28 -0
- repokit/templates/layers/archetypes/c-cpp/cmake-app/.github/workflows/ci-c-cpp.yml +24 -0
- repokit/templates/layers/archetypes/c-cpp/cmake-app/.repokit-common.toml.rkappend +4 -0
- repokit/templates/layers/archetypes/c-cpp/cmake-app/.vscode/launch.json +29 -0
- repokit/templates/layers/archetypes/c-cpp/cmake-app/.vscode/tasks.json +26 -0
- repokit/templates/layers/archetypes/c-cpp/cmake-app/CMakeLists.txt +47 -0
- repokit/templates/layers/archetypes/c-cpp/cmake-app/CMakePresets.json +23 -0
- repokit/templates/layers/archetypes/c-cpp/cmake-app/cmake/GenerateStamp.cmake +45 -0
- repokit/templates/layers/archetypes/c-cpp/cmake-app/src/main.cpp +27 -0
- repokit/templates/layers/archetypes/c-cpp/cmake-app/tests/test_version.cpp +20 -0
- repokit/templates/layers/archetypes/c-cpp/cmake-app/vcpkg.json +5 -0
- repokit/templates/layers/archetypes/c-cpp/minimal/.vscode/launch.json +27 -0
- repokit/templates/layers/archetypes/c-cpp/minimal/Makefile +10 -0
- repokit/templates/layers/archetypes/c-cpp/minimal/build.bat +7 -0
- repokit/templates/layers/archetypes/c-cpp/minimal/src/__RK_SNAKE__.c +26 -0
- repokit/templates/layers/archetypes/c-cpp/msbuild/.vscode/launch.json +17 -0
- repokit/templates/layers/archetypes/c-cpp/msbuild/.vscode/tasks.json +20 -0
- repokit/templates/layers/archetypes/c-cpp/msbuild/__RK_PROJECT__.sln +19 -0
- repokit/templates/layers/archetypes/c-cpp/msbuild/__RK_PROJECT__.vcxproj +41 -0
- repokit/templates/layers/archetypes/c-cpp/msbuild/src/main.cpp +26 -0
- repokit/templates/layers/archetypes/js-ts/claude-plugin/.repokit-common.toml +28 -0
- repokit/templates/layers/archetypes/js-ts/claude-plugin/.vscode/launch.json +34 -0
- repokit/templates/layers/archetypes/js-ts/claude-plugin/plugin/hooks/hooks.json +15 -0
- repokit/templates/layers/archetypes/js-ts/claude-plugin/plugin/hooks/scripts/session-start.mjs +23 -0
- repokit/templates/layers/archetypes/js-ts/claude-plugin/plugin/tests/manifest.test.js +30 -0
- repokit/templates/layers/archetypes/js-ts/node/.repokit-common.toml.rkappend +6 -0
- repokit/templates/layers/archetypes/js-ts/node/package.json +13 -0
- repokit/templates/layers/archetypes/js-ts/node-package/.github/workflows/release.yml +39 -0
- repokit/templates/layers/archetypes/js-ts/node-package/package.json +32 -0
- repokit/templates/layers/archetypes/js-ts/node-package/src/index.ts +13 -0
- repokit/templates/layers/archetypes/js-ts/node-package/tests/index.test.ts +11 -0
- repokit/templates/layers/archetypes/js-ts/script/.vscode/launch.json +34 -0
- repokit/templates/layers/archetypes/js-ts/script/__RK_PROJECT__.js +37 -0
- repokit/templates/layers/archetypes/js-ts/script/tests/version.test.js +26 -0
- repokit/templates/layers/archetypes/js-ts/ts/package.json +18 -0
- repokit/templates/layers/archetypes/js-ts/ts/tsconfig.json +15 -0
- repokit/templates/layers/archetypes/python/claude-plugin/.github/workflows/ci-python.yml +44 -0
- repokit/templates/layers/archetypes/python/claude-plugin/.repokit-common.toml +21 -0
- repokit/templates/layers/archetypes/python/claude-plugin/.vscode/launch.json +33 -0
- repokit/templates/layers/archetypes/python/claude-plugin/VERSION +1 -0
- repokit/templates/layers/archetypes/python/claude-plugin/plugin/hooks/hooks.json +15 -0
- repokit/templates/layers/archetypes/python/claude-plugin/plugin/hooks/scripts/run-hook.mjs +42 -0
- repokit/templates/layers/archetypes/python/claude-plugin/plugin/hooks/scripts/session_start.py +31 -0
- repokit/templates/layers/archetypes/python/claude-plugin/plugin/tests/test_manifest.py +42 -0
- repokit/templates/layers/archetypes/python/pypi/.github/workflows/release.yml +63 -0
- repokit/templates/layers/archetypes/python/pypi/.vscode/launch.json +43 -0
- repokit/templates/layers/archetypes/python/pypi/__RK_SNAKE__/__init__.py +5 -0
- repokit/templates/layers/archetypes/python/pypi/__RK_SNAKE__/__main__.py +6 -0
- repokit/templates/layers/archetypes/python/pypi/__RK_SNAKE__/_version.py +96 -0
- repokit/templates/layers/archetypes/python/pypi/__RK_SNAKE__/cli.py +18 -0
- repokit/templates/layers/archetypes/python/pypi/pyproject.toml +71 -0
- repokit/templates/layers/archetypes/python/pypi/tests/conftest.py +11 -0
- repokit/templates/layers/archetypes/python/pypi/tests/test_version.py +50 -0
- repokit/templates/layers/archetypes/python/script/.github/workflows/ci-python.yml +43 -0
- repokit/templates/layers/archetypes/python/script/.repokit-common.toml +14 -0
- repokit/templates/layers/archetypes/python/script/.vscode/launch.json +33 -0
- repokit/templates/layers/archetypes/python/script/VERSION +1 -0
- repokit/templates/layers/archetypes/python/script/__RK_PROJECT__.py +40 -0
- repokit/templates/layers/archetypes/python/script/tests/test_version.py +25 -0
- repokit/templates/layers/archetypes/python/setuppy/requirements.txt +8 -0
- repokit/templates/layers/archetypes/python/setuppy/setup.py +23 -0
- repokit/templates/layers/languages/c-cpp/.gitignore.rkappend +20 -0
- repokit/templates/layers/languages/c-cpp/.repokit-common.toml +7 -0
- repokit/templates/layers/languages/c-cpp/include/__RK_SNAKE__/version.h +20 -0
- repokit/templates/layers/languages/c-cpp/src/app.rc +25 -0
- repokit/templates/layers/languages/js-ts/.editorconfig +15 -0
- repokit/templates/layers/languages/js-ts/.github/workflows/ci-js-ts.yml +41 -0
- repokit/templates/layers/languages/js-ts/.gitignore.rkappend +13 -0
- repokit/templates/layers/languages/js-ts/.repokit-common.toml +19 -0
- repokit/templates/layers/languages/js-ts/.vscode/launch.json +24 -0
- repokit/templates/layers/languages/js-ts/VERSION +1 -0
- repokit/templates/layers/languages/python/.github/workflows/ci-python.yml +76 -0
- repokit/templates/layers/languages/python/.gitignore.rkappend +15 -0
- repokit/templates/layers/languages/python/.vscode/launch.json +33 -0
- repokit/templates/layers/manifest.toml +302 -0
- repokit/templates/vault/CLAUDE.md +29 -0
- repokit/templates/vault/claude/_maps/MOC-project.md +15 -0
- repokit/templates/vault/claude/_oracle/backlinks.md +3 -0
- repokit/templates/vault/claude/_oracle/concepts.md +12 -0
- repokit/templates/vault/claude/_oracle/manifest.md +10 -0
- repokit/templates/vault/claude/_todo/ACTIVE-WORK.md +18 -0
- repokit/templates/vault/claude/_todo/OPEN-LOOPS.md +14 -0
- repokit/utils.py +316 -0
- 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,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.
|