feat: add new agent skills#176
Conversation
There was a problem hiding this comment.
This PR successfully expands compatibility by adding new agent skills and standardizing the README structure. These additions are great for integrating with more tools across the ecosystem. A few adjustments were noted for refinement, including updating test coverage for the new installers, addressing a directory creation issue during the universal agent installation, and clarifying the uninstallation command sequence and directory paths in the documentation.
ce0f518 to
46d4e1c
Compare
46d4e1c to
8f83889
Compare
## Overview The skill infrastructure in this CLI was behind todoist-cli and twist-cli — missing the `update` method, `update-installed.ts`, and the `postinstall` hook that auto-updates installed skills on CLI upgrade. I've added all of that. I've also added support for gemini, pi, and universal agents, and rewritten the README to follow the same structure as the other Doist CLIs. The universal agent installs to `~/.agents/` for compatibility with Amp, OpenCode, and similar tools. The installer skips the agent directory existence check for universal since there's no specific agent to verify. The `postinstall` script is now guarded against missing `dist/` on fresh checkouts, avoiding noisy errors during `npm install` before the first build. ### Reference - Doist/todoist-cli#176 - Doist/twist-cli#101 ## Test plan - [ ] Code review should suffice (the code matches other CLIs)
| "format": "oxfmt", | ||
| "format:check": "oxfmt --check", | ||
| "postinstall": "node dist/postinstall.js || true", | ||
| "postinstall": "test -f dist/postinstall.js && node dist/postinstall.js || true", |
There was a problem hiding this comment.
@rfgamaral I assume this test command works on windows too?
There was a problem hiding this comment.
It does not...
Is this something we should be worried about, @scottlovegrove? I mean, who in their right mind actually uses Windows (not WSL)? 😅
Regardless, I can work on fixing this across all our CLIs, if you think it's important. Let me know.
There was a problem hiding this comment.
Is this something we should be worried about, @scottlovegrove? I mean, who in their right mind actually uses Windows (not WSL)? 😅
Absolutely something we should be concerned with. Doist OS is meant to run on Windows (not just WSL), and it relies on these CLIs, so we definitely need to make sure these are supported and won't fail.
There was a problem hiding this comment.
Good point. I'll take care of it.
## Overview The `test -f` shell command used in the postinstall script does not work on Windows. This replaces it with a dedicated Node.js script (`scripts/postinstall.js`) that uses dynamic `import()` with `.catch()`, which works across all platforms. ### Reference Doist/todoist-cli#176 (comment) ## Test plan - [ ] `npm install` succeeds
## Overview This PR prepares outline-cli for npm publishing as `@doist/outline-cli` (v1.0.0) and brings it in line with the other Doist CLIs. The skill infrastructure was missing the `update` method and the `postinstall` hook that auto-updates installed skills on CLI upgrade — I've added both. I've also added support for gemini, pi, and universal agents. The universal agent installs to `~/.agents/` for compatibility with Amp, OpenCode, and similar tools. The installer skips the agent directory existence check for universal since there's no specific agent to verify. Publishing is set up with semantic-release, following the same pattern as twist-cli. CI workflows were updated to use `.nvmrc` and the test/lint workflows now only run on PRs since the release workflow handles main. The `postinstall` script uses a cross-platform Node.js wrapper (`scripts/postinstall.js`) instead of `test -f`, which doesn't work on Windows. The redundant `prepare` script for lefthook installation was also removed — lefthook's own postinstall already handles this. ### Reference - Doist/todoist-cli#176 - Doist/bob-cli#17 - Doist/twist-cli#101 ## Test plan - [ ] Code review - [ ] CI passes (test, lint, type-check) - [ ] First release publishes as `@doist/outline-cli@1.0.0` on npm
# 1.0.0 (2026-03-25) ### Bug Fixes * broaden CI detection to handle all truthy values ([7dc2806](7dc2806)) * exclude dist from biome checks ([0dc49a3](0dc49a3)) ### Features * add API Spinner Proxy ([#17](#17)) ([a3bc75a](a3bc75a)) * add fuzzy reference resolution ([#19](#19)) ([6c1c6f9](6c1c6f9)) * add npm publishing, new agent skills, and skill auto-update ([#36](#36)) ([bcb2e75](bcb2e75)), closes [Doist/todoist-cli#176](Doist/todoist-cli#176) [Doist/bob-cli#17](Doist/bob-cli#17) [Doist/twist-cli#101](Doist/twist-cli#101) * add structured error formatting with codes and hints ([#18](#18)) ([17658d2](17658d2)) * implement OAuth PKCE browser login ([#20](#20)) ([b7f6eec](b7f6eec)), closes [#7](#7) [outline/outline#11254](outline/outline#11254) * improve oauth login inputs and callback UX ([#31](#31)) ([3011b28](3011b28))
Overview
Added support for pi and universal agents, and standardized the README structure to be consistent across Doist CLIs. The universal agent installs to
~/.agents/for compatibility with Amp, OpenCode, and similar tools. The installer skips the agent directory existence check for universal since there's no specific agent to verify.The
postinstallscript is now guarded against missingdist/on fresh checkouts, avoiding noisy errors duringnpm installbefore the first build.Reference
Test plan