← スキル一覧に戻る

lint-service
by gar-ai
⭐ 1🍴 0📅 2025年12月31日
SKILL.md
name: lint-service description: Unified linting scripts for all services in the monorepo. Use when the user wants to lint code, check formatting, or run type checks.
Lint Service Skill
Unified linting scripts for all services in the Saturn's Oracle monorepo.
Services
TypeScript (2 services)
- apollos-ui
- polling-service
Python (3 services)
- mercury-clustering
- terra-local-gpu
- apollo-video-distillation
Rust (3 services)
- flora-clustering-rust
- hercules-local-algo
- vulcan-gpu-sdk (also has Python)
Usage
From Anywhere in the Repo
# TypeScript
.claude/skills/lint-service/lint-typescript.sh apollos-ui
.claude/skills/lint-service/lint-typescript.sh apollos-ui --staged-only
# Python
.claude/skills/lint-service/lint-python.sh mercury-clustering
.claude/skills/lint-service/lint-python.sh terra-local-gpu --staged-only
# Rust
.claude/skills/lint-service/lint-rust.sh flora-clustering-rust
.claude/skills/lint-service/lint-rust.sh hercules-local-algo --staged-only
What Each Script Does
lint-typescript.sh:
- ESLint with --max-warnings=-1 (errors only)
- TypeScript type checking (tsc --noEmit)
- Staged-only: Lints only staged .ts/.tsx files
lint-python.sh:
- Ruff check (linting)
- Ruff format --check (formatting)
- mypy (type checking, full mode only)
- Staged-only: Lints only staged .py files
lint-rust.sh:
- cargo clippy (linting)
- cargo fmt --check (formatting)
- cargo test (only in CI, not precommit)
- Staged-only: Skips if no .rs files staged
Exit Codes
- 0: Success
- 1: Linting failed (blocking)
Integration
These scripts are called by:
- Precommit hook (.husky/pre-commit) with --staged-only
- GitHub Actions (without --staged-only, full service)
- Manual invocation by developers or Claude
Examples
Lint all Python services
for service in mercury-clustering terra-local-gpu apollo-video-distillation; do
.claude/skills/lint-service/lint-python.sh $service
done
Lint only staged files in current service
# If working in apollos-ui
.claude/skills/lint-service/lint-typescript.sh apollos-ui --staged-only
Check if linting will pass before committing
# TypeScript
.claude/skills/lint-service/lint-typescript.sh apollos-ui --staged-only
# Python
.claude/skills/lint-service/lint-python.sh mercury-clustering --staged-only
# Rust
.claude/skills/lint-service/lint-rust.sh flora-clustering-rust --staged-only
Linting Config Location
All services extend root configs:
- Python:
/pyproject.toml(ruff + mypy) - Rust:
/rustfmt.toml+/.clippy.toml - TypeScript:
/.eslintrc.monorepo.js
Services can override with local configs if needed.
Auto-fix Commands
If linting fails, use these commands to auto-fix:
TypeScript:
cd apollos-ui
pnpm lint:fix
Python:
cd mercury-clustering
uv run ruff check --fix .
uv run ruff format .
Rust:
cd flora-clustering-rust
cargo fmt --all
cargo clippy --all-targets --all-features --fix
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です