reposeed 0.4.0__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 (52) hide show
  1. reposeed-0.4.0/LICENSE +21 -0
  2. reposeed-0.4.0/PKG-INFO +248 -0
  3. reposeed-0.4.0/README.md +227 -0
  4. reposeed-0.4.0/pyproject.toml +70 -0
  5. reposeed-0.4.0/pyproject.toml.orig +61 -0
  6. reposeed-0.4.0/src/reposeed/__init__.py +10 -0
  7. reposeed-0.4.0/src/reposeed/__main__.py +3 -0
  8. reposeed-0.4.0/src/reposeed/cli.py +232 -0
  9. reposeed-0.4.0/src/reposeed/constants.py +35 -0
  10. reposeed-0.4.0/src/reposeed/detect.py +89 -0
  11. reposeed-0.4.0/src/reposeed/doctor.py +122 -0
  12. reposeed-0.4.0/src/reposeed/errors.py +4 -0
  13. reposeed-0.4.0/src/reposeed/foundation/AGENTS.md +108 -0
  14. reposeed-0.4.0/src/reposeed/foundation/CHANGELOG.md +5 -0
  15. reposeed-0.4.0/src/reposeed/foundation/GRAPHIFY.md +96 -0
  16. reposeed-0.4.0/src/reposeed/foundation/OPERATING_GUIDELINES.md +102 -0
  17. reposeed-0.4.0/src/reposeed/foundation/PLATFORM_SUPPORT.md +69 -0
  18. reposeed-0.4.0/src/reposeed/foundation/skills/flutter/flutter-conventions/SKILL.md +39 -0
  19. reposeed-0.4.0/src/reposeed/foundation/skills/flutter/flutter-conventions/agents/openai.yaml +4 -0
  20. reposeed-0.4.0/src/reposeed/foundation/skills/node/node-conventions/SKILL.md +37 -0
  21. reposeed-0.4.0/src/reposeed/foundation/skills/node/node-conventions/agents/openai.yaml +4 -0
  22. reposeed-0.4.0/src/reposeed/foundation/skills/php/php-conventions/SKILL.md +35 -0
  23. reposeed-0.4.0/src/reposeed/foundation/skills/php/php-conventions/agents/openai.yaml +4 -0
  24. reposeed-0.4.0/src/reposeed/foundation/skills/python/python-conventions/SKILL.md +39 -0
  25. reposeed-0.4.0/src/reposeed/foundation/skills/python/python-conventions/agents/openai.yaml +4 -0
  26. reposeed-0.4.0/src/reposeed/foundation/skills/universal/clarify-before-building/SKILL.md +61 -0
  27. reposeed-0.4.0/src/reposeed/foundation/skills/universal/clarify-before-building/agents/openai.yaml +4 -0
  28. reposeed-0.4.0/src/reposeed/foundation/skills/universal/code-review/SKILL.md +86 -0
  29. reposeed-0.4.0/src/reposeed/foundation/skills/universal/code-review/agents/openai.yaml +4 -0
  30. reposeed-0.4.0/src/reposeed/foundation/skills/universal/commit-messages/SKILL.md +67 -0
  31. reposeed-0.4.0/src/reposeed/foundation/skills/universal/commit-messages/agents/openai.yaml +4 -0
  32. reposeed-0.4.0/src/reposeed/foundation/skills/universal/compounding-knowledge/SKILL.md +59 -0
  33. reposeed-0.4.0/src/reposeed/foundation/skills/universal/compounding-knowledge/agents/openai.yaml +4 -0
  34. reposeed-0.4.0/src/reposeed/foundation/skills/universal/diagnosing-bugs/SKILL.md +89 -0
  35. reposeed-0.4.0/src/reposeed/foundation/skills/universal/diagnosing-bugs/agents/openai.yaml +4 -0
  36. reposeed-0.4.0/src/reposeed/foundation/skills/universal/maintain-changelog/SKILL.md +60 -0
  37. reposeed-0.4.0/src/reposeed/foundation/skills/universal/maintain-changelog/agents/openai.yaml +4 -0
  38. reposeed-0.4.0/src/reposeed/foundation/skills/universal/pr-description/SKILL.md +55 -0
  39. reposeed-0.4.0/src/reposeed/foundation/skills/universal/pr-description/agents/openai.yaml +4 -0
  40. reposeed-0.4.0/src/reposeed/foundation/skills/universal/security-checklist/SKILL.md +66 -0
  41. reposeed-0.4.0/src/reposeed/foundation/skills/universal/security-checklist/agents/openai.yaml +4 -0
  42. reposeed-0.4.0/src/reposeed/foundation/skills/universal/tdd/SKILL.md +79 -0
  43. reposeed-0.4.0/src/reposeed/foundation/skills/universal/tdd/agents/openai.yaml +4 -0
  44. reposeed-0.4.0/src/reposeed/foundation/skills/universal/verification-before-completion/SKILL.md +74 -0
  45. reposeed-0.4.0/src/reposeed/foundation/skills/universal/verification-before-completion/agents/openai.yaml +4 -0
  46. reposeed-0.4.0/src/reposeed/foundation/skills/universal/writing-plans/SKILL.md +89 -0
  47. reposeed-0.4.0/src/reposeed/foundation/skills/universal/writing-plans/agents/openai.yaml +4 -0
  48. reposeed-0.4.0/src/reposeed/graphify.py +556 -0
  49. reposeed-0.4.0/src/reposeed/initializer.py +328 -0
  50. reposeed-0.4.0/src/reposeed/managed_file.py +147 -0
  51. reposeed-0.4.0/src/reposeed/templates.py +66 -0
  52. reposeed-0.4.0/src/reposeed/validation.py +26 -0
reposeed-0.4.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 RepoSeed contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,248 @@
1
+ Metadata-Version: 2.4
2
+ Name: reposeed
3
+ Version: 0.4.0
4
+ Summary: Initialize portable AI coding standards and skills for Codex, Claude Code, Cursor, and Antigravity.
5
+ Keywords: agent-skills,codex,claude-code,cursor,antigravity,ai-coding
6
+ Author: RepoSeed contributors
7
+ License-Expression: MIT
8
+ License-File: LICENSE
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Environment :: Console
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Programming Language :: Python :: 3.14
18
+ Requires-Dist: graphifyy==0.9.49
19
+ Requires-Python: >=3.10
20
+ Description-Content-Type: text/markdown
21
+
22
+ # RepoSeed
23
+
24
+ Initialize a project-wide AI coding foundation for Codex, Claude Code, Cursor,
25
+ and Google Antigravity with one uv command:
26
+
27
+ ```bash
28
+ uvx reposeed init
29
+ ```
30
+
31
+ `uv` is the only prerequisite. It runs RepoSeed in an isolated Python
32
+ environment and automatically provides a compatible Python interpreter when the
33
+ machine does not already have one. Graphify is a pinned dependency of that same
34
+ environment, so RepoSeed never bootstraps uv, invokes pip, or relies on a
35
+ global `graphify` executable.
36
+
37
+ The initializer installs portable Agent Skills, shared engineering guidance,
38
+ repository-aware commands, platform adapters, and the managed Graphify setup.
39
+ It is safe to rerun: marked instruction blocks are merged, generated files are
40
+ tracked by hash, and local edits are reported as conflicts instead of silently
41
+ overwritten.
42
+
43
+ ## Quick start
44
+
45
+ Run interactively from the project you want to configure:
46
+
47
+ ```bash
48
+ uvx reposeed init
49
+ ```
50
+
51
+ Or configure it non-interactively:
52
+
53
+ ```bash
54
+ uvx reposeed init ./my-project \
55
+ --platforms codex,claude,cursor,antigravity \
56
+ --stacks node,python \
57
+ --yes
58
+ ```
59
+
60
+ Preview without writing:
61
+
62
+ ```bash
63
+ uvx reposeed init --dry-run --yes
64
+ ```
65
+
66
+ Validate an installation:
67
+
68
+ ```bash
69
+ uvx reposeed doctor
70
+ ```
71
+
72
+ Pin a specific RepoSeed release when reproducibility across a team or CI
73
+ matters:
74
+
75
+ ```bash
76
+ uvx reposeed==0.4.0 init --yes
77
+ ```
78
+
79
+ ## What is generated
80
+
81
+ | Path | Purpose |
82
+ |---|---|
83
+ | `AGENTS.md` | Shared, always-on engineering behavior in a managed block |
84
+ | `AGENTS.local.md` | Detected project commands and repository-specific notes |
85
+ | `CHANGELOG.md` | Dated, commit-aligned project history for humans and agents |
86
+ | `.agents/skills/` | Canonical Agent Skills for Codex, Cursor, and Antigravity |
87
+ | `CLAUDE.md` | Claude bridge to the shared instructions, when selected |
88
+ | `.claude/skills/` | Managed Claude Code skill mirror, when selected |
89
+ | `.reposeed/config.json` | Selected platforms, stacks, and integrations |
90
+ | `.reposeed/graphify.json` | Pinned Graphify version and managed platforms |
91
+ | `.reposeed/manifest.json` | File hashes used for conflict-safe updates |
92
+ | `.reposeed/guides/` | Operating, platform, and Graphify references |
93
+
94
+ Universal skills cover clarification, planning, diagnosis, test-driven
95
+ development, code review, evidence-based completion, changelog maintenance,
96
+ commits, pull requests, security review, and compounding repository knowledge.
97
+ Stack skills are available for Node.js/TypeScript, Python, PHP, and
98
+ Flutter/Dart. Stack detection reads the target project's standard manifests
99
+ and lockfiles.
100
+
101
+ ## Commands and options
102
+
103
+ ```text
104
+ reposeed init [directory]
105
+ -p, --platforms <names> codex, claude, cursor, antigravity
106
+ -s, --stacks <names> node, python, php, flutter
107
+ -y, --yes accept defaults without prompts
108
+ --no-graphify skip managed Graphify integration
109
+ --graphify-git-hooks explicitly enable the default Graphify Git hooks
110
+ --no-graphify-git-hooks skip or remove the default Graphify Git hooks
111
+ --dry-run show planned changes
112
+ --force replace conflicting generated files
113
+ --json emit machine-readable output
114
+
115
+ reposeed doctor [directory]
116
+ --json emit machine-readable output
117
+
118
+ reposeed graphify <arguments...>
119
+ run the pinned Graphify CLI in the same uvx environment
120
+ ```
121
+
122
+ With `--yes`, all four platforms are selected and application stacks are
123
+ auto-detected unless explicit lists are supplied. Pass `--stacks ""` for
124
+ universal skills only.
125
+
126
+ On an initialized project, `--platforms` and `--stacks` are additive. For
127
+ example, initializing Antigravity first and later running with
128
+ `--platforms codex` retains Antigravity and adds Codex. Removing a platform is
129
+ never inferred from an omitted command-line value.
130
+
131
+ ## Safe update behavior
132
+
133
+ `AGENTS.md`, `AGENTS.local.md`, and `CLAUDE.md` use explicit managed markers.
134
+ Only the content between those markers is updated, preserving project guidance
135
+ and sections maintained by tools such as Graphify.
136
+
137
+ Other generated files are replaced only when their current content matches the
138
+ last manifest. If a person edited one, initialization preserves it, reports a
139
+ conflict, and exits with code 2. Review the change and rerun with `--force` only
140
+ when replacement is intentional.
141
+
142
+ The initializer never deletes stale platform files automatically. Removing
143
+ configuration is a destructive decision and remains explicit. `--force` only
144
+ authorizes replacement of conflicting RepoSeed-generated files; it does
145
+ not authorize replacement of pre-existing Graphify skills, rules, or workflows.
146
+
147
+ ## Graphify
148
+
149
+ Graphify `0.9.49` is enabled by default and pinned in `pyproject.toml`. During
150
+ `init`, RepoSeed verifies the installed dependency and invokes it as:
151
+
152
+ ```text
153
+ <uvx-python> -m graphify <platform> install --project
154
+ ```
155
+
156
+ This avoids every global PATH and interpreter-discovery problem. The native
157
+ Graphify skill is also adapted to resolve the exact RepoSeed environment
158
+ through uvx. Its core setup will not recommend `pip install`, `uv tool install`,
159
+ or an unpinned Graphify upgrade. The managed package intentionally omits LLM
160
+ backend extras.
161
+
162
+ An existing standalone Graphify installation is left installed and unchanged.
163
+ If a project already contains a complete Graphify adapter, initialization keeps
164
+ its files and only refreshes the recognizable RepoSeed runtime block and
165
+ Graphify hook command. If an adapter is partial, missing files are repaired and
166
+ all pre-existing Graphify-owned files are restored afterward. Existing
167
+ `graphify-out/` data is never changed by `init`.
168
+
169
+ On a project where Graphify is already managed, `--no-graphify` skips adding it
170
+ to newly selected platforms; it does not uninstall or disable the platforms
171
+ that already use it.
172
+
173
+ Initialization configures the integration but does not build a graph because it
174
+ may run before a project contains source code. The managed integration is
175
+ strictly AST-only: it never sends repository content to an LLM, extracts
176
+ semantic document/media context, or labels communities with an LLM. Build the
177
+ code graph from the terminal:
178
+
179
+ ```bash
180
+ uvx reposeed graphify extract . --code-only
181
+ ```
182
+
183
+ The wrapper adds `--code-only` when omitted, adds `--no-label` to
184
+ `cluster-only`, and rejects semantic-only commands and flags. Installed agent
185
+ skills carry the same mandatory policy.
186
+
187
+ The graph is written under `graphify-out/`. After code changes, run:
188
+
189
+ ```bash
190
+ uvx reposeed graphify update .
191
+ ```
192
+
193
+ Initialized guidance starts with targeted source slices and budgeted `query`,
194
+ `path`, or `explain` calls instead of loading full reports or raw graph data.
195
+ The managed update command is a complete AST-only refresh: it updates
196
+ symbols, calls, imports, inheritance, and other structural relationships with
197
+ no LLM or API cost. Documents, papers, images, audio, and video are outside the
198
+ managed graph's scope.
199
+
200
+ Code graphs refresh automatically after commits and branch switches because
201
+ Graphify's Git hooks are installed by default. For a non-Git project or a team
202
+ that does not want repository hooks, opt out explicitly:
203
+
204
+ ```bash
205
+ uvx reposeed init --no-graphify-git-hooks
206
+ ```
207
+
208
+ Graphify adds to existing Git hooks instead of replacing them and also
209
+ registers its merge driver for `graphify-out/graph.json`. The initializer
210
+ records the setting and `doctor` verifies the installation. This automation
211
+ handles code and deletions and never schedules semantic work.
212
+
213
+ See
214
+ [`src/reposeed/foundation/GRAPHIFY.md`](src/reposeed/foundation/GRAPHIFY.md)
215
+ for the operating model.
216
+
217
+ ## Platform conventions
218
+
219
+ The canonical layout follows the open
220
+ [Agent Skills specification](https://agentskills.io/specification). Current
221
+ discovery paths and primary sources are recorded in
222
+ [`PLATFORM_SUPPORT.md`](src/reposeed/foundation/PLATFORM_SUPPORT.md).
223
+
224
+ ## Development and publishing
225
+
226
+ Development requires uv; Python and all dependencies are managed by it:
227
+
228
+ ```bash
229
+ uv sync --all-groups
230
+ uv run ruff check .
231
+ uv run ruff format --check .
232
+ uv run pytest
233
+ uv build --no-sources
234
+ ```
235
+
236
+ Install the current checkout as a local editable uv tool while developing:
237
+
238
+ ```bash
239
+ uv tool install --editable --force .
240
+ uvx reposeed --version
241
+ ```
242
+
243
+ Test the built wheel through uvx before publishing, then publish to PyPI:
244
+
245
+ ```bash
246
+ uvx --refresh --from ./dist/reposeed-0.4.0-py3-none-any.whl reposeed --version
247
+ uv publish
248
+ ```
@@ -0,0 +1,227 @@
1
+ # RepoSeed
2
+
3
+ Initialize a project-wide AI coding foundation for Codex, Claude Code, Cursor,
4
+ and Google Antigravity with one uv command:
5
+
6
+ ```bash
7
+ uvx reposeed init
8
+ ```
9
+
10
+ `uv` is the only prerequisite. It runs RepoSeed in an isolated Python
11
+ environment and automatically provides a compatible Python interpreter when the
12
+ machine does not already have one. Graphify is a pinned dependency of that same
13
+ environment, so RepoSeed never bootstraps uv, invokes pip, or relies on a
14
+ global `graphify` executable.
15
+
16
+ The initializer installs portable Agent Skills, shared engineering guidance,
17
+ repository-aware commands, platform adapters, and the managed Graphify setup.
18
+ It is safe to rerun: marked instruction blocks are merged, generated files are
19
+ tracked by hash, and local edits are reported as conflicts instead of silently
20
+ overwritten.
21
+
22
+ ## Quick start
23
+
24
+ Run interactively from the project you want to configure:
25
+
26
+ ```bash
27
+ uvx reposeed init
28
+ ```
29
+
30
+ Or configure it non-interactively:
31
+
32
+ ```bash
33
+ uvx reposeed init ./my-project \
34
+ --platforms codex,claude,cursor,antigravity \
35
+ --stacks node,python \
36
+ --yes
37
+ ```
38
+
39
+ Preview without writing:
40
+
41
+ ```bash
42
+ uvx reposeed init --dry-run --yes
43
+ ```
44
+
45
+ Validate an installation:
46
+
47
+ ```bash
48
+ uvx reposeed doctor
49
+ ```
50
+
51
+ Pin a specific RepoSeed release when reproducibility across a team or CI
52
+ matters:
53
+
54
+ ```bash
55
+ uvx reposeed==0.4.0 init --yes
56
+ ```
57
+
58
+ ## What is generated
59
+
60
+ | Path | Purpose |
61
+ |---|---|
62
+ | `AGENTS.md` | Shared, always-on engineering behavior in a managed block |
63
+ | `AGENTS.local.md` | Detected project commands and repository-specific notes |
64
+ | `CHANGELOG.md` | Dated, commit-aligned project history for humans and agents |
65
+ | `.agents/skills/` | Canonical Agent Skills for Codex, Cursor, and Antigravity |
66
+ | `CLAUDE.md` | Claude bridge to the shared instructions, when selected |
67
+ | `.claude/skills/` | Managed Claude Code skill mirror, when selected |
68
+ | `.reposeed/config.json` | Selected platforms, stacks, and integrations |
69
+ | `.reposeed/graphify.json` | Pinned Graphify version and managed platforms |
70
+ | `.reposeed/manifest.json` | File hashes used for conflict-safe updates |
71
+ | `.reposeed/guides/` | Operating, platform, and Graphify references |
72
+
73
+ Universal skills cover clarification, planning, diagnosis, test-driven
74
+ development, code review, evidence-based completion, changelog maintenance,
75
+ commits, pull requests, security review, and compounding repository knowledge.
76
+ Stack skills are available for Node.js/TypeScript, Python, PHP, and
77
+ Flutter/Dart. Stack detection reads the target project's standard manifests
78
+ and lockfiles.
79
+
80
+ ## Commands and options
81
+
82
+ ```text
83
+ reposeed init [directory]
84
+ -p, --platforms <names> codex, claude, cursor, antigravity
85
+ -s, --stacks <names> node, python, php, flutter
86
+ -y, --yes accept defaults without prompts
87
+ --no-graphify skip managed Graphify integration
88
+ --graphify-git-hooks explicitly enable the default Graphify Git hooks
89
+ --no-graphify-git-hooks skip or remove the default Graphify Git hooks
90
+ --dry-run show planned changes
91
+ --force replace conflicting generated files
92
+ --json emit machine-readable output
93
+
94
+ reposeed doctor [directory]
95
+ --json emit machine-readable output
96
+
97
+ reposeed graphify <arguments...>
98
+ run the pinned Graphify CLI in the same uvx environment
99
+ ```
100
+
101
+ With `--yes`, all four platforms are selected and application stacks are
102
+ auto-detected unless explicit lists are supplied. Pass `--stacks ""` for
103
+ universal skills only.
104
+
105
+ On an initialized project, `--platforms` and `--stacks` are additive. For
106
+ example, initializing Antigravity first and later running with
107
+ `--platforms codex` retains Antigravity and adds Codex. Removing a platform is
108
+ never inferred from an omitted command-line value.
109
+
110
+ ## Safe update behavior
111
+
112
+ `AGENTS.md`, `AGENTS.local.md`, and `CLAUDE.md` use explicit managed markers.
113
+ Only the content between those markers is updated, preserving project guidance
114
+ and sections maintained by tools such as Graphify.
115
+
116
+ Other generated files are replaced only when their current content matches the
117
+ last manifest. If a person edited one, initialization preserves it, reports a
118
+ conflict, and exits with code 2. Review the change and rerun with `--force` only
119
+ when replacement is intentional.
120
+
121
+ The initializer never deletes stale platform files automatically. Removing
122
+ configuration is a destructive decision and remains explicit. `--force` only
123
+ authorizes replacement of conflicting RepoSeed-generated files; it does
124
+ not authorize replacement of pre-existing Graphify skills, rules, or workflows.
125
+
126
+ ## Graphify
127
+
128
+ Graphify `0.9.49` is enabled by default and pinned in `pyproject.toml`. During
129
+ `init`, RepoSeed verifies the installed dependency and invokes it as:
130
+
131
+ ```text
132
+ <uvx-python> -m graphify <platform> install --project
133
+ ```
134
+
135
+ This avoids every global PATH and interpreter-discovery problem. The native
136
+ Graphify skill is also adapted to resolve the exact RepoSeed environment
137
+ through uvx. Its core setup will not recommend `pip install`, `uv tool install`,
138
+ or an unpinned Graphify upgrade. The managed package intentionally omits LLM
139
+ backend extras.
140
+
141
+ An existing standalone Graphify installation is left installed and unchanged.
142
+ If a project already contains a complete Graphify adapter, initialization keeps
143
+ its files and only refreshes the recognizable RepoSeed runtime block and
144
+ Graphify hook command. If an adapter is partial, missing files are repaired and
145
+ all pre-existing Graphify-owned files are restored afterward. Existing
146
+ `graphify-out/` data is never changed by `init`.
147
+
148
+ On a project where Graphify is already managed, `--no-graphify` skips adding it
149
+ to newly selected platforms; it does not uninstall or disable the platforms
150
+ that already use it.
151
+
152
+ Initialization configures the integration but does not build a graph because it
153
+ may run before a project contains source code. The managed integration is
154
+ strictly AST-only: it never sends repository content to an LLM, extracts
155
+ semantic document/media context, or labels communities with an LLM. Build the
156
+ code graph from the terminal:
157
+
158
+ ```bash
159
+ uvx reposeed graphify extract . --code-only
160
+ ```
161
+
162
+ The wrapper adds `--code-only` when omitted, adds `--no-label` to
163
+ `cluster-only`, and rejects semantic-only commands and flags. Installed agent
164
+ skills carry the same mandatory policy.
165
+
166
+ The graph is written under `graphify-out/`. After code changes, run:
167
+
168
+ ```bash
169
+ uvx reposeed graphify update .
170
+ ```
171
+
172
+ Initialized guidance starts with targeted source slices and budgeted `query`,
173
+ `path`, or `explain` calls instead of loading full reports or raw graph data.
174
+ The managed update command is a complete AST-only refresh: it updates
175
+ symbols, calls, imports, inheritance, and other structural relationships with
176
+ no LLM or API cost. Documents, papers, images, audio, and video are outside the
177
+ managed graph's scope.
178
+
179
+ Code graphs refresh automatically after commits and branch switches because
180
+ Graphify's Git hooks are installed by default. For a non-Git project or a team
181
+ that does not want repository hooks, opt out explicitly:
182
+
183
+ ```bash
184
+ uvx reposeed init --no-graphify-git-hooks
185
+ ```
186
+
187
+ Graphify adds to existing Git hooks instead of replacing them and also
188
+ registers its merge driver for `graphify-out/graph.json`. The initializer
189
+ records the setting and `doctor` verifies the installation. This automation
190
+ handles code and deletions and never schedules semantic work.
191
+
192
+ See
193
+ [`src/reposeed/foundation/GRAPHIFY.md`](src/reposeed/foundation/GRAPHIFY.md)
194
+ for the operating model.
195
+
196
+ ## Platform conventions
197
+
198
+ The canonical layout follows the open
199
+ [Agent Skills specification](https://agentskills.io/specification). Current
200
+ discovery paths and primary sources are recorded in
201
+ [`PLATFORM_SUPPORT.md`](src/reposeed/foundation/PLATFORM_SUPPORT.md).
202
+
203
+ ## Development and publishing
204
+
205
+ Development requires uv; Python and all dependencies are managed by it:
206
+
207
+ ```bash
208
+ uv sync --all-groups
209
+ uv run ruff check .
210
+ uv run ruff format --check .
211
+ uv run pytest
212
+ uv build --no-sources
213
+ ```
214
+
215
+ Install the current checkout as a local editable uv tool while developing:
216
+
217
+ ```bash
218
+ uv tool install --editable --force .
219
+ uvx reposeed --version
220
+ ```
221
+
222
+ Test the built wheel through uvx before publishing, then publish to PyPI:
223
+
224
+ ```bash
225
+ uvx --refresh --from ./dist/reposeed-0.4.0-py3-none-any.whl reposeed --version
226
+ uv publish
227
+ ```
@@ -0,0 +1,70 @@
1
+ [project]
2
+ name = "reposeed"
3
+ version = "0.4.0"
4
+ description = "Initialize portable AI coding standards and skills for Codex, Claude Code, Cursor, and Antigravity."
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ license = "MIT"
8
+ license-files = ["LICENSE"]
9
+ keywords = [
10
+ "agent-skills",
11
+ "codex",
12
+ "claude-code",
13
+ "cursor",
14
+ "antigravity",
15
+ "ai-coding",
16
+ ]
17
+ classifiers = [
18
+ "Development Status :: 3 - Alpha",
19
+ "Environment :: Console",
20
+ "License :: OSI Approved :: MIT License",
21
+ "Programming Language :: Python :: 3",
22
+ "Programming Language :: Python :: 3.10",
23
+ "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
25
+ "Programming Language :: Python :: 3.13",
26
+ "Programming Language :: Python :: 3.14",
27
+ ]
28
+ dependencies = ["graphifyy==0.9.49"]
29
+
30
+ [[project.authors]]
31
+ name = "RepoSeed contributors"
32
+
33
+ [project.scripts]
34
+ reposeed = "reposeed.cli:main"
35
+
36
+ [dependency-groups]
37
+ dev = [
38
+ "pytest>=8.3,<10",
39
+ "ruff>=0.12,<1",
40
+ ]
41
+
42
+ [build-system]
43
+ requires = ["uv_build>=0.12.5,<0.13"]
44
+ build-backend = "uv_build"
45
+
46
+ [tool.pytest.ini_options]
47
+ addopts = "-q"
48
+ testpaths = ["tests"]
49
+
50
+ [tool.ruff]
51
+ line-length = 100
52
+ target-version = "py310"
53
+
54
+ [tool.ruff.lint]
55
+ select = [
56
+ "E",
57
+ "F",
58
+ "I",
59
+ "UP",
60
+ "B",
61
+ "SIM",
62
+ ]
63
+
64
+ [tool.uv.build-backend]
65
+ source-exclude = [
66
+ "/.pytest_cache",
67
+ "/.ruff_cache",
68
+ "/dist",
69
+ "/node_modules",
70
+ ]
@@ -0,0 +1,61 @@
1
+ [project]
2
+ name = "reposeed"
3
+ version = "0.4.0"
4
+ description = "Initialize portable AI coding standards and skills for Codex, Claude Code, Cursor, and Antigravity."
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ license = "MIT"
8
+ license-files = ["LICENSE"]
9
+ authors = [{ name = "RepoSeed contributors" }]
10
+ keywords = [
11
+ "agent-skills",
12
+ "codex",
13
+ "claude-code",
14
+ "cursor",
15
+ "antigravity",
16
+ "ai-coding",
17
+ ]
18
+ classifiers = [
19
+ "Development Status :: 3 - Alpha",
20
+ "Environment :: Console",
21
+ "License :: OSI Approved :: MIT License",
22
+ "Programming Language :: Python :: 3",
23
+ "Programming Language :: Python :: 3.10",
24
+ "Programming Language :: Python :: 3.11",
25
+ "Programming Language :: Python :: 3.12",
26
+ "Programming Language :: Python :: 3.13",
27
+ "Programming Language :: Python :: 3.14",
28
+ ]
29
+ dependencies = ["graphifyy==0.9.49"]
30
+
31
+ [project.scripts]
32
+ reposeed = "reposeed.cli:main"
33
+
34
+ [dependency-groups]
35
+ dev = [
36
+ "pytest>=8.3,<10",
37
+ "ruff>=0.12,<1",
38
+ ]
39
+
40
+ [build-system]
41
+ requires = ["uv_build>=0.12.5,<0.13"]
42
+ build-backend = "uv_build"
43
+
44
+ [tool.pytest.ini_options]
45
+ addopts = "-q"
46
+ testpaths = ["tests"]
47
+
48
+ [tool.ruff]
49
+ line-length = 100
50
+ target-version = "py310"
51
+
52
+ [tool.ruff.lint]
53
+ select = ["E", "F", "I", "UP", "B", "SIM"]
54
+
55
+ [tool.uv.build-backend]
56
+ source-exclude = [
57
+ "/.pytest_cache",
58
+ "/.ruff_cache",
59
+ "/dist",
60
+ "/node_modules",
61
+ ]
@@ -0,0 +1,10 @@
1
+ """RepoSeed project initializer."""
2
+
3
+ from importlib.metadata import PackageNotFoundError, version
4
+
5
+ try:
6
+ __version__ = version("reposeed")
7
+ except PackageNotFoundError:
8
+ __version__ = "0.4.0"
9
+
10
+ __all__ = ["__version__"]
@@ -0,0 +1,3 @@
1
+ from reposeed.cli import main
2
+
3
+ raise SystemExit(main())