This repo includes a helper to convert a Beads .beads/issues.jsonl file into Worklog's .worklog/worklog-data.jsonl JSONL format, so you can then use wl sync to collaborate via git.
- Node.js (to run the converter script)
- A Worklog checkout (this repo)
From the repo root:
./scripts/beads-issues-to-worklog-jsonl.sh path/to/.beads/issues.jsonlBy default this writes:
.worklog/worklog-data.jsonl
To choose a different output path:
./scripts/beads-issues-to-worklog-jsonl.sh path/to/.beads/issues.jsonl path/to/worklog-data.jsonlInitialize Worklog for the repo (creates .worklog/config.yaml and an init semaphore):
wl initSync the data via git (default data ref is refs/worklog/data):
wl syncNotes:
wl initattempts a sync automatically; you can rerunwl syncany time.- Worklog uses the git ref
refs/worklog/databy default so GitHub does not treat it like a PR branch.
In a new clone of the repo:
wl initIf you prefer to do it explicitly:
wl syncThe converter script maps Beads fields into Worklog fields as follows:
id: preserved from Beadsissue.idtitle: Beadstitledescription: composed fromdescriptionplus optional sections foracceptance_criteria,notes, andexternal_refstatus:open->openin_progress->in-progressclosed->completedtombstone->deleted
priority(Beads 0 highest, 4 lowest):0->critical1->high2->medium3->low4->low
tags: Beadslabelsassignee: Beadsassigneestage: left as an empty stringissueType,createdBy,deletedBy,deleteReason: copied through when presentparentId: derived from Beadsdependenciesentries wheretype == "parent-child"andissue_idmatches the child issue idcomments: each Beads comment becomes a Worklog comment record associated with the work item
- Rerunning the converter overwrites the output JSONL file.
- Timestamps are normalized to ISO
Zand sub-millisecond precision is dropped. - Comment IDs are synthesized as
${workItemId}-C${commentId}.
- If the script says input file not found, double-check the path to
.beads/issues.jsonl. - If
wl syncfails, runwl sync --dry-runto see what it would do. - If your repo uses a non-default remote or ref, use:
wl sync --git-remote <remote>wl sync --git-branch <ref>