diff --git a/AGENTS.md b/AGENTS.md index b957cff..939dc96 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -34,6 +34,9 @@ Release and move `v0` by hand, or cut a new patch tag. Real work **not scheduled** becomes a GitHub issue. +Every link in `README.md` must be absolute: `https://github.com/modern-python//blob/main/`, +or `.../tree/main/` for a directory. Never a relative path: `README.md` is also the PyPI long +description, and PyPI does not rewrite relative links, so a relative one 404s on the package page. + An invariant is a test whose name is the claim, with a docstring opening `INVARIANT:` and a second paragraph naming **what breaks it** — design rationale, not a report of what this one test catches. -Nothing enforces that docstring shape; it is read at review time. diff --git a/README.md b/README.md index 208675f..f996bc3 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ jobs: semvertag auto-detects GitHub Actions, picks the bump from the latest commit, and creates the tag ref via the GitHub API. `fetch-depth: 0` matters — the default `1` misses tag-relative history. See -[GitHub Actions docs](docs/providers/github.md) for token scopes, +[GitHub Actions docs](https://github.com/modern-python/semvertag/blob/main/docs/providers/github.md) for token scopes, GitHub Enterprise setup, outputs, and troubleshooting. ## Strategies @@ -103,7 +103,7 @@ semvertag stands on other `modern-python` libraries: - **[modern-di-typer](https://github.com/modern-python/modern-di-typer)** — dependency-injection wiring for the Typer CLI. semvertag resolves its settings, API providers, and bump strategies through a `modern_di` container - ([`semvertag/ioc.py`](semvertag/ioc.py)). + ([`semvertag/ioc.py`](https://github.com/modern-python/semvertag/blob/main/semvertag/ioc.py)). - **[httpware](https://github.com/modern-python/httpware)** — the resilient HTTP client both providers use for the GitLab/GitHub REST calls (retries, timeouts, typed decoding, secret redaction). @@ -112,7 +112,7 @@ semvertag stands on other `modern-python` libraries: ## 📦 [PyPI](https://pypi.org/project/semvertag) -## 📝 [License](LICENSE) +## 📝 [License](https://github.com/modern-python/semvertag/blob/main/LICENSE) ## Part of `modern-python`