coding-standards

star 1

Python/Terraformのコーディング規約。コード作成、修正、レビュー時に参照。型ヒント、dataclass、Ruff、CIDR設定など。

mnbst By mnbst schedule Updated 1/19/2026

name: coding-standards description: Python/Terraformのコーディング規約。コード作成、修正、レビュー時に参照。型ヒント、dataclass、Ruff、CIDR設定など。 user-invocable: false allowed-tools: Read, Grep, Glob

Coding Standards

Python

ルール 詳細
型ヒント 必須。Python 3.11+ union syntax `X
データ構造 dataclass で定義
環境変数 os.getenv() で取得
フォーマッタ Ruff (line-length=88)
エラー処理 適切にハンドリングしてUIに表示

from dataclasses import dataclass

@dataclass
class RepoInfo:
    name: str
    description: str | None
    language: str | None
    stars: int

Streamlit

ルール 詳細
状態管理 st.session_state でフラグ管理
ボタン処理 on_click コールバック使用、st.rerun() は避ける
レイアウト st.columnsvertical_alignment で揃える

ボタン + 状態管理パターン

# NG: st.rerun() を使う
if st.button("実行"):
    do_something()
    st.rerun()  # 避ける

# OK: on_click + session_state
def on_click_handler(arg: str) -> None:
    st.session_state["should_execute"] = True
    st.session_state["arg"] = arg

st.button("実行", on_click=on_click_handler, args=("value",))

if st.session_state.get("should_execute", False):
    st.session_state["should_execute"] = False  # リセット
    do_something(st.session_state["arg"])

Terraform

ルール 詳細
ingress INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER のみ
egress VPC Connector経由 ALL_TRAFFIC
CIDR 重複禁止: connector=10.8.0.0/28, subnet=10.10.0.0/24
ポート Streamlit=8501 (container_port設定)
イメージタグ main.tf と gcloud builds submit で一致

コマンド

cd terraform
terraform fmt && terraform validate
terraform plan
terraform apply
Install via CLI
npx skills add https://github.com/mnbst/job-recommender --skill coding-standards
Repository Details
star Stars 1
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator