Metadata-Version: 2.4
Name: reposeed
Version: 0.4.0
Summary: Initialize portable AI coding standards and skills for Codex, Claude Code, Cursor, and Antigravity.
Keywords: agent-skills,codex,claude-code,cursor,antigravity,ai-coding
Author: RepoSeed contributors
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: graphifyy==0.9.49
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# RepoSeed

Initialize a project-wide AI coding foundation for Codex, Claude Code, Cursor,
and Google Antigravity with one uv command:

```bash
uvx reposeed init
```

`uv` is the only prerequisite. It runs RepoSeed in an isolated Python
environment and automatically provides a compatible Python interpreter when the
machine does not already have one. Graphify is a pinned dependency of that same
environment, so RepoSeed never bootstraps uv, invokes pip, or relies on a
global `graphify` executable.

The initializer installs portable Agent Skills, shared engineering guidance,
repository-aware commands, platform adapters, and the managed Graphify setup.
It is safe to rerun: marked instruction blocks are merged, generated files are
tracked by hash, and local edits are reported as conflicts instead of silently
overwritten.

## Quick start

Run interactively from the project you want to configure:

```bash
uvx reposeed init
```

Or configure it non-interactively:

```bash
uvx reposeed init ./my-project \
  --platforms codex,claude,cursor,antigravity \
  --stacks node,python \
  --yes
```

Preview without writing:

```bash
uvx reposeed init --dry-run --yes
```

Validate an installation:

```bash
uvx reposeed doctor
```

Pin a specific RepoSeed release when reproducibility across a team or CI
matters:

```bash
uvx reposeed==0.4.0 init --yes
```

## What is generated

| Path | Purpose |
|---|---|
| `AGENTS.md` | Shared, always-on engineering behavior in a managed block |
| `AGENTS.local.md` | Detected project commands and repository-specific notes |
| `CHANGELOG.md` | Dated, commit-aligned project history for humans and agents |
| `.agents/skills/` | Canonical Agent Skills for Codex, Cursor, and Antigravity |
| `CLAUDE.md` | Claude bridge to the shared instructions, when selected |
| `.claude/skills/` | Managed Claude Code skill mirror, when selected |
| `.reposeed/config.json` | Selected platforms, stacks, and integrations |
| `.reposeed/graphify.json` | Pinned Graphify version and managed platforms |
| `.reposeed/manifest.json` | File hashes used for conflict-safe updates |
| `.reposeed/guides/` | Operating, platform, and Graphify references |

Universal skills cover clarification, planning, diagnosis, test-driven
development, code review, evidence-based completion, changelog maintenance,
commits, pull requests, security review, and compounding repository knowledge.
Stack skills are available for Node.js/TypeScript, Python, PHP, and
Flutter/Dart. Stack detection reads the target project's standard manifests
and lockfiles.

## Commands and options

```text
reposeed init [directory]
  -p, --platforms <names>  codex, claude, cursor, antigravity
  -s, --stacks <names>     node, python, php, flutter
  -y, --yes                accept defaults without prompts
      --no-graphify        skip managed Graphify integration
      --graphify-git-hooks explicitly enable the default Graphify Git hooks
      --no-graphify-git-hooks skip or remove the default Graphify Git hooks
      --dry-run            show planned changes
      --force              replace conflicting generated files
      --json               emit machine-readable output

reposeed doctor [directory]
      --json               emit machine-readable output

reposeed graphify <arguments...>
      run the pinned Graphify CLI in the same uvx environment
```

With `--yes`, all four platforms are selected and application stacks are
auto-detected unless explicit lists are supplied. Pass `--stacks ""` for
universal skills only.

On an initialized project, `--platforms` and `--stacks` are additive. For
example, initializing Antigravity first and later running with
`--platforms codex` retains Antigravity and adds Codex. Removing a platform is
never inferred from an omitted command-line value.

## Safe update behavior

`AGENTS.md`, `AGENTS.local.md`, and `CLAUDE.md` use explicit managed markers.
Only the content between those markers is updated, preserving project guidance
and sections maintained by tools such as Graphify.

Other generated files are replaced only when their current content matches the
last manifest. If a person edited one, initialization preserves it, reports a
conflict, and exits with code 2. Review the change and rerun with `--force` only
when replacement is intentional.

The initializer never deletes stale platform files automatically. Removing
configuration is a destructive decision and remains explicit. `--force` only
authorizes replacement of conflicting RepoSeed-generated files; it does
not authorize replacement of pre-existing Graphify skills, rules, or workflows.

## Graphify

Graphify `0.9.49` is enabled by default and pinned in `pyproject.toml`. During
`init`, RepoSeed verifies the installed dependency and invokes it as:

```text
<uvx-python> -m graphify <platform> install --project
```

This avoids every global PATH and interpreter-discovery problem. The native
Graphify skill is also adapted to resolve the exact RepoSeed environment
through uvx. Its core setup will not recommend `pip install`, `uv tool install`,
or an unpinned Graphify upgrade. The managed package intentionally omits LLM
backend extras.

An existing standalone Graphify installation is left installed and unchanged.
If a project already contains a complete Graphify adapter, initialization keeps
its files and only refreshes the recognizable RepoSeed runtime block and
Graphify hook command. If an adapter is partial, missing files are repaired and
all pre-existing Graphify-owned files are restored afterward. Existing
`graphify-out/` data is never changed by `init`.

On a project where Graphify is already managed, `--no-graphify` skips adding it
to newly selected platforms; it does not uninstall or disable the platforms
that already use it.

Initialization configures the integration but does not build a graph because it
may run before a project contains source code. The managed integration is
strictly AST-only: it never sends repository content to an LLM, extracts
semantic document/media context, or labels communities with an LLM. Build the
code graph from the terminal:

```bash
uvx reposeed graphify extract . --code-only
```

The wrapper adds `--code-only` when omitted, adds `--no-label` to
`cluster-only`, and rejects semantic-only commands and flags. Installed agent
skills carry the same mandatory policy.

The graph is written under `graphify-out/`. After code changes, run:

```bash
uvx reposeed graphify update .
```

Initialized guidance starts with targeted source slices and budgeted `query`,
`path`, or `explain` calls instead of loading full reports or raw graph data.
The managed update command is a complete AST-only refresh: it updates
symbols, calls, imports, inheritance, and other structural relationships with
no LLM or API cost. Documents, papers, images, audio, and video are outside the
managed graph's scope.

Code graphs refresh automatically after commits and branch switches because
Graphify's Git hooks are installed by default. For a non-Git project or a team
that does not want repository hooks, opt out explicitly:

```bash
uvx reposeed init --no-graphify-git-hooks
```

Graphify adds to existing Git hooks instead of replacing them and also
registers its merge driver for `graphify-out/graph.json`. The initializer
records the setting and `doctor` verifies the installation. This automation
handles code and deletions and never schedules semantic work.

See
[`src/reposeed/foundation/GRAPHIFY.md`](src/reposeed/foundation/GRAPHIFY.md)
for the operating model.

## Platform conventions

The canonical layout follows the open
[Agent Skills specification](https://agentskills.io/specification). Current
discovery paths and primary sources are recorded in
[`PLATFORM_SUPPORT.md`](src/reposeed/foundation/PLATFORM_SUPPORT.md).

## Development and publishing

Development requires uv; Python and all dependencies are managed by it:

```bash
uv sync --all-groups
uv run ruff check .
uv run ruff format --check .
uv run pytest
uv build --no-sources
```

Install the current checkout as a local editable uv tool while developing:

```bash
uv tool install --editable --force .
uvx reposeed --version
```

Test the built wheel through uvx before publishing, then publish to PyPI:

```bash
uvx --refresh --from ./dist/reposeed-0.4.0-py3-none-any.whl reposeed --version
uv publish
```
