upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/bin/ngit/sub_commands/mod.rs
AgeCommit message (Collapse)Author
2026-03-05feat(cover-note): add kind-1624 cover notes for PRs, patches, and issuesDanConwayDev
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
2026-03-05feat(subject): add pr/issue set-subject via NIP-32 kind-1985 labelsDanConwayDev
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
2026-03-05feat(label): add `ngit issue label` and `ngit pr label` commandsDanConwayDev
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>...]
2026-03-05add `ngit account whoami` commandDanConwayDev
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.
2026-03-04restructure CLI around ngit pr/issue subcommand groupsDanConwayDev
Introduce ngit pr subcommand group (list, view, checkout, apply, send, close, reopen, ready, comment, merge) replacing the former top-level ngit list/checkout/apply commands. ngit send is kept at the top level. Expand ngit issue with view, create, close, reopen, comment subcommands. Status changes (close/reopen/ready) are gated to the PR/issue author or a repository maintainer. ngit pr merge is maintainer-only and publishes a GitStatusApplied event immediately after the git merge.
2026-03-04feat: add ngit issue list commandDanConwayDev
Non-interactive listing of NIP-34 issues (kind 1621) with status resolution, hashtag display, and detail view. - get_issues_from_cache: fetch GitIssue events from local cache by repo coordinate, mirroring get_proposals_and_revisions_from_cache - ngit issue list: table output of ID, status, title and hashtags at end of each row; status resolved via existing get_status() logic - --status: comma-separated filter (open,draft,closed,applied; default: open) - --hashtag: comma-separated label filter (case-insensitive, OR match) - --json: machine-readable output including hashtags and description - --offline: skip network fetch, use local cache only - <id>: optional positional argument (hex event-id or nevent) to show full details of a specific issue including body content
2026-02-20add `ngit repo` subcommand groupDanConwayDev
- `ngit repo` (no subcommand): show repository info including maintainer tree, per-maintainer infrastructure attribution, and a note explaining the union-vs-personal field model and recursive maintainer sets - `ngit repo init`: alias for `ngit init` - `ngit repo edit`: same as init but signals intent to update an existing repository announcement - `ngit repo accept`: scoped command for co-maintainers to publish their announcement; errors with clear messages for all other states (trusted maintainer, already accepted, not invited, no repo found)
2026-02-12feat: add ngit apply command for non-interactive patch applicationDanConwayDev
Adds a new 'ngit apply <event-id>' command that applies proposal patches to the current branch. Supports --stdout flag to output patches for piping to git am. Phase 2 of non-interactive ngit list implementation.
2026-02-12feat: add ngit checkout command for non-interactive proposal checkoutDanConwayDev
Adds a new 'ngit checkout <event-id|nevent>' command that creates or updates a proposal branch and checks it out. Supports both PRs and patches with parent-commit references. Phase 1 of non-interactive ngit list implementation.
2026-02-10feat: add ngit account create commandDanConwayDev
Add new 'ngit account create' subcommand to create nostr accounts. This replaces the previous 'signup' command and supports both interactive and non-interactive modes.
2025-07-25feat(sync): add cmd to sync git serversDanConwayDev
with nostr state. optionally use 'force' flag
2024-11-27feat: remove `pull` `push` and `fetch` ngit cmdsDanConwayDev
to simplify the api and encourage use of the git remote helper
2024-11-27feat(logout): add logout commandDanConwayDev
rather than using `ngit login` which is less intuative
2024-11-27feat(export-keys): to use in other clientsDanConwayDev
as part of the easy on-boaridng flow
2024-11-11Revert "refactor: remove ngit `pull` `push` `fetch`"DanConwayDev
This reverts commit 43b5e9b38bf5dcfbac85637a2d3efc69ddfe77ac.
2024-11-04refactor: remove ngit `pull` `push` `fetch`DanConwayDev
simplify api to encougage use of the git plugin
2024-09-04refactor: organise into lib and bin structureDanConwayDev
the make the code more readable this commit just moves the files, the next commit should fix the imports