treewide: point felis at git.natsukium.com/felis-terminal/felis #449

Closed
natsukium wants to merge 3 commits from docs/felis-terminal-host into main
Owner

felis is moving to the public Forgejo organization at https://git.natsukium.com/felis-terminal/felis. This PR changes every reference to felis's own repository that still names the GitHub location (github.com/felis-terminal/felis, raw.githubusercontent.com/felis-terminal/felis, github:felis-terminal/felis) or the current git.natsukium.com/natsukium/felis path.

Merge only after the repository is live at the new path

Do not merge this until https://git.natsukium.com/felis-terminal/felis exists. Until then, the install commands, the clone URL, the schema $id / #:schema URLs and the issue links in this diff all point at a repository that does not exist yet.

No CI job depends on this diff. Nothing in it is executed against the forge by CI or by a test:

  • .forgejo/workflows/release.yml (the release API calls at api=$FORGEJO_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY…, the release-notes flake reference, and the git push "$FORGEJO_SERVER_URL/$GITHUB_REPOSITORY.git") and tools/proto/compat.py (the baseline release lookup) take the repository from $GITHUB_REPOSITORY / $FORGEJO_SERVER_URL at run time. They hardcode no repository path, so neither file needed an edit. Once Actions runs in the moved repository they follow it automatically, as long as the move keeps the releases, because proto-compat reads its baseline from the latest release.
  • tools/proto/compat_test.py: only the fixture's REPOSITORY constant changes. It is served by the test's local HTTP server at https://forge.invalid, and the network is never reached.
  • The schema $id tests (crates/felis-grid/tests/json_v1.rs, crates/felis-cli/tests/common/schema.rs) compare strings offline, and the committed schemas match what just schema regenerates.

What changed

  • Cargo.toml repository, nix/package.nix meta.homepage
  • README quick start and docs/how-to/install.md: flake references use git+https://git.natsukium.com/felis-terminal/felis (Nix has no Forgejo shorthand), with #docs for the docs package and ?ref=refs/tags/v0.1.0 for a tag. The same form is already printed in the release notes. The clone URL also moves.
  • JSON Schema $ids and $refs (felis-cli-v1, felis-bridge-v1, felis-json-v1) and the RAW_BASE constants that generate them, plus the schema links in docs/reference/cli.md, config.md (#:schema) and the shipped skills/felis/SKILL.md, now point at …/raw/branch/main/…
  • Issue links in the docs, README, support matrix, and the test-strategy agent skill
  • README: dropped the "mirrored on GitHub" clause
  • CHANGELOG: an Unreleased entry for the new install and schema URLs

Left alone on purpose

  • The CHANGELOG.md link-reference lines and tools/release/verify.py, which #448 owns
  • Third-party URLs (kitty, alacritty, Nix flake inputs, etc.) and the project's cache hosts (nix-cache.natsukium.com, niks3.natsukium.com), which are not repository paths
  • https://felis-docs.pages.dev, the published manual, which is not a repository URL
  • The macOS bundle identifier com.natsukium.felis, which is an app identity and not a URL. Changing it would change the identity of installed apps.
  • Cargo.toml has no homepage key, so none was added

Verification

  • nix develop -c just check passes, including prose-check, docs-links, proto-compat and its self-tests
  • just schema regenerates the committed schemas with no diff
  • pi review (sol): PASS on the first round
felis is moving to the public Forgejo organization at https://git.natsukium.com/felis-terminal/felis. This PR changes every reference to felis's own repository that still names the GitHub location (`github.com/felis-terminal/felis`, `raw.githubusercontent.com/felis-terminal/felis`, `github:felis-terminal/felis`) or the current `git.natsukium.com/natsukium/felis` path. ## Merge only after the repository is live at the new path **Do not merge this until `https://git.natsukium.com/felis-terminal/felis` exists.** Until then, the install commands, the clone URL, the schema `$id` / `#:schema` URLs and the issue links in this diff all point at a repository that does not exist yet. No CI job depends on this diff. Nothing in it is executed against the forge by CI or by a test: - `.forgejo/workflows/release.yml` (the release API calls at `api=$FORGEJO_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY…`, the release-notes flake reference, and the `git push "$FORGEJO_SERVER_URL/$GITHUB_REPOSITORY.git"`) and `tools/proto/compat.py` (the baseline release lookup) take the repository from `$GITHUB_REPOSITORY` / `$FORGEJO_SERVER_URL` at run time. They hardcode no repository path, so neither file needed an edit. Once Actions runs in the moved repository they follow it automatically, as long as the move keeps the releases, because `proto-compat` reads its baseline from the latest release. - `tools/proto/compat_test.py`: only the fixture's `REPOSITORY` constant changes. It is served by the test's local HTTP server at `https://forge.invalid`, and the network is never reached. - The schema `$id` tests (`crates/felis-grid/tests/json_v1.rs`, `crates/felis-cli/tests/common/schema.rs`) compare strings offline, and the committed schemas match what `just schema` regenerates. ## What changed - `Cargo.toml` `repository`, `nix/package.nix` `meta.homepage` - README quick start and docs/how-to/install.md: flake references use `git+https://git.natsukium.com/felis-terminal/felis` (Nix has no Forgejo shorthand), with `#docs` for the docs package and `?ref=refs/tags/v0.1.0` for a tag. The same form is already printed in the release notes. The clone URL also moves. - JSON Schema `$id`s and `$ref`s (`felis-cli-v1`, `felis-bridge-v1`, `felis-json-v1`) and the `RAW_BASE` constants that generate them, plus the schema links in docs/reference/cli.md, config.md (`#:schema`) and the shipped `skills/felis/SKILL.md`, now point at `…/raw/branch/main/…` - Issue links in the docs, README, support matrix, and the test-strategy agent skill - README: dropped the "mirrored on GitHub" clause - CHANGELOG: an Unreleased entry for the new install and schema URLs ## Left alone on purpose - The `CHANGELOG.md` link-reference lines and `tools/release/verify.py`, which #448 owns - Third-party URLs (kitty, alacritty, Nix flake inputs, etc.) and the project's cache hosts (`nix-cache.natsukium.com`, `niks3.natsukium.com`), which are not repository paths - `https://felis-docs.pages.dev`, the published manual, which is not a repository URL - The macOS bundle identifier `com.natsukium.felis`, which is an app identity and not a URL. Changing it would change the identity of installed apps. - `Cargo.toml` has no `homepage` key, so none was added ## Verification - `nix develop -c just check` passes, including prose-check, docs-links, proto-compat and its self-tests - `just schema` regenerates the committed schemas with no diff - pi review (sol): PASS on the first round
treewide: point felis at git.natsukium.com/felis-terminal/felis
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 13s
darwin / darwin docs-only no-op (pull_request) Has been skipped
darwin / publish felis (aarch64-darwin) (pull_request) Has been cancelled
fuzz / cargo fuzz smoke (per target) (pull_request) Has been cancelled
pr / nix flake check (pull_request) Has been cancelled
pr / cargo build / clippy / test / deny (pull_request) Has been cancelled
pr / wire schema is compatible with the base (pull_request) Has been cancelled
pr / frontend smoke (x86_64-linux) (pull_request) Has been cancelled
pr / publish felis (x86_64-linux) (pull_request) Has been cancelled
windows / detect relevant changes (pull_request) Has been cancelled
windows / cargo clippy (Windows cross) (pull_request) Has been cancelled
windows / cargo nextest (Windows) (pull_request) Has been cancelled
windows / frontend smoke (Windows) (pull_request) Has been cancelled
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been cancelled
windows / windows docs-only no-op (pull_request) Has been cancelled
bench / Criterion regression gate (pull_request) Has been cancelled
darwin / build felis (aarch64-darwin) (pull_request) Has been cancelled
a125bb6b40
The project is moving to the public Forgejo organization at
git.natsukium.com/felis-terminal/felis. Every install command, flake
reference, crate and package metadata field, published schema $id and
issue link still named either the GitHub location or the private
natsukium/felis one, so a reader following them would land on a repo
that is no longer the source of truth.

Flake references use git+https because Nix has no forge shorthand for
Forgejo; a tag is spelled ?ref=refs/tags/<tag>, the same form the
release notes already print. Schema $ids use Forgejo's raw/branch/main
path, the equivalent of the raw.githubusercontent.com URL they replace.
The README drops the GitHub-mirror clause, since the mirror link was
the only reason to mention GitHub at all.

The CHANGELOG link references are left for the release-link change
that owns them.

Assisted-by: Claude Code
docs: keep the GitHub mirror in the README and the CHANGELOG
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 13s
darwin / darwin docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 53s
bench / Criterion regression gate (pull_request) Has been cancelled
darwin / publish felis (aarch64-darwin) (pull_request) Has been skipped
fuzz / cargo fuzz smoke (per target) (pull_request) Has been cancelled
pr / nix flake check (pull_request) Has been cancelled
pr / cargo build / clippy / test / deny (pull_request) Has been cancelled
pr / wire schema is compatible with the base (pull_request) Has been cancelled
pr / frontend smoke (x86_64-linux) (pull_request) Has been cancelled
pr / publish felis (x86_64-linux) (pull_request) Has been cancelled
windows / detect relevant changes (pull_request) Has been cancelled
windows / cargo clippy (Windows cross) (pull_request) Has been cancelled
windows / cargo nextest (Windows) (pull_request) Has been cancelled
windows / frontend smoke (Windows) (pull_request) Has been cancelled
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been cancelled
windows / windows docs-only no-op (pull_request) Has been cancelled
5fbeffd117
The GitHub repository stays as a mirror of the Forgejo one, so the
README keeps pointing at it, and the CHANGELOG no longer tells users
that `github:felis-terminal/felis` or the old schema URLs stop working.

Assisted-by: Claude Code
docs: install felis from the GitHub mirror
Some checks failed
darwin / build felis (aarch64-darwin) (pull_request) Successful in 53s
darwin / publish felis (aarch64-darwin) (pull_request) Has been skipped
bench / Criterion regression gate (pull_request) Failing after 2m20s
pr / cargo build / clippy / test / deny (pull_request) Has been cancelled
pr / wire schema is compatible with the base (pull_request) Has been cancelled
pr / frontend smoke (x86_64-linux) (pull_request) Has been cancelled
pr / publish felis (x86_64-linux) (pull_request) Has been cancelled
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 13s
darwin / darwin docs-only no-op (pull_request) Has been skipped
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m9s
pr / nix flake check (pull_request) Has been cancelled
windows / detect relevant changes (pull_request) Has been cancelled
windows / cargo nextest (Windows) (pull_request) Has been cancelled
windows / frontend smoke (Windows) (pull_request) Has been cancelled
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been cancelled
windows / windows docs-only no-op (pull_request) Has been cancelled
windows / cargo clippy (Windows cross) (pull_request) Has been cancelled
838fa5a2b7
Filing an issue on the Forgejo instance needs an account there, so
GitHub stays the public face: the flake refs and the clone URL in the
install docs keep pointing at the mirror, and only the canonical
repository and the schema URLs move to git.natsukium.com.

Assisted-by: Claude Code
Author
Owner

Not needed: published links stay on the GitHub mirror (github.com/felis-terminal/felis) for stability, even after the repository moves.

Not needed: published links stay on the GitHub mirror (github.com/felis-terminal/felis) for stability, even after the repository moves.
natsukium closed this pull request 2026-09-25 13:09:58 +09:00
Commenting is not possible because the repository is archived.
No description provided.