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

forgecode-cli

v0.1.2

Published

Professional terminal AI coding assistant foundation

Downloads

291

Readme

ForgeCode

ForgeCode is a professional terminal AI coding assistant foundation for working with codebases through natural language. It is designed for long-term maintainability: providers are swappable, tools are runtime-controlled, and the action protocol is intentionally small and safe.

Features

  • OpenAI-compatible provider layer for OpenAI, OpenRouter, and similar APIs
  • Strict runtime-owned action protocol: ACTION, ASK_USER, FINAL_MESSAGE
  • Modular tool system with validation and permission gates
  • Workspace-scoped file access
  • Interactive terminal experience with streaming model output
  • Publishable npm CLI package structure

Installation

npm install
npm run build

To use the local CLI after building:

npm start

For package-style execution after publishing:

forgecode

Usage

Start an interactive session in a project directory:

forgecode

Or during local development:

npm start

Available command:

forgecode config

This opens an interactive configuration flow and stores credentials in ~/.forgecode/config.json.

Configuration

ForgeCode stores its configuration in:

~/.forgecode/config.json

Current fields:

  • provider
  • api_key
  • base_url
  • model

The initial implementation uses an OpenAI-compatible /chat/completions API, which works with providers that expose that interface.

Architecture

Project layout:

src/
  cli/
  agent/
  runtime/
  tools/
  providers/
  context/
  ui/
  config/
  utils/
bin/
  forgecode

Design principles:

  • The model never executes tools directly.
  • The runtime parses text directives and validates every action.
  • Tools are isolated, typed, and schema-validated.
  • Sensitive actions like file writes and shell commands require confirmation.
  • File system access is limited to the current workspace.

Minimal Tooling

Initial tools:

  • read_file
  • write_file
  • list_files
  • run_command

This repository intentionally stops at the foundation layer. It does not yet include advanced automation like git workflows, test orchestration, large-scale refactors, or autonomous planning.

Roadmap

  • Richer terminal UI with structured panels and status views
  • Additional provider adapters
  • Better context selection and token budgeting
  • More tools with fine-grained permissions
  • Session persistence and resumability
  • Test coverage and provider mocks

Development

Build:

npm run build

Run:

npm start

Local development:

npm run dev