add pdftomd

This commit is contained in:
김경종
2026-05-08 16:42:19 +09:00
parent 551ab50735
commit 88d6b92283
99 changed files with 47332 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
"""Inject the project coordination reminder at Codex session start."""
from __future__ import annotations
import json
import subprocess
import sys
from pathlib import Path
def read_payload() -> dict:
raw = sys.stdin.read()
if not raw.strip():
return {}
try:
return json.loads(raw)
except json.JSONDecodeError:
return {}
def find_repo_root(cwd: str | None) -> Path:
start = Path(cwd or Path.cwd()).resolve()
try:
result = subprocess.run(
["git", "rev-parse", "--show-toplevel"],
cwd=start,
capture_output=True,
text=True,
check=True,
)
return Path(result.stdout.strip()).resolve()
except Exception:
return start
def main() -> int:
payload = read_payload()
root = find_repo_root(payload.get("cwd"))
required = ["PLAN.md", "PROGRESS.md"]
missing = [name for name in required if not (root / name).exists()]
context = (
"Before starting work in this repository, read PLAN.md and PROGRESS.md. "
"Use PROGRESS.md as the factual state, update PLAN.md when sequencing changes, "
"and keep samples/ out of commits unless the user explicitly requests otherwise."
)
output = {
"continue": True,
"hookSpecificOutput": {
"hookEventName": "SessionStart",
"additionalContext": context,
},
}
if missing:
output["systemMessage"] = "Missing project coordination file(s): " + ", ".join(missing)
print(json.dumps(output, ensure_ascii=True))
return 0
if __name__ == "__main__":
raise SystemExit(main())