Skip to content

fix(cli): improve DX across CLI commands and package metadata - #2

Merged
drichar merged 5 commits into
mainfrom
fix/dx-improvements
Feb 10, 2026
Merged

drichar merged 5 commits into
mainfrom
fix/dx-improvements

Conversation

@drichar

@drichar drichar commented Feb 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Addresses the top five findings from a developer experience review of the first public release. The changes improve error messages, add safety to destructive operations, make the list output readable in standard terminals, and improve npm discoverability.

Details

Key changes

  • Confirmation prompt for remove — The remove command now prompts before deleting skills instead of running immediately. Pass -y/--yes to skip for scripted usage. New src/prompt.ts utility using Node's built-in readline.
  • Truncated list output — Skill descriptions are truncated to fit 80 columns, preferring sentence boundaries. A "Details:" hint directs users to info <name> for full text.
  • Install method surfacing — add now shows (copied) when the symlink-to-copy fallback is used (e.g., on Windows). Re-installing over an existing copy replaces it instead of failing with "not a symlink."
  • Shared resolveAgents with better errors — Extracted the duplicated resolveAgents from add, remove, and dev commands into agents.ts. Unknown agent errors now list valid names: claude-code, codex, cursor, opencode.
  • Package metadata — Added engines: { node: ">=18" } to catch incompatible runtimes early. Expanded keywords with use-wallet, haystack, codex, cursor, opencode.

Testing

  • All 41 existing tests pass
  • Updated installer.test.ts to cover the new re-install-over-copy behavior
  • Manually verified: confirmation prompt (y/n/-y flag), truncated list output, unknown agent error message, copy method annotation
  • Full CI pipeline passes locally: lint, test, build, validate, publint

drichar and others added 5 commits February 10, 2026 06:21
The remove command now prompts for confirmation before deleting
skills. Use -y/--yes to skip the prompt for scripted usage.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Descriptions are now truncated to fit within 80 columns, breaking at
sentence boundaries when possible. A new "Details" hint directs users
to the info command for full descriptions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The add command now shows "(copied)" when the symlink fallback is
used. Re-installing a skill over an existing copy (non-symlink) now
replaces it instead of failing, so users don't have to manually
remove before re-adding.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Consolidates the duplicated resolveAgents function from add, remove,
and dev commands into agents.ts. The "Unknown agent" error now lists
valid agent names so users don't have to check the docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds node >=18 engines constraint to catch incompatible runtimes
early. Expands keywords with use-wallet, haystack, codex, cursor,
and opencode for better npm discoverability.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@drichar
drichar merged commit bcfe0ed into main Feb 10, 2026
1 check passed
@drichar
drichar deleted the fix/dx-improvements branch February 10, 2026 11:28
txnlab-release-bot Bot added a commit that referenced this pull request Feb 10, 2026
# 1.0.0 (2026-02-10)

### Features

* **haystack-router:** add haystack-router skill with routing doc and reference files ([1d8cca4](1d8cca4))
* **nfd:** add nfd skill with routing doc and reference files ([204ad35](204ad35))
* **use-wallet:** add use-wallet skill with routing doc and reference files ([841f1f4](841f1f4))
* bootstrap @txnlab/skills project ([d3a72f8](d3a72f8))

### Bug Fixes

* **cli:** improve DX across CLI commands and package metadata ([#2](#2)) ([bcfe0ed](bcfe0ed))
@txnlab-release-bot

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant