| Age | Commit message (Collapse) | Author |
|
Use git remote -v as primary check; clarify that ngit repo always
exits 0 and is_nostr_repo:false can be a cold-cache false negative.
|
|
Implements experimental kind-1624 cover note events:
- KIND_COVER_NOTE constant and process_cover_note() in git_events.rs;
replaceable semantics (latest created_at, hex-id tiebreak), author or
maintainer only
- kind-1624 events fetched alongside labels in the fetch pipeline;
cover_notes count added to FetchReport display
- ngit pr/issue view: cover note displayed in place of description with
a clear 'Cover Note:' header; maintainer-authored notes identify the
author; original description shown only with --comments; cover_note
object included in --json output
- ngit pr set-cover-note / ngit issue set-cover-note: publish a
kind-1624 event; nostr: mentions in --body converted to q/p tags via
tags_from_content (same rules as issue --body)
- Fix pre-existing clippy::too_many_lines on repo/mod.rs show_info
|
|
All id and reply_to fields in --json output now use nevent1... bech32
encoding (with relay hint when available) instead of raw hex, making
them directly usable as nostr: URI references in --body text.
Update SKILL.md to document the nevent1 ID format and enforce use of
nostr:nevent1... URIs when cross-referencing events in body text.
|
|
- JSON output fields renamed from title to subject in pr list/view
and issue list/view
- Printed view output changed from Title: to Subject:
- ngit issue create --subject (alias --title)
- ngit send --subject (alias --title)
- Error messages and interactive prompts updated to match
|
|
Adds the ability to update the displayed title of a PR or issue after
creation using a kind-1985 label event with the #subject namespace.
Only the author or a repository maintainer may set the subject. The
latest authorised event wins with tiebreak by lexicographically larger
event ID (NIP-1 replaceable event semantics). Branch names and commit
messages are never affected.
- Split get_labels() into process_labels() (additive #t) and
process_subject() (replaceable-style #subject), with a shared
get_labels_and_subject() entry point that processes both from a
single pre-fetched slice of kind-1985 events
- All list/view/JSON display paths apply the subject override silently
- New ngit pr set-subject <id> --subject <text> command
- New ngit issue set-subject <id> --subject <text> command
|
|
All status transitions (pr close/reopen/ready/draft, issue close/reopen/
resolved) now accept an optional --reason flag stored in the event content.
|
|
Add `ngit pr draft <id>` to convert a PR back to draft (kind-1632).
Add `ngit issue resolved <id> [--reason <text>]` to mark an issue as
fixed (kind-1631 GitStatusApplied), distinct from close which signals
wontfix/duplicate/invalid.
Add `--reason <text>` to `ngit issue close` — stored in event content.
Also fix success/error message wording in pr_status and issue_status to
use consistent past-tense action strings.
|
|
Publishes a NIP-32 kind-1985 label event referencing the target issue or
PR. Only the event author or a repository maintainer may apply labels.
Duplicate labels (already present via t-tags or prior kind-1985 events)
are silently skipped. The new event is saved to the local cache before
broadcasting so subsequent reads reflect the change immediately.
CLI:
ngit issue label <id> --label <L> [--label <L>...]
ngit pr label <id> --label <L> [--label <L>...]
|
|
Shows currently logged-in account(s) with name and npub. When both a
local (repo-scoped) and global account are configured, displays both
with local marked as active. Supports --json (returns local, global,
and active objects each with name, npub, nip05, scope) and --offline
(reads from cache only, no network). Fixes doc_markdown clippy warning
in cli.rs.
|
|
- ngit init: use user's preferred grasp server or fall back to defaults
- note git push / git push --force can update existing PRs
- prefer pr checkout over pr apply for agent use
- issue/pr comment: --reply-to accepts ID or nevent
- issue body supports markdown
- restore --verbose flag to reference table
- fix typos
|
|
Add one-liner on what Nostr is (decentralised signed-event protocol).
Note that grasp servers auto-create git repos when listed in ngit init
announcement events, requiring no prior setup unlike traditional servers.
|
|
Explain the two-layer model: git state (refs) on Nostr relays,
git data (objects) on git servers, and how grasp servers combine
both. Covers decentralisation and ease of switching providers.
|
|
Rewrite for conciseness: collapse concept sections to command
references, remove prose explanations Claude already knows,
merge workflows into inline examples, drop redundant comments.
|
|
- rewrite description in third person
- add machine-readable output section with --json guidance
- add grep pattern for is_nostr_repo check (no jq dependency)
- remove duplicate auth section, point to CONCEPT 5
- add verification steps to workflows
|
|
Adds SKILL.md under skills/ngit/ following the agentskills.io spec and
skills.sh distribution convention. Users can install globally with:
npx skills add DanConwayDev/ngit -g
|