Metadata-Version: 2.5
Name: dgconvert
Version: 0.11.0
Summary: Helper library for building dgpkm-compatible seeds (frontmatter, slugs, link rewriting, dgpkm doctor verification)
Project-URL: Homepage, https://github.com/ScriptAutomate/dgconvert
Project-URL: Repository, https://github.com/ScriptAutomate/dgconvert
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.12
Requires-Dist: pyyaml>=6
Description-Content-Type: text/markdown

# dgconvert

A small Python **helper library** for building
[dgpkm](https://github.com/ScriptAutomate/dgpkm)-compatible **seeds**
(pre-created gardens, ready to plant into a greenhouse).

`dgconvert` is not a task runner. Each seed repo owns its own
`docufig.seed.json` and its own plain-Python conversion script;
`dgconvert` supplies the pieces every seed needs regardless of source
format — dotted-slug file naming, single-line frontmatter with stable
ids, markdown-link → dgpkm-wikilink rewriting, and a wrapper that
verifies output with `dgpkm doctor`.

See `DESIGN.md` for the full architecture and the verified
dgpkm-compatibility constraints it's built against. The library was
generalized out of a first seed's own inline conversion code once a
second, independent seed needed the same pieces.

## Installing

```bash
uv add dgconvert
# or
pip install dgconvert
```

## Development

Managed with [uv](https://docs.astral.sh/uv/) and [just](https://just.systems/),
using [Spec Kit](https://github.com/github/spec-kit) for feature specs
(`specs/`, `.specify/`) — unlike seed repos, which don't use Spec Kit:

```bash
just            # list tasks
just sync       # uv sync
just test       # uv run pytest
just check      # format + lint
```

Container-based development mirrors dgpkm: set `USE_CONTAINER_DEV` to
`podman`, `docker`, or `container`, then `just build-devcontainer` once and
every build/test recipe runs inside the dev container automatically.

## License

[MIT](LICENSE)
