Files
yuzuno-anime-extensions/CLAUDE.md
7heMech a511b546d1 Docs: Refresh CONTRIBUTING for extensions-lib 16 (+ randomua Spotless check fix) (#1093)
* Docs: Refresh CONTRIBUTING for extensions-lib 16

- Document lib 16: libVersion, hoster/season flow, resolveVideo,
  sortHosters/sortVideos, the named Video constructor and the
  AnimeHttpLegacySource shims
- Replace manga leftovers: randomua now requires getAnimeUrl() (also in
  the Spotless check), Riztranslation intent-filter example
- Fix stale advice: rateLimitHost, theme src layout, date format example
- Update module counts and versionName note in AGENTS.md/CLAUDE.md

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* Docs: Address review feedback on lib 16 guide

- Sort hosters/videos in getHosterList/getVideoList; sortHosters/sortVideos optional
- Unresolved videos may have an empty videoUrl
- AnimeIto is a legacy-shim example, not fully migrated
- URL example: check the /anime/ prefix; single intent-filter host

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* Docs: Fall back to text search for non-anime URLs

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* Docs: Skip empty slugs in URL search example

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* Docs: Guard empty path segments in URL search example

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* Docs: Address second review pass

- AnimeUpdateStrategy (UpdateStrategy doesn't exist in extensions-lib)
- libVersion 16 also for hoster-only migrations on shim themes
- Cite Anikku ExtensionLoader for the accepted lib range
- Sorting: either sort before returning or override the sort hooks
- Date example sets the timezone

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-06 19:31:38 +03:00

1.7 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

@AGENTS.md

Everything about this codebase — commands, architecture, conventions, versioning, CI — lives in the import above (which itself pulls in CONTRIBUTING.md). Claude Code expands @-imports, so both are already in context; don't re-read them. What follows is only guidance specific to working here through Claude Code's tooling.

Searching

build/ and .history/ are gitignored but still on disk, and both shadow real source files — build/spotless-clean/ mirrors every Kotlin file it formats, and .history/ holds ~3.6M of timestamped Markdown copies. The Grep tool skips them (ripgrep honors .gitignore); grep -r run through Bash does not, and will report a stale duplicate alongside every real hit. When searching via Bash, pass --exclude-dir=build --exclude-dir=.history, or use Grep instead.

Editing and verifying

  • Pick one extension or theme and verify it with its own :module:compileDebugKotlin. Gradle configures ~330 modules, so an unscoped invocation is a multi-minute no-op for a one-file change.
  • Don't reach for the Android Studio workflow CONTRIBUTING.md describes — the Gradle task is the headless equivalent and is what belongs in a tool call.
  • spotlessApply rewrites files on disk. Re-read anything you have edited before further edits, or run it last.

Scope discipline

Each extension is an independent published artifact with its own version code, so a change that looks repo-wide is usually a change to one module. Before editing a second module, confirm it is actually in scope — a stray edit there means an unwanted version bump and an unrelated APK rebuild in CI.