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

tapcode

v1.2.3

Published

TapCode prototype with typed Express server and Vite React client.

Readme

TapCode

Waste no time, code anytime

TapCode Hero

Table of Contents

What is TapCode

✔ A developer interface to a programming environment running on your laptop/Cloud server/RaspberryPI/etc. ✔ A mobile-first programming interface that focuses on AI-assisted coding. ✔ A task-oriented coding workflow where developers create tasks, run them using coding agents, review code, and continue iterating until the desired result. ✔ A web-based interface that allows creating tasks for AI agents, running CLI commands, browsing code, and doing basic GIT operations. ✔ A lightweight client-server NodeJS application written with TypeScript, Express, Vite, React, and TailwindCSS.

What it is NOT:

❌ A code editor or IDE replacement: TapCode doesn't provide file editing capabilities at all. ❌ A full-featured AI coding assistant: TapCode focuses on task-based coding. It currently does not support interactive chat with AI agents (it might be added in the future). ❌ A cloud service: TapCode runs locally on your machine, ensuring your code and data remain private.

Features

TapCode helps developers code effectively from smartphones by pairing them with coding agents.

Mobile-First Development: Programming workflow optimized for smartphone screens. SSH terminal might be required for more complex tasks

Project File Browsing: Navigate and view project files in a mobile-friendly way with code syntax highlighting

Task-Oriented Approach: Easily annotate code and create coding tasks for AI agents

Task Execution With Coding Agents: Currently only Claude Code and OpenAI Codex agents are supported in non-interactive mode.

Basic GIT Operations: View git status, diff, stage & commit changes

Web-Based Interface: Review generated code from your mobile web browser, execute CLI command tasks using agents

Runs Locally Or In The Cloud: Run it on your home machine -> at night -- when you dreamed of a new feature -- pick up a phone and start TapCoding. You can also program on the go if you run TapCode on a cloud VM.


Install

Install TapCode globally via npm:

npm install -g tapcode

# then run by specifying the project directory
tapcode /path/to/your/project

Or run directly without installation using npx:

npx tapcode .

Requirements:

  • Node.js >= 18

Workflow

| Step | Description | | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | | Use the file browser or the global search to quickly locate files in your repository. | | | Open the file viewer to inspect syntax-highlighted code before creating edits. | | | Click on the line numbers in the gutter to add them to the annotation context and then on the annotation button on the toolbar. | | | From the task list, select a task and tap the 🤖 icon on the toolbar to hand off your request to a coding agent. | | | Long press the 🤖 icon to select between Claude Code or OpenAI Codex. They will run non-interactively. If you want to do a planning first, define a task to save the plan to a file and then create a new task to execute the plan. | | | Follow real-time terminal logs as the selected agent executes commands and edits your codebase. | | | Inspect the resulting diffs and code previews to confirm the agent's changes are correct. Create new annotations from here if you want to make changes. | | | Run any follow-up shell commands directly from the app to continue iterating on the task. |


Configure

By default the server will starts on http://127.0.0.1:2025.

Configure TapCode using environment variables:

| Variable | Description | Default | | -------------------- | ---------------------------------------------------- | ----------- | | TAPCODE_HOST | Network interface the server binds to | 127.0.0.1 | | TAPCODE_PORT | Port the server listens on | 2025 | | TAPCODE_BASIC_AUTH | Enable HTTP Basic Auth (format: username:password) | disabled |

Security Note: Basic auth does not encrypt traffic. Use it only over secure networks or keep the default host name and forward via SSH tunnel.

Example:

export TAPCODE_HOST=0.0.0.0  # will listen on all interfaces
export TAPCODE_PORT=3000
export TAPCODE_BASIC_AUTH=username:secretpassword
tapcode .

Support

We'd love your support and contributions to make TapCode better!

Give a Star

If you find TapCode useful, please give us a star on GitHub:

Star TapCode on GitHub

Report a Bug

Found a bug? Please create an issue:

🐛 Report Bug

Start a Discussion

Have questions or ideas? Join the discussion:

💬 GitHub Discussions


Contributing

We welcome contributions from the community!

Code Contributions

Bug Fixes:

Feel free to submit pull requests for bug fixes directly

Features & Improvements:

‼ Please start a discussion first before implementing new features. This helps ensure alignment with project goals and prevents duplicate work


License

TapCode is licensed under the Apache License 2.0.


Made with ❤️ for developers who code in their sleep and on the go