multi-agent-lab / scripts /new_journal_entry.py
agharsallah
feat: scaffold hackathon agent theater
42e32ed
Raw
History Blame Contribute Delete
1.14 kB
from __future__ import annotations
import argparse
from datetime import datetime
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
JOURNAL_DIR = ROOT / "docs" / "journal"
TEMPLATE = """# {title}
Date: {timestamp}
## Built
-
## Decisions
-
## Learned
-
## Next
-
"""
def slugify(value: str) -> str:
safe = "".join(ch.lower() if ch.isalnum() else "-" for ch in value).strip("-")
return "-".join(part for part in safe.split("-") if part)[:64] or "entry"
def main() -> None:
parser = argparse.ArgumentParser(description="Create a dated build journal entry.")
parser.add_argument("title", help="Short title for the journal entry")
args = parser.parse_args()
JOURNAL_DIR.mkdir(parents=True, exist_ok=True)
now = datetime.now().astimezone()
path = JOURNAL_DIR / f"{now:%Y-%m-%d}-{slugify(args.title)}.md"
if path.exists():
raise SystemExit(f"Entry already exists: {path}")
path.write_text(TEMPLATE.format(title=args.title, timestamp=now.isoformat(timespec="seconds")), encoding="utf-8")
print(path.relative_to(ROOT))
if __name__ == "__main__":
main()