| 210 | |
| 211 | |
| 212 | def parser() -> argparse.ArgumentParser: |
| 213 | p = argparse.ArgumentParser(description=__doc__ or "lint note") |
| 214 | p.add_argument("--input", required=True, help="Markdown note path.") |
| 215 | p.add_argument("--plan-file", default="", help="Optional note_plan JSON path. Defaults to sibling <note>.plan.json.") |
| 216 | p.add_argument("--output", default="", help="Output JSON path.") |
| 217 | p.add_argument("--paper-id", default="", help="Canonical paper id.") |
| 218 | return p |
| 219 | |
| 220 | |
| 221 | def resolve_note_plan_path(note_path: Path, plan_file: str) -> Path: |