feat: yilan diff subcommand #4

Merged
coding-agent-marvin8 merged 0 commits from refs/pull/4/head into main 2026-05-14 07:57:55 +00:00
coding-agent-marvin8 commented 2026-05-14 07:41:51 +00:00 (Migrated from codeberg.org)

Summary

  • Adds `yilan diff` subcommand that shows what changed between the last board update and now
  • Normal `yilan` runs now save a snapshot of all RepoData + ConceptData to ~/.cache/yilan/snapshot.json
  • Semantic diff covers: new commits, opened/closed issues, outstanding heading changes, todo delta, added/removed repos and concepts

New modules

  • src/yilan/snapshot.py — save/load snapshot (atomic write, cattrs-based serialisation)
  • src/yilan/diff.py — compute_diff + render_diff producing a markdown report

Test plan

  • uv run tryke test — 104 tests, all pass
  • uv run nox — all 7 sessions green
  • Manual smoke: CODEBERG_TOKEN=... yilan && CODEBERG_TOKEN=... yilan diff

Generated with Claude Code

## Summary - Adds \`yilan diff\` subcommand that shows what changed between the last board update and now - Normal \`yilan\` runs now save a snapshot of all RepoData + ConceptData to ~/.cache/yilan/snapshot.json - Semantic diff covers: new commits, opened/closed issues, outstanding heading changes, todo delta, added/removed repos and concepts ## New modules - src/yilan/snapshot.py — save/load snapshot (atomic write, cattrs-based serialisation) - src/yilan/diff.py — compute_diff + render_diff producing a markdown report ## Test plan - [x] uv run tryke test — 104 tests, all pass - [x] uv run nox — all 7 sessions green - [ ] Manual smoke: CODEBERG_TOKEN=... yilan && CODEBERG_TOKEN=... yilan diff Generated with Claude Code
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
marvin8/yilan!4
No description provided.