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

lytos-learn-todo-api

v0.1.0

Published

A simple todo API — learn Lytos by building features step by step

Readme

Lytos Learn — Build a Todo API with Lytos

Learn the Lytos method hands-on. Clone this repo, follow the steps, build features — guided by your AI.

What is Lytos? · Install the CLI · Lire en français


What you'll learn

This is a small todo API project pre-configured with Lytos. Issues are ready in the board. Some are done, some are in progress, some are waiting. Your job: pick up where the project left off and build features using the Lytos workflow.

By the end, you'll know how to:

  • See the boardlyt board
  • Inspect an issuelyt show ISS-0006
  • Start an issuelyt start ISS-0002
  • Close an issuelyt close ISS-0002
  • Validate the projectlyt lint and lyt doctor
  • Create new issues with your AI

Prerequisites

  • Node.js 20+ installed
  • An AI tool — Claude Code, Cursor, Codex, or any LLM
  • 5 minutes — that's all it takes

Step 0 — Setup

# Install the CLI
npm install -g lytos-cli

# Clone this project
git clone https://github.com/getlytos/lytos-learn.git
cd lytos-learn

# Verify it works
npm start
# → Todo API running on http://localhost:3000

Test the API:

curl http://localhost:3000/todos

Stop the server (Ctrl+C) and move on.


Step 1 — See the board

lyt board

This is your project dashboard. You'll see issues in every status — icebox, backlog, sprint, in progress, review, done. This is how Lytos tracks work.

Notice the dependency arrows: ISS-0009 depends on ISS-0004, which depends on ISS-0002. You can't start ISS-0009 before ISS-0002 is done.


Step 2 — Inspect an issue in progress

lyt show ISS-0006

ISS-0006 is in progress with 2 out of 4 checklist items done. The progress bar shows 50%. This is how you track where you are on any issue.

Try also:

lyt show

This shows all in-progress issues with their progress. In a real project with a team, this is how you see what everyone is working on.


Step 3 — Start your first issue

Pick ISS-0002 (toggle a todo done/undone) — it's simple and has no dependencies:

lyt start ISS-0002

Watch what happens:

  • The issue moves from 1-backlog/ to 3-in-progress/
  • A git branch feat/ISS-0002-toggle-todo is created
  • The board is regenerated

Run lyt board again to see the change.


Step 4 — Build the feature with your AI

Open your AI tool (Claude Code, Cursor, Codex) and say:

"Read .lytos/manifest.md and the issue in .lytos/issue-board/3-in-progress/ISS-0002-toggle-todo.md. Then implement it."

The AI will:

  1. Read the project manifest (understands the project)
  2. Read the issue (knows what to build)
  3. Read the rules (knows the quality criteria)
  4. Implement the feature following the checklist

When it's done, verify:

npm test
lyt show ISS-0002

Step 5 — Close the issue

When all checklist items are done and tests pass:

lyt close ISS-0002

The issue moves to 5-done/, the board updates, and you're ready for the next one.

Run lyt board to see your progress.


Step 6 — Check project health

lyt lint
lyt doctor

lyt lint validates the .lytos/ structure. lyt doctor goes deeper — checks for broken links, stale memory, missing skills, and gives you a health score.


Step 7 — Create your own issue

This is the real test. Say to your AI:

"I want to add [your idea] to the todo API. Create an issue for it."

The AI should create a properly formatted issue file with frontmatter, a checklist, and a definition of done. Review it, start it with lyt start, build it, close it with lyt close.

ISS-0005 in the backlog has some ideas if you need inspiration.


What's next?

You've just experienced the full Lytos workflow. To use it on your own project:

cd your-project
lyt init

Project structure

lytos-learn/
├── src/
│   ├── server.js          # The todo API
│   └── server.test.js     # Tests
├── .lytos/
│   ├── manifest.md        # Project constitution
│   ├── memory/            # Accumulated knowledge
│   ├── rules/             # Quality criteria
│   └── issue-board/       # Kanban board with real issues
│       ├── BOARD.md
│       ├── 0-icebox/      # Ideas for later
│       ├── 1-backlog/     # Ready to start
│       ├── 2-sprint/      # Committed for this sprint
│       ├── 3-in-progress/ # Being worked on
│       ├── 4-review/      # Under review
│       └── 5-done/        # Completed
└── package.json

"The best way to learn a method is to use it on a real project."