← Back to list

annotations
by dropseed
A web framework for building products with Python.
⭐ 652🍴 13📅 Jan 23, 2026
SKILL.md
name: annotations description: Workflow for adding type annotations to Plain packages. Use this when adding or improving type coverage.
Type Annotation Workflow
We are gradually adding type annotations using Python 3.13+.
Workflow
-
Check current coverage:
uv run plain code annotations <directory> --details -
Add annotations: Focus on function/method signatures (parameters and return types)
-
Type check:
./scripts/type-check <directory> -
Format:
./scripts/fix -
Test:
./scripts/test <package> -
Verify improvement:
uv run plain code annotations <directory> -
Add to validation: Once a directory reaches 100% coverage, add it to
FULLY_TYPED_PATHSinscripts/type-validate
Guidelines
- Add
from __future__ import annotationswhen necessary - Focus on public APIs and user-facing methods first
- Don't annotate
__init__return types (type checkers inferNone) - Use explicit
return Nonefor functions with-> Type | Nonereturn type - Some Django-style ORM patterns are inherently difficult to type - that's okay
- Goal is progress, not perfection
Example
# Check coverage
uv run plain code annotations plain/plain/assets --details
# After adding annotations...
./scripts/type-check plain/plain/assets
./scripts/fix
./scripts/test plain
uv run plain code annotations plain/plain/assets # Should show 100%
Score
Total Score
70/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
✓人気
GitHub Stars 500以上
+10
✓最近の活動
1ヶ月以内に更新
+10
✓フォーク
10回以上フォークされている
+5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon
