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

@tomkapa/tayto

v0.9.0

Published

CLI tool for task management - for solo devs and AI agents

Downloads

142

Readme

Tayto - Task management for solo developers and AI agents

npm License: MIT Node.js

Stop losing tasks between AI sessions. Stop drowning in Jira fields you don't need.

A local-first task manager built for solo developers who work with AI coding agents. CLI for agents. TUI for humans. One SQLite database. Zero configuration.

InstallWorkflowAgent IntegrationClaude Code Skills


Why Tayto

Every project management tool out there assumes you're on a team. They want you to configure sprints, assign story points, set due dates, and fill out fifteen fields before you can track a single task.

If you're a solo dev shipping with AI agents like Claude Code, you need something different:

  • You forget things. A quick idea during a coding session, a tech debt note from an AI-generated feature, a bug you noticed but can't fix right now. Without a fast capture tool, these vanish.
  • AI generates work faster than you can track it. Your agent builds five features in an afternoon. Each one leaves behind edge cases, missing tests, and shortcuts. That debt is invisible until it bites you.
  • Priority fields are a lie. When you're the only one executing, all that matters is order: what's first, what's next. Row 1 in the task list is what you do now. That's it.
  • Your AI agent can't use Jira. It needs a CLI that speaks JSON. Your existing tools weren't built for this.

Tayto solves exactly this: a CLI for agents and a TUI for humans, sharing the same local SQLite database. No server. No login. No internet required.


Install

npm install -g @tomkapa/tayto

Requires: Node.js >= 22


Demo

Demo


Workflow

Workflow

1. Capture — AI generates tasks from feature plans, records tech debt, logs bugs.

2. Prioritize — You drag tasks into execution order. No story points. Just: what's first?

3. Enrich — AI researches the codebase and writes implementation-ready technical notes.

4. Review — You read the plan. Approve, adjust, or send it back.

5. Execute — AI implements the top todo task. You review the code. Cycle repeats.


Works With Every Coding Agent

Tayto's CLI outputs structured JSON to stdout — any agent with shell access can manage your tasks.

// Every command returns a consistent envelope
{ "ok": true, "data": { ... } }

No plugins. No API keys. Just install Tayto and your agent can tayto task list, tayto task create, and tayto task update out of the box.


Claude Code Skills

Tayto ships with Claude Code skills for the full AI-assisted workflow — no prompt engineering required.

/tayto

Manage projects and tasks directly from conversation. Create tasks, search the backlog, re-rank priorities, manage dependencies — all without leaving Claude Code.

/enrich-task

Picks the next backlog task, researches the codebase for relevant patterns and architecture, then writes self-contained technical notes with implementation steps, acceptance criteria, and package recommendations. Splits out future enhancements as tech-debt tasks automatically.

/implement-task

Picks the highest-priority todo task, reads its technical notes, checks dependencies, then implements the feature step by step. Verifies the implementation against acceptance criteria before marking done.

Adding skills to your project

Install from the community registry:

npx skills add tomkapa/tayto

Or from the Claude Code marketplace:

/plugin marketplace add tomkapa/tayto
/plugin install tayto

Analytics

Two read-only commands expose productivity metrics over a rolling time window. Designed to be consumed by a scheduled agent (e.g. Claude Cowork) at a set interval.

tayto analytic summary

Returns a JSON productivity summary for the given period.

tayto analytic summary --period <day|week> [-p <project>]

Sample output:

{
  "ok": true,
  "data": {
    "period": "day",
    "windowStart": "2026-04-22T06:00:00.000Z",
    "windowEnd": "2026-04-23T06:00:00.000Z",
    "completed": { "total": 3, "byType": { "story": 2, "bug": 1, "tech-debt": 0, "release": 0 } },
    "created":   { "total": 5, "byType": { "story": 4, "bug": 1, "tech-debt": 0, "release": 0 } },
    "current":   { "total": 12, "byStatus": { "backlog": 5, "todo": 3, "in-progress": 2, "review": 1, "done": 1, "cancelled": 0 }, "byType": { ... } },
    "backlogDelta": 2,
    "throughputPerDay": 3
  }
}
  • backlogDelta = created.total − completed.total (positive means backlog is growing)
  • throughputPerDay = completed.total / periodDays
  • All byType and byStatus maps always include every key (zero-filled) for stable agent parsing

Caveat: completed counts tasks whose updated_at falls within the window. Because any edit bumps updated_at, a done task edited later will reappear. A proper completed_at column is tracked as a separate tech-debt item.

tayto analytic completed

Returns the raw list of completed tasks within a rolling window.

tayto analytic completed --since <duration> [-p <project>]

Duration format: <positive integer><unit> where unit is m (minutes), h (hours), d (days), or w (weeks). Examples: 24h, 7d, 2w. Maximum: 365d.

Sample output:

{
  "ok": true,
  "data": [
    { "id": "PROJ-12", "name": "Fix auth bug", "type": "bug", "status": "done", "updatedAt": "2026-04-23T05:12:00.000Z", ... }
  ]
}

Results are ordered by updated_at DESC. Invalid --since values return a VALIDATION error on stderr with exit code 1.


Configuration

| Variable | Default | Description | |---|---|---| | TASK_DB_PATH | ~/.task/data.db | SQLite database path | | TASK_DATA_DIR | ~/.task | Data directory | | TASK_LOG_LEVEL | info | debug / info / warn / error | | OTEL_EXPORTER_OTLP_ENDPOINT | — | OpenTelemetry collector |

Database is created automatically on first run. All data stays on your machine.


License

MIT