chore: bring repo to full governance compliance (FJMCP-1) #1

Merged
David merged 1 commit from chore/governance-compliance-fjmcp-1 into main 2026-05-27 03:43:40 +02:00
Owner

Brings forgejo-mcp to the same governance compliance profile as the sibling pandoras-box/forgejo-cli, adapted for a single-crate, git-dependency layout (no workspace, no localization/, no build.rs). Resolves #FJMCP-1.

What landed

  • Root files: CLAUDE.md (MCP shape + governance pointer), LICENSE-APACHE, LICENSE-MIT, .dockerignore; repository added to Cargo.toml.
  • oci-build/: Dockerfile (glibc builder, binary scratch export, debian:trixie-slim local runtime), Dockerfile.windows (mingw cross-compile), get-tags.nu (verbatim).
  • .forgejo/workflows/: check.yml (fmt + clippy + build + tests), build-binary.yml (Linux x86_64), build-binary-windows.yml (mingw), create-release.yml. PACKAGE_NAME=forgejo-mcp; GIT_SHA accepted for the OCI label only; the fj-specific FJ_TRAIN / version-manifest / update-check machinery is dropped.
  • justfile: standard recipe set including install-hooks and pre-commit (PRE_COMMIT.md Template B, ad-hoc docker run), with create-release reading the version from the root Cargo.toml.
  • README.md: added Development and Releases sections.

Deliverable and deviations

The deliverable is the binary published to the Generic Packages registry for Linux x86_64 (forgejo-mcp-linux-x86_64) and Windows x86_64 (forgejo-mcp-windows-x86_64.exe), matching forgejo-cli; the runtime image stage is a local convenience only. flake.nix is intentionally omitted (upstream-inherited in forgejo-cli, not a CHECKLIST.md requirement, and buildRustPackage over git-source crates needs per-dependency outputHashes). Compose / .env / .devcontainer / port assignments do not apply to a pure stdio MCP server, same exemption forgejo-cli documents.

Verification

cargo fmt --check, cargo clippy --all-targets -- -D warnings, cargo build --all-targets, and cargo test all pass locally, and the oci-build/Dockerfile builder stage compiles end-to-end (git-dependency fetch under --locked works inside the container; fj-client / fj-core build from the pinned v0.6.0 tag).

Note: the Windows mingw cross-compile of openssl-sys / libgit2 validates on the first CI run; if it fails to find a cross OpenSSL, the fix is to enable the vendored feature.

Brings `forgejo-mcp` to the same governance compliance profile as the sibling `pandoras-box/forgejo-cli`, adapted for a single-crate, git-dependency layout (no workspace, no `localization/`, no `build.rs`). Resolves #FJMCP-1. ## What landed - Root files: `CLAUDE.md` (MCP shape + governance pointer), `LICENSE-APACHE`, `LICENSE-MIT`, `.dockerignore`; `repository` added to `Cargo.toml`. - `oci-build/`: `Dockerfile` (glibc builder, `binary` scratch export, `debian:trixie-slim` local runtime), `Dockerfile.windows` (mingw cross-compile), `get-tags.nu` (verbatim). - `.forgejo/workflows/`: `check.yml` (fmt + clippy + build + tests), `build-binary.yml` (Linux x86_64), `build-binary-windows.yml` (mingw), `create-release.yml`. `PACKAGE_NAME=forgejo-mcp`; `GIT_SHA` accepted for the OCI label only; the `fj`-specific `FJ_TRAIN` / version-manifest / `update-check` machinery is dropped. - `justfile`: standard recipe set including `install-hooks` and `pre-commit` (PRE_COMMIT.md Template B, ad-hoc docker run), with `create-release` reading the version from the root `Cargo.toml`. - `README.md`: added Development and Releases sections. ## Deliverable and deviations The deliverable is the binary published to the Generic Packages registry for Linux x86_64 (`forgejo-mcp-linux-x86_64`) and Windows x86_64 (`forgejo-mcp-windows-x86_64.exe`), matching `forgejo-cli`; the runtime image stage is a local convenience only. `flake.nix` is intentionally omitted (upstream-inherited in `forgejo-cli`, not a `CHECKLIST.md` requirement, and `buildRustPackage` over git-source crates needs per-dependency `outputHashes`). Compose / `.env` / `.devcontainer` / port assignments do not apply to a pure stdio MCP server, same exemption `forgejo-cli` documents. ## Verification `cargo fmt --check`, `cargo clippy --all-targets -- -D warnings`, `cargo build --all-targets`, and `cargo test` all pass locally, and the `oci-build/Dockerfile` builder stage compiles end-to-end (git-dependency fetch under `--locked` works inside the container; `fj-client` / `fj-core` build from the pinned `v0.6.0` tag). Note: the Windows mingw cross-compile of `openssl-sys` / `libgit2` validates on the first CI run; if it fails to find a cross OpenSSL, the fix is to enable the `vendored` feature.
chore: bring repo to full governance compliance (FJMCP-1)
All checks were successful
Check / fmt + clippy + build + tests (pull_request) Successful in 30s
Create release / Create release from merged PR (pull_request) Has been skipped
1bd9d91216
Add the governance artifacts the sibling pandoras-box/forgejo-cli carries, adapted for a single-crate, git-dependency layout (no workspace, no localization, no build.rs):

- CLAUDE.md, LICENSE-APACHE, LICENSE-MIT, .dockerignore; repository field added to Cargo.toml.
- oci-build/Dockerfile (glibc builder + binary scratch export + debian:trixie-slim local runtime), oci-build/Dockerfile.windows (mingw cross-compile), oci-build/get-tags.nu.
- .forgejo/workflows: check.yml, build-binary.yml (Linux x86_64), build-binary-windows.yml (mingw), create-release.yml. PACKAGE_NAME=forgejo-mcp; GIT_SHA accepted for the OCI label only; the fj-specific FJ_TRAIN / version-manifest / update-check machinery is dropped.
- justfile with the standard recipe set (install-hooks, pre-commit Template B, dev/check/build/release).

Deliverable is the binary published to Generic Packages for Linux and Windows, matching forgejo-cli; the runtime image stage is a local convenience only. flake.nix is intentionally omitted: upstream-inherited in forgejo-cli, not a CHECKLIST requirement, and buildRustPackage over git-source crates needs per-dependency outputHashes that add churn without governance value.

Verified locally: cargo fmt --check, cargo clippy --all-targets -- -D warnings, cargo build --all-targets, cargo test, and the oci-build/Dockerfile builder stage all pass.

#FJMCP-1

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
David merged commit 4dcb5b739c into main 2026-05-27 03:43:40 +02:00
David deleted branch chore/governance-compliance-fjmcp-1 2026-05-27 03:43:40 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pandoras-box/forgejo-mcp!1
No description provided.