feat(tools): rename gitea_* -> mokogitea_* with deprecated aliases; metadata brand fix (#33) #34

Merged
jmiller merged 1 commits from feat/33-rename-mokogitea-tools into main 2026-07-06 03:01:13 +00:00
Owner

Summary

Implements #33 (Gitea -> MokoGitea brand normalization for the MCP tool surface).

Part 1 - rename gitea_* -> mokogitea_* with backward-compatible aliases

  • Added a single registerTool() wrapper (near server creation) that derives the canonical mokogitea_* name from each gitea_* literal and registers it, then also registers the legacy gitea_* name as a deprecated alias pointing at the same handler.
  • Mechanically replaced all 111 server.tool(...) definition call sites with registerTool(...); a grep confirms zero server.tool( definition calls remain outside the wrapper.
  • Legacy aliases are env-gated: enabled by default, disabled by setting MOKOGITEA_MCP_LEGACY_ALIASES to a falsy value (0/false/off/no).
  • Server version bumped to 1.5.0; README updated (canonical vs deprecated naming section, intro/counts, example).

Tradeoff: while aliases are enabled, dual-registration roughly doubles the exposed tool count (~222) during the deprecation window. Disabling the env var returns to the 111 canonical names.

Wrapper typing note: an initial ...rest: [string, any, any] signature compiled the wrapper but erased zod-schema -> handler-arg inference at every call site (noImplicitAny errors on handler params). Resolved by making registerTool generic to mirror the SDK's typed overload: registerTool<Args extends ZodRawShapeCompat>(name, description, paramsSchema: Args, cb: ToolCallback<Args>), importing ToolCallback and ZodRawShapeCompat from the MCP SDK. Full inference preserved; npm run build is clean.

Part 2 - metadata fields + brand fix

  • display_name: not added as a settable param. The fork's RepoMetadata has no display_name column; it is derived server-side (DerivedDisplayName() from extension_type + name). Added a code comment documenting this so it isn't re-added as a silent no-op.
  • Brand fix: standards_version description changed from mokoplatform standards version -> mokocli standards version. No other mokoplatform/moko-platform strings remain in src/ or README.
  • Confirmed metadata tools hit /repos/{owner}/{repo}/metadata; no /manifest references remain anywhere in the MCP.

Build / housekeeping

  • npm run build (tsc) succeeds with no errors.
  • package.json 1.4.2 -> 1.5.0; CHANGELOG updated.

Closes #33

Claude-Session: https://claude.ai/code/session_01Wsno14cxE49MstXFs9G5KT

## Summary Implements #33 (Gitea -> MokoGitea brand normalization for the MCP tool surface). ### Part 1 - rename `gitea_*` -> `mokogitea_*` with backward-compatible aliases - Added a single `registerTool()` wrapper (near server creation) that derives the canonical `mokogitea_*` name from each `gitea_*` literal and registers it, then also registers the legacy `gitea_*` name as a **deprecated alias** pointing at the same handler. - Mechanically replaced all **111** `server.tool(...)` definition call sites with `registerTool(...)`; a grep confirms **zero** `server.tool(` definition calls remain outside the wrapper. - Legacy aliases are **env-gated**: enabled by default, disabled by setting `MOKOGITEA_MCP_LEGACY_ALIASES` to a falsy value (`0`/`false`/`off`/`no`). - Server version bumped to 1.5.0; README updated (canonical vs deprecated naming section, intro/counts, example). **Tradeoff:** while aliases are enabled, dual-registration roughly doubles the exposed tool count (~222) during the deprecation window. Disabling the env var returns to the 111 canonical names. **Wrapper typing note:** an initial `...rest: [string, any, any]` signature compiled the wrapper but erased zod-schema -> handler-arg inference at every call site (noImplicitAny errors on handler params). Resolved by making `registerTool` generic to mirror the SDK's typed overload: `registerTool<Args extends ZodRawShapeCompat>(name, description, paramsSchema: Args, cb: ToolCallback<Args>)`, importing `ToolCallback` and `ZodRawShapeCompat` from the MCP SDK. Full inference preserved; `npm run build` is clean. ### Part 2 - metadata fields + brand fix - `display_name`: **not** added as a settable param. The fork's `RepoMetadata` has no `display_name` column; it is derived server-side (`DerivedDisplayName()` from `extension_type` + `name`). Added a code comment documenting this so it isn't re-added as a silent no-op. - Brand fix: `standards_version` description changed from `mokoplatform standards version` -> `mokocli standards version`. No other `mokoplatform`/`moko-platform` strings remain in `src/` or README. - Confirmed metadata tools hit `/repos/{owner}/{repo}/metadata`; **no** `/manifest` references remain anywhere in the MCP. ### Build / housekeeping - `npm run build` (tsc) succeeds with no errors. - `package.json` 1.4.2 -> 1.5.0; CHANGELOG updated. Closes #33 Claude-Session: https://claude.ai/code/session_01Wsno14cxE49MstXFs9G5KT
jmiller added 1 commit 2026-07-06 02:46:26 +00:00
feat(tools): rename gitea_* -> mokogitea_* with deprecated aliases; metadata brand fix (#33)
MCP: Copilot Agent / Run Copilot Coding Agent (pull_request) Failing after 3s
Universal: Changelog Validation / Validate CHANGELOG.md (pull_request) Failing after 5s
MCP: Build & Validate / build (20) (pull_request) Failing after 7s
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
MCP: Build & Validate / build (22) (pull_request) Failing after 8s
Universal: PR Check / Wiki Update Reminder (pull_request) Successful in 2s
Universal: PR Check / Require Docs Update (pull_request) Successful in 4s
Generic: Project CI / Lint & Validate (pull_request) Successful in 17s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Universal: PR Check / Validate PR (pull_request) Successful in 5s
MCP: Standards Compliance / Secret Scanning (pull_request) Successful in 7s
MCP: Standards Compliance / License Header Validation (pull_request) Failing after 5s
MCP: Standards Compliance / Repository Structure Validation (pull_request) Failing after 7s
MCP: Standards Compliance / Coding Standards Check (pull_request) Failing after 5s
MCP: Standards Compliance / Workflow Configuration Check (pull_request) Failing after 4s
MCP: Standards Compliance / Documentation Quality Check (pull_request) Successful in 5s
MCP: Standards Compliance / README Completeness Check (pull_request) Failing after 4s
MCP: Standards Compliance / Git Repository Hygiene (pull_request) Successful in 4s
MCP: Standards Compliance / Script Integrity Validation (pull_request) Successful in 5s
MCP: Standards Compliance / Line Length Check (pull_request) Failing after 4s
Universal: CodeQL Analysis / Analyze (actions) (pull_request) Failing after 1m1s
Universal: CodeQL Analysis / Analyze (javascript) (pull_request) Failing after 1m2s
MCP: Standards Compliance / File Naming Standards (pull_request) Successful in 3s
MCP: Standards Compliance / Insecure Code Pattern Detection (pull_request) Successful in 5s
MCP: Standards Compliance / Dead Code Detection (pull_request) Successful in 5s
MCP: Standards Compliance / File Size Limits (pull_request) Successful in 3s
MCP: Standards Compliance / Binary File Detection (pull_request) Successful in 6s
MCP: Standards Compliance / Version Consistency Check (pull_request) Successful in 55s
MCP: Standards Compliance / TODO/FIXME Tracking (pull_request) Successful in 5s
MCP: Standards Compliance / Code Complexity Analysis (pull_request) Successful in 1m2s
MCP: Standards Compliance / Code Duplication Detection (pull_request) Successful in 1m2s
MCP: Standards Compliance / Broken Link Detection (pull_request) Successful in 4s
MCP: Standards Compliance / API Documentation Coverage (pull_request) Successful in 5s
MCP: Standards Compliance / Accessibility Check (pull_request) Successful in 4s
MCP: Standards Compliance / Performance Metrics (pull_request) Successful in 4s
MCP: Standards Compliance / Enterprise Readiness Check (pull_request) Failing after 3s
MCP: Standards Compliance / Dependency Vulnerability Scanning (pull_request) Successful in 1m0s
MCP: Standards Compliance / Unused Dependencies Check (pull_request) Successful in 58s
Universal: Auto-Assign / Assign unassigned issues and PRs (pull_request_target) Successful in 2s
MCP: Standards Compliance / Terraform Configuration Validation (pull_request) Successful in 13s
MCP: Standards Compliance / Repository Health Check (pull_request) Successful in 48s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: Build & Release / Build & Release Pipeline (pull_request) Failing after 17s
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: CodeQL Analysis / Security Scan Summary (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
MCP: Standards Compliance / Compliance Summary (pull_request) Has been cancelled
743d017be3
Part 1: Introduce a single registerTool() wrapper that registers each tool
under its canonical mokogitea_* name and, when enabled, the legacy gitea_*
name as a deprecated alias pointing at the same handler. Legacy aliases are
on by default and can be disabled via MOKOGITEA_MCP_LEGACY_ALIASES (falsy).
All 111 server.tool(...) call sites now use registerTool(...). Server version
bumped to 1.5.0; README documents canonical vs deprecated naming.

Part 2: metadata brand fix -- standards_version description now says
"mokocli standards version" (was "mokoplatform"). Added a comment noting
display_name is server-derived (no settable param). No /manifest references
remain.

Closes #33

Claude-Session: https://claude.ai/code/session_01Wsno14cxE49MstXFs9G5KT
Author
Owner

Wiki reminder: docs are wiki-first -- if this PR changes behavior, usage, config, or standards, please update the repo wiki before/after merge. (non-blocking)

<!-- wiki-reminder --> **Wiki reminder:** docs are wiki-first -- if this PR changes behavior, usage, config, or standards, please update the repo wiki before/after merge. _(non-blocking)_
jmiller merged commit 48af706189 into main 2026-07-06 03:01:13 +00:00
jmiller deleted branch feat/33-rename-mokogitea-tools 2026-07-06 03:01:15 +00:00
Sign in to join this conversation.