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

artyfax

v0.3.1

Published

CLI for Artyfax - your personal document library. Save, theme, search, and share.

Downloads

196

Readme

artyfax

CLI for Artyfax - your personal document library. Save, theme, search, and share your documents from the terminal.

Installation

npm install -g artyfax

Requires Node.js 20 or later.

The command is artyfax. If you prefer brevity, arty and ax are built-in aliases for the same command - use whichever you like.

Quick start

# Set your API key
export ARTYFAX_API_KEY="your-api-key"

# Save a document
artyfax save notes.md --category inbox

# List your documents
artyfax list

# Search your library
artyfax search "deployment guide"

# Check your setup
artyfax doctor

Commands

Documents

| Command | Description | |---------|-------------| | artyfax save <file> | Save a document (markdown or HTML) | | artyfax save --url <url> | Save from a URL (server-side extraction) | | artyfax read <slug> | Read document content (handles E2EE decryption) | | artyfax list | List documents | | artyfax get <slug> | Document metadata as JSON | | artyfax search <query> | Full-text search | | artyfax update <slug> <file> | Push updated content (auto-encrypts secure docs) | | artyfax metadata <slug> | Update document metadata | | artyfax delete <slug> | Delete a document | | artyfax open <slug> | Open document in browser | | artyfax secure <slug> | Encrypt a document | | artyfax unsecure <slug> | Remove encryption |

Shares

| Command | Description | |---------|-------------| | artyfax share create <slug> | Create a share link | | artyfax share list [slug] | List shares | | artyfax share revoke <hash> | Revoke a share link |

Sub-resources

| Command | Description | |---------|-------------| | artyfax cat list | List categories with document counts | | artyfax tag list | List tags with counts | | artyfax version list <slug> | Version history | | artyfax version restore <slug> | Restore a previous version |

Annotations

| Command | Description | |---------|-------------| | artyfax annotation list <slug> | List a document's annotations (--include-recipients, --since) | | artyfax annotation search <query> | Search across annotations |

Snippets

| Command | Description | |---------|-------------| | artyfax snippets | List snippets (--type, --tag, --starred, --limit) | | artyfax snippets search <query> | Search snippets (--type, --limit) | | artyfax snippets show <id> | Show a snippet | | artyfax snippets new | Create a snippet (--text/--file/--image, --type, --tags, …) | | artyfax snippets delete <id> | Delete a snippet | | artyfax snippets star <id> | Star a snippet | | artyfax snippets unstar <id> | Unstar a snippet |

Projects and work

| Command | Description | |---------|-------------| | artyfax init [prefix] | Create or refresh ARTYFAX.md for a project board | | artyfax project list | List projects | | artyfax project create "Name" --prefix XX | Create a project (--workspaces "A,B" to scope, --description) | | artyfax work | Show the board grouped by status | | artyfax work list | List work items (--project, --status, --type, --agent) | | artyfax work next | Pick the next item from Up Next (--agent) | | artyfax work start <id> | Move an item to In Progress | | artyfax work done <id> | Move an item to Done | | artyfax work status <id> <status> | Set an item's status | | artyfax work create "Title" --project XX | Create a work item (--status, --type, --agent) | | artyfax tasks <id> | List a work item's tasks | | artyfax task <id> "text" <active\|done\|pending> | Set a task's state | | artyfax workspace list | List workspaces |

Work IDs (e.g. AX-2) are accepted anywhere a slug or UUID is.

Tools

| Command | Description | |---------|-------------| | artyfax doctor | Verify CLI setup | | artyfax skill install | Install Artyfax skills for Claude Code |

Global flags

| Flag | Description | |------|-------------| | --json | Machine-readable JSON output | | --yes, -y | Skip interactive confirmations | | --api-key <key> | API key (prefer env var) | | --endpoint <url> | API endpoint | | --help, -h | Show help | | --version, -v | Show version |

Every command supports --help for detailed usage and examples:

artyfax save --help
artyfax share --help

Slug resolution

Commands accept documents by full slug, bare name, or UUID:

artyfax read inbox/my-doc          # full slug
artyfax read my-doc                # bare name (resolves automatically)
artyfax get 12345678-...           # UUID

E2E Encryption

Artyfax supports client-side encryption. The CLI handles encryption and decryption transparently.

# Save an encrypted document
artyfax save secret.md --secure

# Read decrypts automatically (prompts for passphrase)
artyfax read inbox/secret

# Update auto-encrypts if the target is secure
artyfax update inbox/secret updated.md

# Set passphrase via env var to skip the prompt
export ARTYFAX_SECURE_PASSPHRASE="your-passphrase"

Environment variables

| Variable | Description | |----------|-------------| | ARTYFAX_API_KEY | API key for authentication (required) | | ARTYFAX_ENDPOINT | API endpoint URL (default: https://artyfax.io) | | ARTYFAX_SECURE_PASSPHRASE | E2EE passphrase (avoids interactive prompt) |

License

MIT