whisperX-FastAPI / app
CLAUDE.md188 starsChanged 7 months agoMITArchived repositoryView on GitHub
Code standards that apply across all app/ subfolders. Use Python 3.10+ union syntax throughout: For untyped third-party APIs (whisperx, torch, numpy), add # type: ignore[attr-defined] on the offending line. All code must pass with zero errors/warnings: Ruff is the single formatter/linter — never run flake8, isort, or black directly. pydocstyle is enforced via pre-commit. Every public function, method, and class needs a PEP 257-compliant docstring. One-liners are fine for simple functions: get_settings() returns a cached Settings singleton (pydantic-settings). Use it…
We split this CLAUDE.md into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 7
Use Python 3.10+ union syntax throughout:
- Distinctive: line 17
All code must pass with zero errors/warnings:
≈ “Common” is an estimate: at least 1 in 5 of the 25,680 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
app
Code standards that apply across all app/ subfolders.
Type Annotations
Use Python 3.10+ union syntax throughout:
str | NonenotOptional[str]dict[str, Any],list[str]notDict,Listcollections.abc.Generator/collections.abc.Callable— nevertyping.Generator/typing.Callable
For untyped third-party APIs (whisperx, torch, numpy), add # type: ignore[attr-defined] on the offending line.
Static Analysis
All code must pass with zero errors/warnings:
uv run mypy app/ # disallow_untyped_defs = true; must show "Success: no issues found"
uv run ruff check . # replaces flake8 + isort
uv run ruff format . # replaces blackRuff is the single formatter/linter — never run flake8, isort, or black directly.
Docstrings
pydocstyle is enforced via pre-commit. Every public function, method, and class needs a PEP 257-compliant docstring. One-liners are fine for simple functions:
def get_task_id(self) -> str:
"""Return the task's unique identifier."""Settings
get_settings() returns a cached Settings singleton (pydantic-settings). Use it for all
new code. The legacy Config class in app/core/config.py is deprecated — do not
reference it in new code. See docs/CONFIGURATION_MIGRATION.md for migration guidance.
Pre-commit
Running uv run pre-commit run --all-files executes: mypy, ruff, yamllint, hadolint,
shellcheck, codespell, pydocstyle, and gitleaks. All must pass before a PR is opened.
In this repository6 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- docs/CLAUDE.mdCLAUDE.md
- tests/CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- coverage-checkSkill
- pr-readySkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

