npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@jackcuthbert/fold-cli

v2.2.0

Published

Command-line client for Fold

Readme

Fold CLI

Manage todos in a self-hosted Fold installation from a terminal or AI agent.

npm install --global @jackcuthbert/fold-cli
fold-cli auth login
fold-cli skill install --agent codex --scope user
fold-cli todo list
fold-cli todo create "Book dentist" --list Personal
fold-cli todo create "Book dentist" --list Personal --due 2026-10-05
fold-cli todo create "Book dentist" --list Personal --notes "Call after 3pm" --priority high
fold-cli todo edit TODO_UID --due 2026-10-05T09:30
fold-cli todo edit TODO_UID --notes "Ask for Dr. Lee" --priority medium
fold-cli todo edit TODO_UID --clear-due --clear-notes --clear-priority
fold-cli todo edit TODO_UID --list Work
fold-cli todo uncomplete TODO_UID --yes

Run fold-cli --help for the complete command list. Add --json to any data command for machine-readable output.

Due dates accept YYYY-MM-DD all-day values or local YYYY-MM-DDTHH:mm[:ss] datetimes. Local times use the machine's IANA timezone; offsets and Z are rejected. Create accepts --notes TEXT and --priority high|medium|low, which may be combined with each other and --due. Edit accepts --notes TEXT, --priority high|medium|low, --clear-notes, and --clear-priority; edits may combine these with summary and due changes. Set and clear flags for the same field cannot be combined. Notes are preserved verbatim, including empty text; use --clear-notes to remove them. A 412 conflict retries once only when every edited field is unchanged on the fresh todo.

Edit with --list TARGET moves the todo to another list: the source is resolved by UID, TARGET is the destination resolved like create, and the CLI copies the todo into TARGET before deleting the source, so the copy keeps its fields. A completed todo and a TARGET equal to the todo's own list are rejected. Uncomplete reopens a completed todo and requires confirmation; --yes/-y skips the prompt and --json requires it. An already-open todo is reported as success unchanged.

Install the bundled fold-todos agent skill with --agent codex, --agent claude, or --agent all and --scope user or --scope project. Omitting --agent installs to the shared agent skills directory. Existing skill files are not overwritten.

The CLI stores Fold's encrypted session cookie, not the plaintext CalDAV password. Regular use renews the session; after seven inactive days, run fold-cli auth login again.

Migrating from the fold command

The executable is now fold-cli to avoid conflicting with the system's fold text-wrapping command. After the release is published, replace the old installation so its fold executable is removed:

npm uninstall --global @jackcuthbert/fold-cli
npm install --global @jackcuthbert/fold-cli@latest
fold-cli auth status

Use the package manager and installation scope used for your original install. Replace fold with fold-cli in scripts, shell aliases, and agent instructions; remove aliases or symlinks that make fold invoke the Fold CLI. Subcommands, flags, environment variables, and saved session locations are unchanged, so an unexpired session still works without signing in again.

Previously installed agent skills still invoke fold. Update their commands or move the existing SKILL.md outside its skill directory as a backup, then reinstall with fold-cli skill install using the same --agent and --scope. The installer refuses to overwrite an existing file. Skill directories are .codex/skills/fold-todos, .claude/skills/fold-todos, or .agents/skills/fold-todos, under your home directory for user scope or the project for project scope. Repeat for every installed agent and scope, and restart the agent session to load the updated instructions.