Skip to content

feat: add edit, tags, and stats commands (client parity)#100

Merged
icco merged 6 commits into
mainfrom
feat/client-parity
Jun 12, 2026
Merged

feat: add edit, tags, and stats commands (client parity)#100
icco merged 6 commits into
mainfrom
feat/client-parity

Conversation

@icco

@icco icco commented Jun 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds etu edit (alias e): pick an entry, edit its content in a pre-filled form, save via UpdateNote (tags untouched); prints "No changes." when content is unchanged
  • Adds etu tags (alias t): plain, pipeable name (count) list sorted by count desc, name asc
  • Adds etu stats: Blips / Tags / Words written, with --global for community stats (empty UserId in GetStatsRequest)
  • Wires TagsServiceClient and StatsServiceClient into the client package alongside the existing service clients
  • Documents the new commands in the README and adds a CLAUDE.md

This closes the CLI's feature-parity gap with the web client (which already exposes edit, tags, and stats).

Test plan

  • go build ./..., go vet ./..., gofmt -l . clean
  • go test ./... passes (new table tests for tag conversion/sorting and stats formatting)
  • golangci-lint run ./... — 0 issues

icco and others added 5 commits June 12, 2026 14:15
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds CLI feature parity with the web client by introducing etu edit, etu tags, and etu stats, plus the necessary gRPC client wiring and documentation updates.

Changes:

  • Added new Cobra commands: edit (TUI edit flow), tags (pipeable tag counts), and stats (personal + optional community stats via --global).
  • Extended the client package to wire TagsServiceClient / StatsServiceClient and expose ListTags, GetStats, and UpdatePost.
  • Added unit tests for tag conversion/formatting and stats formatting; updated README and added CLAUDE.md.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tags.go Adds etu tags command and deterministic sorting/formatting helper.
tags_test.go Tests formatTags output and ordering rules.
stats.go Adds etu stats command and formatting helper with optional community block.
stats_test.go Tests stats rendering for personal-only, community, and zero values.
edit.go Adds etu edit command: select entry, load full content, edit via huh, update via client.
main.go Registers new commands and adds stats --global flag.
README.md Documents the new commands in the usage list.
client/grpc.go Wires Tags/Stats service clients and adds proto→client tag conversion helper.
client/grpc_test.go Tests protoTagsToTags conversion behavior.
client/client.go Adds UpdatePost, ListTags, GetStats, and new Tag/Stats types.
CLAUDE.md Adds contributor-facing repo/build/test/architecture notes.
docs/superpowers/plans/2026-06-12-cli-parity.md Adds an implementation plan document for CLI parity work.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread stats.go
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@icco icco merged commit 22e8bc7 into main Jun 12, 2026
7 checks passed
@icco icco deleted the feat/client-parity branch June 12, 2026 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants