chore: point homepage at the org wiki
CI / Build (push) Successful in 32s

The Cargo homepage feeds Plugin::URL, which hosts can show to users, so a
LAN-only Gitea address was the wrong value there. wiki.novoyuuparosk.org
is still a placeholder, but a reachable one.

The Gitea URL is deliberately not added to STALE even though it was
retired as the homepage: it remains the correct clone URL and appears in
the README as one. A value can be retired from one role while staying
current in another, and STALE is about spellings nobody should use rather
than values that moved fields. The checker flagged it and this is the
resolution, matching how codename-206 exempts its own repo name.

Also finishes turning the template's README into this plugin's. The
scaffold left a Quick Start telling the reader to clone the template, and
a `sh check-branding.sh` path that has since moved under tools/. The full
branding rationale stays in the template; this repo keeps a pointer and
the facts specific to it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WHt4DykxXaQnyaJfyS8KCn
This commit is contained in:
2026-09-04 16:14:21 +09:00
parent 728cce5e97
commit 1dc7721f7a
4 changed files with 15 additions and 59 deletions
+1 -1
View File
@@ -3,7 +3,7 @@ name = "kolmekivi"
version = "0.1.0"
edition = "2021"
authors = ["Mikkeli Matlock <mikkeli@novoyuuparosk.org>"]
homepage = "http://192.168.2.199:3005/musiikki/kolmekivi"
homepage = "https://wiki.novoyuuparosk.org"
description = "A stereo delay/echo plugin built with NIH-plug"
license = "GPL-3.0-or-later"
+12 -56
View File
@@ -8,66 +8,22 @@ the DSP is not written yet, the plugin currently passes audio through an example
## Quick Start
```bash
# Clone this repo as your starting point
git clone http://192.168.2.199:3005/musiikki/nih-plug-template my-plugin
cd my-plugin
# Edit: src/lib.rs, Cargo.toml, bundler.toml — replace placeholder values
# See musiikki/codename-206 for a real-world example of how to fill these in
# Then verify the rename landed everywhere
sh check-branding.sh
git clone http://192.168.2.199:3005/musiikki/kolmekivi
cd kolmekivi
cargo xtask bundle kolmekivi --release --features vst3
```
## Renaming
## Branding
Identity is duplicated across `Cargo.toml`, `bundler.toml`, `src/lib.rs`, `NOTICE`,
`Cargo.lock`, the CI workflow and the docs. Nothing makes those agree, so a half-finished
rename builds a bundle under one name while CI bundles another.
Identity lives in `tools/branding.conf`; `sh tools/check-branding.sh` asserts every copy of
it agrees, and CI runs that on each push. To rename the plugin, use
`sh tools/brand-plugin.sh` — it derives the package and type names, refuses to move the
frozen `CLAP_ID`/`VST3_CLASS_ID` without `--allow-identity-change`, and verifies itself with
the checker afterwards. The toolkit and the reasoning behind it live in
[`musiikki/nih-plug-template`](http://192.168.2.199:3005/musiikki/nih-plug-template).
Everything for it lives in `tools/`:
```
tools/branding.conf the names, and what derives from what
tools/branding-sites.tsv where each name has to appear, and in what form
tools/brand-plugin.sh changes names
tools/check-branding.sh verifies them
```
```bash
sh tools/brand-plugin.sh # interactive; Enter keeps a value
sh tools/brand-plugin.sh --display "Fuzz Box" # or non-interactive; dry run
sh tools/brand-plugin.sh --display "Fuzz Box" --apply
sh tools/check-branding.sh # exit 0 = consistent, 1 = drift
```
**One name drives the rest.** `PLUGIN_NAME` derives the package name (`Fuzz Box` →
`fuzz_box`), the Rust types (`FuzzBox`, `FuzzBoxParams`) and the display name. Each is
overridable in `branding.conf`, because the derivation is sometimes wrong and sometimes
outright invalid — `206 Prototype` derives to `206_prototype`, which Cargo rejects since a
package name cannot start with a digit. The helper refuses those, along with Rust keywords
and built-in crate names.
**The checker does both halves.** Every canonical value is asserted *present* where it
belongs, and every retired spelling is swept for. Absence alone is not enough: renaming to
the wrong new spelling would pass a stale-sweep and still break CI.
**Two things it will not do for you.** `CLAP_ID` and `VST3_CLASS_ID` are how hosts recognise
saved projects and presets — change either and every existing session silently loses the
plugin, with no error. They need `--allow-identity-change`, and the 16-byte class ID is
*proposed* rather than derived, because that choice is yours. And `CLAP_DESCRIPTION` is
rejected if it carries a retired name or the repo codename: hosts show it to users who never
knew your development history.
**The repo name is deliberately not derived.** It is fixed when the repo is created and keeps
its development codename while the plugin gets a product name. `CODENAME` records it so it
can be kept out of user-facing text.
Adding a site the template doesn't ship is one row in `branding-sites.tsv` with owner
`custom` — no shell to edit, and it survives regeneration. Rows the helper owns are rewritten
on each rename; custom rows are carried through and value-substituted like any other file.
Both files can be hand-edited; the helper is what keeps them agreeing, so run the checker
after if you do.
The repository keeps the name `kolmekivi` even if the plugin is renamed — that is the
development codename, fixed at creation.
## Build
+1 -1
View File
@@ -25,7 +25,7 @@ req name.plugin src/lib.rs const NAME: &'static str = "Kolmekivi"
req vendor.plugin src/lib.rs const VENDOR: &'static str = "Novoyuuparosk"
req email.plugin src/lib.rs const EMAIL: &'static str = "mikkeli@novoyuuparosk.org"
req authors.cargo Cargo.toml authors = ["Mikkeli Matlock <mikkeli@novoyuuparosk.org>"]
req homepage.cargo Cargo.toml homepage = "http://192.168.2.199:3005/musiikki/kolmekivi"
req homepage.cargo Cargo.toml homepage = "https://wiki.novoyuuparosk.org"
req url.plugin src/lib.rs const URL: &'static str = env!("CARGO_PKG_HOMEPAGE")
req description.cargo Cargo.toml description = "A stereo delay/echo plugin built with NIH-plug"
req description.clap src/lib.rs Some("Stereo delay with feedback and mix control")
Can't render this file because it contains an unexpected character in line 7 and column 64.
+1 -1
View File
@@ -30,7 +30,7 @@ EMAIL="mikkeli@novoyuuparosk.org"
# an org ships the plugin, a person authored it. Defaults to VENDOR when the two
# are the same, which is the common case for a one-person project.
AUTHOR="Mikkeli Matlock"
HOMEPAGE="http://192.168.2.199:3005/musiikki/kolmekivi"
HOMEPAGE="https://wiki.novoyuuparosk.org"
DESCRIPTION="A stereo delay/echo plugin built with NIH-plug"
# What the plugin does *now*. No codename, no "prototype", no "v2 rewrite" -