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

@dezkareid/osddt

v1.8.0

Published

Package for Spec-Driven Development workflow

Readme

osddt

Other spec driven development tool but for monorepo

CLI Commands

| Command | Description | | -------------------------------------------------------------------- | ------------------------------------------------------------- | | @dezkareid/osddt setup | Generate agent command files for Claude and Gemini | | @dezkareid/osddt setup --agents <list> --repo-type <type> | Non-interactive setup (for CI/scripted environments) | | @dezkareid/osddt meta-info | Output current branch and date as JSON | | @dezkareid/osddt done <feature-name> --dir <project-path> | Move working-on/<feature> to done/<feature> | | @dezkareid/osddt update | Regenerate agent command files from the existing .osddtrc |

osddt setup options

| Flag | Values | Description | | ---- | ------ | ----------- | | --agents <list> | claude, gemini (comma-separated) | Skip the agents prompt and use the provided value(s) | | --repo-type <type> | single, monorepo | Skip the repo type prompt and use the provided value | | -d, --dir <directory> | any path | Target directory (defaults to current working directory) |

Both flags are optional. Providing neither runs the fully interactive mode. Providing both skips all prompts.

The selected agents are saved in .osddtrc alongside repoType so that osddt update can regenerate the correct files without prompting.

# Interactive (default)
npx @dezkareid/osddt setup

# Non-interactive (CI-friendly)
npx @dezkareid/osddt setup --agents claude,gemini --repo-type single

Command Templates

Run npx @dezkareid/osddt setup once to generate the agent command files.

osddt.research and osddt.start are peer entry points — use whichever fits your situation. Both lead to osddt.spec. If you close the coding session, execute osddt.continue to resume the workflow.

flowchart LR
    continue([osddt.continue])

    subgraph entry[Entry points]
        research([osddt.research])
        start([osddt.start])
    end

    spec([osddt.spec])
    clarify([osddt.clarify\noptional])
    plan([osddt.plan])
    tasks([osddt.tasks])
    implement([osddt.implement])
    done([osddt.done])

    research --> spec
    start --> spec
    spec --> clarify
    clarify --> plan
    spec --> plan
    plan --> tasks
    tasks --> implement
    implement --> done
    done --> continue
    continue -.resume.-> spec & plan & tasks & implement & done

    note["⚠️ You can go back to any step,\nbut once osddt.done runs\nthe feature is finished."]
    done --- note

Example workflows

Starting with research

/osddt.research add payment gateway
/osddt.spec add-payment-gateway
/osddt.clarify add-payment-gateway   # optional — resolve open questions
/osddt.plan use Stripe SDK, REST endpoints, no webhooks
/osddt.tasks
/osddt.implement
/osddt.done

Starting directly

/osddt.start add user profile page
/osddt.spec add-user-profile-page
/osddt.plan React with React Query, REST API
/osddt.tasks
/osddt.implement
/osddt.done

Resuming after closing a session

# You closed your agent session and want to pick up where you left off:
/osddt.continue add-payment-gateway
# → detects osddt.plan.md exists and reports:
#   "Planning phase complete. Run: /osddt.tasks"
/osddt.tasks
/osddt.implement
/osddt.done

| Template | Description | | ------------------ | ------------------------------------------------------------------ | | osddt.continue | Detect the current workflow phase and prompt the next command | | osddt.research | Research a topic and write a research file to inform the spec | | osddt.start | Start a new feature by creating a branch and working-on folder | | osddt.spec | Analyze requirements and write a feature specification | | osddt.clarify | Resolve open questions in the spec and record decisions (optional) | | osddt.plan | Create a technical implementation plan from a specification | | osddt.tasks | Generate actionable tasks from an implementation plan | | osddt.implement | Execute tasks from the task list one by one | | osddt.done | Resolve project path, verify tasks, and move the feature to done |

Generated files are placed in:

  • .claude/commands/osddt.<name>.md (Claude Code)
  • .gemini/commands/osddt.<name>.toml (Gemini CLI)

Development

Running Tests

# Run the full test suite once
pnpm test

# Run in watch mode during development
pnpm run test:watch

Local Setup

After making changes to the source, rebuild and regenerate the agent command files in the repository:

pnpm run setup-local

This runs pnpm run build followed by npx osddt setup, prompting you to select which agents to configure and the repo type.