| Age | Commit message (Collapse) | Author |
|
Outputs {"is_nostr_repo": false} when not in a nostr repository, or
full structured JSON (name, identifier, description, nostr_url,
coordinate, maintainers, grasp_servers, git_servers, relays, hashtags)
when it is. Always exits 0. Also adds --title as an alias for --name
on `ngit init`.
|
|
- rename --hashtag (comma-separated) to --label (repeatable) on issue list,
matching the --label flag already used on issue create
- add --label filter to pr list with the same OR semantics (matching GitHub)
- display labels column in pr list table and Labels: line in pr view
- include labels array in all JSON outputs (list and view for both issue and pr)
- rename internal 'hashtags' -> 'labels' throughout issue_list.rs and list.rs
|
|
- issue view and pr view now show only a comment count by default
- pass --comments to include the full thread
- JSON output always includes comment_count; comments array only with --comments
- each comment in the thread includes reply_to (null for top-level, parent
comment id for replies)
- human-readable view shows a dim '↳ reply to <short-id>' line on replies
|
|
- Add missing P and p tags (root and parent author pubkeys)
- Fix E tag 4th element to be root pubkey (was empty string)
- Fix e tag 4th element to be parent pubkey (was "reply", a NIP-10 convention)
- Add --reply-to <ID|nevent> flag to both issue and PR comment commands
- When --reply-to is set, look up the parent comment from cache and use it
as the parent scope (e/k/p); root scope (E/K/P) always stays the issue/PR
- When --reply-to is omitted, parent == root (existing top-level behaviour)
|
|
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.
|
|
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
|
|
- make repo name bold yellow as a title; section headings bold dim
- add dim horizontal rules above and below the name/description block
- move earliest unique commit to the bottom (after additional relays)
- add --offline flag to skip network fetch and use local cache only
|
|
- `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)
|
|
Previously, running ngit without any command would show an error
message. Now it displays the help menu, which is more user-friendly
and follows standard CLI tool conventions.
|
|
Skip network fetch when --offline is set, using only local cache
|
|
Shows a progress spinner when fetching from git remotes in non-verbose mode.
Suppresses git fetch output and listing messages when not in verbose mode.
Uses NGITTEST environment variable for test timeouts.
|
|
Adds a global --verbose/-v flag that sets NGIT_VERBOSE environment variable.
Also sets NGIT_VERBOSE automatically when NGIT_TEST is set.
|
|
- Add --status flag for filtering (default: open,draft)
- Add --json flag for JSON output
- Add optional <id> argument for showing proposal details
- Rename interactive logic to launch_interactive()
- Non-interactive mode outputs table format by default
- Use -i flag for interactive mode
Phase 3 of non-interactive ngit list implementation.
|
|
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.
|
|
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.
|
|
The list command is inherently interactive - it presents menus for
browsing and selecting proposals. Without interactive mode, all
choice() calls auto-select default index 0, causing the first
proposal to be checked out immediately without user input.
|
|
Add --defaults, --interactive, and --force flags to support non-interactive
operation. Non-interactive mode is now the default behavior, with interactive
mode enabled via the -i/--interactive flag.
Also add CliError handling in main() to support styled error output from
subcommands.
|
|
rather than just in the remote helper.
|
|
with nostr state. optionally use 'force' flag
|
|
of how to customise ngit via git config items
|
|
to simplify the api and encourage use of the git remote helper
|
|
move login, logout export-keys commands to sub commands under account
|
|
rather than using `ngit login` which is less intuative
|
|
as part of the easy on-boaridng flow
|
|
This reverts commit 43b5e9b38bf5dcfbac85637a2d3efc69ddfe77ac.
|
|
simplify api to encougage use of the git plugin
|
|
move some functions out of ngit and into lib/mod
and lib/git_events
remove MockConnect from binaries so it is only used in the library.
this was done:
* mainly because automocks were not being imported from
lib into each binary
* but also because the these functions were being
tested with MockConnect
|
|
the make the code more readable
this commit just moves the files, the next commit should fix the imports
|