WIP: A simple cli for daily tangled use cases and AI integration. This is for my personal use right now, but happy if others get mileage from it! :)

Implement tangled issue comment command #10

open opened by markbennett.ca

Context#

Issue comments are a core part of any issue tracker workflow — used for follow-up questions, status updates, linking related work, and closing the loop. During dogfooding of the CLI (issue #3), there was no way to add a comment to an existing issue (e.g. to note "completed" after finishing a task). This was a noticeable gap.

The sh.tangled.repo.issue.comment lexicon already exists and is straightforward:

{
  "$type": "sh.tangled.repo.issue.comment",
  "issue": "at://<did>/sh.tangled.repo.issue/<rkey>",
  "body": "...",
  "createdAt": "<ISO datetime>"
}

The optional replyTo field (an AT-URI) allows threading replies to specific comments.

Tasks#

  • Implement tangled issue comment <issue-number> [--body <body> | --body-file <file> | -F -] command.
    • Resolve the issue number to its AT-URI using the same lookup as tangled issue view.
    • Create a sh.tangled.repo.issue.comment record using com.atproto.repo.createRecord with fields: issue (AT-URI), body, and createdAt.
    • Support all standard body input methods: --body "text", --body-file <path>, -F - (stdin).
    • Support --json output for machine-readable confirmation.
  • Display comments in tangled issue view <n> output, below the issue body.
    • Fetch comments using com.atproto.repo.listRecords with collection: "sh.tangled.repo.issue.comment" filtered by the issue's AT-URI.
    • Show commenter handle (using resolveHandle() from issue #9), timestamp, and body for each comment.
  • Add tests for both the issue comment command and the updated issue view comment display.

Notes#

Follow the same body input patterns as tangled issue create — these are already well-tested and provide a consistent UX. The replyTo field (for comment threading) can be deferred to a follow-up issue.

sign up or login to add to the discussion
Labels

None yet.

assignee

None yet.

Participants 1
AT URI
at://did:plc:b2mcbcamkwyznc5fkplwlxbf/sh.tangled.repo.issue/3mejtzm4naw25