MCPcopy Index your code
hub / github.com/Maintainerr/Maintainerr

github.com/Maintainerr/Maintainerr @v3.17.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.17.0 ↗ · + Follow
3,967 symbols 10,684 edges 710 files 262 documented · 7%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Agent instruction wiring

How this repo's AI coding agents (Claude, GitHub Copilot, Cursor, Codex) load their instructions. Each agent auto-loads a different entrypoint, but they all converge on AGENTS.md as the single documentation index, and each entrypoint also names the two standing rules directly so they can't be missed.

This file is the single source for the wiring; AGENTS.md links here.

CLAUDE
  auto-loads → .claude/rules/implementation.md
       ├─→ AGENTS.md ........................ (doc index)
       │      ├─→ implementation.instructions.md   [standing]
       │      ├─→ project-notes.instructions.md    [standing]
       │      ├─→ release-review.instructions.md    [task-specific]
       │      └─→ ARCHITECTURE.md                   [task-specific]
       └─→ implementation.instructions.md  +  project-notes.instructions.md
              (named directly → read before any code, can't be missed)
  also: SessionStart hook injects AGENTS.md (belt-and-suspenders)

COPILOT
  auto-loads → .github/copilot-instructions.md
       ├─→ AGENTS.md → (same index as above)
       └─→ implementation.instructions.md  +  project-notes.instructions.md  (named)
  also auto-applies via applyTo:"**" → implementation.instructions.md, project-notes.instructions.md
       release-review → applyTo scoped to CHANGELOGs/release workflows (not every file)

CURSOR
  auto-loads → .cursor/rules/project.mdc  (alwaysApply: true)
       ├─→ AGENTS.md → (same index as above)
       └─→ implementation.instructions.md  +  project-notes.instructions.md  (named)

CODEX
  auto-loads → AGENTS.md  (the index itself)
       ├─→ implementation.instructions.md   [standing]
       ├─→ project-notes.instructions.md    [standing]
       ├─→ release-review.instructions.md    [task-specific]
       └─→ ARCHITECTURE.md                   [task-specific]


all four entrypoints ──────────────→ AGENTS.md  (single doc index)
project-notes.instructions.md ──→ ARCHITECTURE.md, AGENTS.md   ✓
implementation.instructions.md ─→ ARCHITECTURE.md              ✓

Rules of the structure (keep it working)

  • AGENTS.md is the single index. Add any new doc to its "Documentation map".
  • Standing rules (read before any code): implementation.instructions.md and project-notes.instructions.md - applyTo: "**" and named in every entrypoint.
  • Task-specific (read on demand, not every session): release-review.instructions.md (Copilot applyTo scoped to release artifacts) and ARCHITECTURE.md.
  • Each agent entrypoint is a thin router to AGENTS.md + the two standing rules. When you change the wiring, update all four entrypoints together: .claude/rules/implementation.md, .github/copilot-instructions.md, .cursor/rules/project.mdc, and AGENTS.md.

Extension points exported contracts — how you extend this code

NotificationAgent (Interface)
(no doc) [10 implementers]
apps/server/src/modules/notifications/agents/agent.ts
CollectionPosterUploadResponse (Interface)
(no doc)
packages/contracts/src/collections/index.ts
ImportMetaEnv (Interface)
(no doc)
apps/ui/src/vite-env.d.ts
IOverlayProvider (Interface)
(no doc) [6 implementers]
apps/server/src/modules/overlays/providers/overlay-provider.interface.ts
CollectionPosterDeleteResponse (Interface)
(no doc)
packages/contracts/src/collections/index.ts
ImportMeta (Interface)
(no doc)
apps/ui/src/vite-env.d.ts
IMetadataProvider (Interface)
(no doc) [4 implementers]
apps/server/src/modules/metadata/interfaces/metadata-provider.interface.ts
QualityProfile (Interface)
(no doc)
packages/contracts/src/settings/servarr/qualityProfile.ts

Core symbols most depended-on inside this repo

query
called by 478
apps/server/src/modules/api/lib/plexApi.ts
debug
called by 446
apps/server/src/modules/logging/logs.service.ts
warn
called by 324
apps/server/src/modules/logging/logs.service.ts
log
called by 247
apps/server/src/modules/logging/logs.service.ts
get
called by 237
apps/server/src/modules/rules/getter/getter.service.ts
createCollection
called by 217
apps/server/test/utils/data.ts
get
called by 217
apps/server/src/modules/logging/logs.service.ts
error
called by 176
apps/server/src/modules/logging/logs.service.ts

Shape

Method 1,720
Function 1,227
Class 532
Interface 463
Enum 25

Languages

TypeScript100%

Modules by API surface

apps/server/src/modules/collections/collections.service.ts77 symbols
apps/server/src/modules/api/media-server/jellyfin/jellyfin-adapter.service.ts72 symbols
apps/server/src/modules/api/plex-api/plex-api.service.ts70 symbols
apps/server/src/modules/api/media-server/emby/emby-adapter.service.ts66 symbols
apps/server/src/modules/settings/settings.controller.ts65 symbols
apps/server/src/modules/settings/settings-operations.service.ts60 symbols
apps/server/src/modules/api/media-server/plex/plex-adapter.service.ts56 symbols
apps/server/src/modules/metadata/metadata.service.ts50 symbols
apps/server/src/modules/api/media-server/media-server.interface.ts46 symbols
apps/server/src/modules/rules/rules.service.ts45 symbols
apps/server/src/modules/overlays/overlays.controller.ts38 symbols
apps/server/src/modules/api/seerr-api/seerr-api.service.ts36 symbols

For agents

$ claude mcp add Maintainerr \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact