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

friday-code

v1.0.1

Published

Open-source terminal AI coding agent. Multi-provider support (OpenAI, Anthropic, Ollama), streaming responses, tool calling, and a beautiful React-based TUI.

Readme

Friday Code

Open-source terminal AI coding agent.

Friday Code is a terminal-native AI assistant that reads, writes, and edits code using tool-calling agent loops. Built with React (Ink), Vercel AI SDK, and SQLite.

  ◈ friday code
  model → ollama/qwen3:Thinking
  scope → ~/projects/my-app

  · explain this project
  · find and fix bugs in @file
  · refactor this module for clarity

Install

npm install -g friday-code

Or run from source:

git clone https://github.com/yashwanthreddy/friday-code.git
cd friday-code
npm install
npm run build
npm start

Usage

friday                     # Start in current directory
friday --dir ~/projects    # Start with a specific scope

Commands

| Command | Description | |---------|-------------| | /help | Show all commands and shortcuts | | /model | Select AI model and provider | | /provider | Manage providers and API keys | | /scope <path> | Change working directory | | /config | View or set configuration | | /clear | Clear conversation history | | /new | Start a new conversation | | /history | Show message count | | /exit | Quit Friday Code |

Keyboard Shortcuts

| Key | Action | |-----|--------| | Enter | Send message | | Tab | Autocomplete command or file | | / | Navigate input history | | Ctrl+C | Cancel generation | | Ctrl+D | Exit | | Ctrl+U | Clear input line |

File Mentions

Reference files inline with @filename:

explain what @src/index.ts does and suggest improvements

The file contents are automatically included as context.

Providers

Friday Code supports three AI providers out of the box:

| Provider | Setup | Notes | |----------|-------|-------| | OpenAI | Set OPENAI_API_KEY env var or use /provider | GPT-4o, o1, o3, o4 | | Anthropic | Set ANTHROPIC_API_KEY env var or use /provider | Claude Sonnet 4, 3.5 Sonnet | | Ollama | Install Ollama locally | Any local model — no API key needed |

Models are fetched live from each provider. Use /model to browse and select.

Tools

The agent has access to these tools during conversations:

| Tool | Description | Approval | |------|-------------|----------| | readFile | Read file contents | Auto | | writeFile | Create or overwrite a file | Required | | editFile | Find-and-replace edit | Required | | listDirectory | List files in a directory | Auto | | searchFiles | Glob-pattern file search | Auto | | searchContent | Grep-based content search | Auto | | executeCommand | Run a shell command | Required | | gitStatus | Show git status | Auto | | gitDiff | Show git diff | Auto | | gitLog | Show commit history | Auto | | gitCommit | Stage and commit | Required | | webFetch | Fetch a URL | Auto | | runTests | Run the test suite | Required |

Destructive tools require approval by default. Press Enter to approve or Esc to deny. Disable with /config approval off.

Configuration

Friday Code stores its database at ~/.friday-code/friday.db.

API keys can be set via:

  • Environment variables (OPENAI_API_KEY, ANTHROPIC_API_KEY)
  • The /provider command inside the TUI
  • A .env file in the working directory

Runtime settings via /config:

| Setting | Values | Default | |---------|--------|---------| | maxSteps | 1100 | 25 | | approval | on / off | on |

Architecture

src/
├── index.tsx                    # CLI entry point
├── core/
│   ├── engine/agent.ts          # Agent loop (streamText, tool calling)
│   ├── providers/registry.ts    # Provider and model management
│   └── tools/tools.ts           # Tool definitions
├── db/
│   ├── index.ts                 # Database initialization
│   └── schema.ts                # Drizzle ORM schema
└── ui/
    ├── theme/theme.ts           # Color palette and icons
    ├── components/components.tsx # All UI components
    └── views/
        ├── App.tsx              # Main application orchestrator
        ├── InputBox.tsx         # Input with autocomplete
        └── ModelSelector.tsx    # Model/provider picker

Stack: TypeScript · React + Ink · Vercel AI SDK · SQLite + Drizzle ORM · Node.js 18+

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

MIT