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

@particular-labs/taskito

v1.0.1

Published

🎯 A tiny task assistant - Lightweight MCP server for task management with dependency tracking

Readme

🎯 Taskito

A tiny task master - Lightweight MCP (Model Context Protocol) server for task management with dependency tracking and beautiful markdown output.

✨ Features

  • πŸ“‹ Simple Task Management: Create, update, delete, and list tasks
  • πŸ”— Smart Dependencies: Define task dependencies with automatic blocking
  • πŸ“ Task Sizing: Estimate work with XS/S/M/L/XL sizing (< 1h to 2+ days)
  • 🎨 Beautiful Markdown: Pretty-printed output for Windsurf and other UIs
  • πŸ“ Project-Based: Each project gets its own taskito/tasks.json folder
  • 🌍 Global Installation: Install once, use everywhere
  • 🧹 Auto-Cleanup: Archive old tasks and optimize file size

πŸš€ Installation

Quick Install (Recommended)

# Install globally from npm
npm install -g @particular-labs/taskito

Alternative Installation Methods

From GitHub:

npm install -g git+https://github.com/particular-labs/taskito.git

From local clone:

git clone https://github.com/particular-labs/taskito.git
cd taskito
npm install -g .

Verify Installation

# Check if taskito is available
taskito --version

# Verify global installation
npm list -g @particular-labs/taskito

βš™οΈ Configuration

MCP Client Setup

Add to your MCP client configuration (e.g., Claude Desktop):

{
  "mcpServers": {
    "taskito": {
      "command": "taskito"
    }
  }
}

For Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "taskito": {
      "command": "taskito"
    }
  }
}

Start Using

Navigate to any project directory and start using Taskito:

cd my-project
# Taskito will create ./taskito/tasks.json automatically

πŸ“– Usage Examples

Initialize Your Project

Initialize project "My Web App" with description "A modern web application with user authentication"

Create Tasks with Sizing

Create a task "Setup Database" with description "Configure PostgreSQL database" with size "m" and priority "high"

Create a task "User Authentication" that depends on task-1 with size "l"

Track Progress

List all tasks
Update task-1 status to "in-progress" 
Show me available tasks I can start now
Get project overview

🎯 Task Status Workflow

  • πŸ“‹ todo β†’ πŸ”„ in-progress β†’ πŸ‘€ in-review β†’ βœ… done

πŸ“ Task Sizing Guide

| Size | Icon | Time Estimate | Use For | |------|------|---------------|---------| | XS | 🟒 | < 1 hour | Quick fixes, small updates | | S | πŸ”΅ | 1-4 hours | Small features, bug fixes | | M | 🟑 | 4-8 hours | Medium features, refactoring | | L | 🟠 | 1-2 days | Large features, integrations | | XL | πŸ”΄ | 2+ days | Major features, architecture changes |

πŸ› οΈ Available Commands

Project Management

  • initialize_project - Initialize a new project from PRD or description
  • get_project_overview - Get project statistics in beautiful markdown

Task Management

  • create_task - Create a new task with size, priority, and dependencies
  • update_task - Update task details (title, description, size, etc.)
  • update_task_status - Change task status with dependency validation
  • get_task - Get detailed task information in markdown
  • list_tasks - List tasks with filtering (status, priority, size, tags)
  • delete_task - Delete a task (validates no dependents exist)

Smart Workflows

  • check_dependencies - Check if a task's dependencies are satisfied
  • get_available_tasks - Get tasks ready to start (no blocking dependencies)

File Management

  • archive_completed_tasks - Archive old completed tasks to reduce file size
  • clean_project - Clean up invalid references and optimize file structure

πŸ“ Project Structure

When you initialize Taskito in a project, it creates:

your-project/
β”œβ”€β”€ taskito/
β”‚   └── tasks.json          # All your tasks and project data
β”œβ”€β”€ src/                    # Your project files
└── README.md

The tasks.json file contains:

{
  "name": "Project Name",
  "description": "Project description",
  "tasks": [...],
  "archivedTasks": [...],   // Old completed tasks
  "nextTaskId": 42
}

πŸ—‚οΈ Managing File Size

As your project grows, the tasks.json file can get large. Taskito provides several strategies:

1. Archive Completed Tasks

Archive completed tasks older than 30 days

This moves old completed tasks to archivedTasks array, keeping them stored but out of daily view.

2. Clean Project

Clean project

Removes invalid dependency references and optimizes the file structure.

3. Manual Strategies

Split by Epic/Milestone:

# Create separate Taskito projects for major features
mkdir feature-auth && cd feature-auth
# Initialize separate project: "User Authentication Epic"

mkdir feature-payments && cd feature-payments  
# Initialize separate project: "Payment System Epic"

Archive by Quarter/Release:

# Before major release, archive the project
cp taskito/tasks.json taskito/tasks-v1.0.0-backup.json
# Archive all completed tasks, start fresh for next version

🎨 Markdown Output

All Taskito responses are formatted in beautiful markdown with:

  • πŸ“‹ Status icons (todo/in-progress/in-review/done)
  • πŸ“ Size indicators (πŸŸ’πŸ”΅πŸŸ‘πŸŸ πŸ”΄ for XS/S/M/L/XL)
  • πŸ”₯ Priority markers (πŸ”₯ high, ➑️ medium, ❄️ low)
  • πŸ“Š Tables for project overviews
  • 🎯 Clear sections and formatting

Perfect for Windsurf, Claude Desktop, and other markdown-aware UIs!

πŸš€ Releasing (For Maintainers)

Automated GitHub Releases

This project uses fully automated releases via GitHub Actions. No local commands needed!

Method 1: Version Bump + Push (Recommended)

# 1. Update version in package.json locally
npm run version:patch   # 1.0.0 β†’ 1.0.1 (bug fixes)
npm run version:minor   # 1.0.0 β†’ 1.1.0 (new features)  
npm run version:major   # 1.0.0 β†’ 2.0.0 (breaking changes)
npm run version:beta    # 1.0.0 β†’ 1.1.0-beta.0 (pre-release)

# 2. Commit and push
git add package.json
git commit -m "Bump version to $(npm pkg get version | tr -d '\"')"
git push

# 3. GitHub Actions automatically:
#    βœ… Tests the code
#    βœ… Builds the project  
#    βœ… Publishes to npm
#    βœ… Creates git tag
#    βœ… Creates GitHub release

Method 2: Manual Tag Creation

# Create and push a tag - triggers immediate release
git tag v1.0.1
git push origin v1.0.1

# GitHub Actions handles the rest automatically

Method 3: GitHub UI

  1. Go to your GitHub repo
  2. Click "Releases" β†’ "Create a new release"
  3. Create tag v1.0.1 and publish
  4. Automatic release triggers

Setup Requirements

  1. NPM Token: Add NPM_TOKEN to GitHub repository secrets

    • Go to npmjs.com β†’ Access Tokens β†’ Generate Token
    • Add to GitHub: Settings β†’ Secrets β†’ Actions β†’ NPM_TOKEN
  2. Repository Settings: Ensure GitHub Actions are enabled

    • Settings β†’ Actions β†’ General β†’ Allow all actions

πŸ”§ Development

Local Development

git clone <repo>
cd taskito
npm install
npm run dev        # Run in development mode
npm run build      # Build for production

Project Structure

taskito/
β”œβ”€β”€ src/
β”‚   └── index.ts          # Main server implementation
β”œβ”€β”€ dist/                 # Compiled JavaScript
β”œβ”€β”€ package.json
β”œβ”€β”€ tsconfig.json
└── README.md

πŸ’‘ Tips & Tricks

1. Start Small

Begin with XS and S tasks to build momentum:

Create task "Update README" with size "xs"
Create task "Fix broken link" with size "xs" 

2. Use Dependencies Wisely

Chain related tasks:

Create task "Database Schema" with size "m"
Create task "User Model" that depends on task-1 with size "s"
Create task "Auth Controller" that depends on task-2 with size "m"

3. Tag for Organization

Create task "Frontend Login Form" with tags "frontend,auth,ui"
List all tasks with tag "frontend"

4. Regular Reviews

Show project overview
List all tasks with status "in-review"
Get available tasks

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Make your changes
  4. Test thoroughly: npm run dev
  5. Commit: git commit -am 'Add feature'
  6. Push: git push origin feature-name
  7. Submit a pull request

πŸ“„ License

MIT License - see LICENSE file for details.

πŸ†˜ Troubleshooting

Common Issues

"Project not found" error:

# Initialize a project first
Initialize project "My Project" with description "Project description"

"Cannot start task - dependencies not satisfied":

# Check what's blocking the task
Check dependencies for task-5
# Or see what's available to start
Get available tasks

Large file size:

# Archive old completed tasks
Archive completed tasks older than 30 days
# Clean up the project
Clean project

Global command not found:

# Reinstall globally
npm install -g @particular-labs/taskito

# Or check if npm global bin is in PATH
npm config get prefix
# Add /bin to your PATH if needed

Getting Help

  • Check the markdown output for detailed error messages
  • Use Get project overview to see current state
  • Try Clean project to fix file issues
  • For development issues, run npm run dev for detailed logs

Happy task management with Taskito! 🎯✨