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

goatcode-sh

v0.1.9

Published

Enterprise-grade OpenCode plugin with micro-plugin architecture, multi-agent orchestration, and professional naming

Downloads

1,038

Readme

GoatCode Logo

GoatCode is a professional agent harness for OpenCode. It provides a modular plugin architecture where every agent, tool, and hook is an independent plugin. This system allows for deep customization and reliable multi-agent orchestration.

Overview

GoatCode reimplements core agent capabilities with a focus on engineering quality and modularity. It uses a TypeScript-native configuration system and a micro-plugin registry to compose features.

Key features:

  • 7 specialized agents for different task categories.
  • 26 built-in tools including LSP integration and hash-anchored editing.
  • 27 lifecycle hooks for context injection, error recovery, and quality control.
  • Background agent parallelism for non-blocking work.
  • TypeScript-native configuration with full type safety.

Installation

Install GoatCode via npm:

npm install goatcode-sh

GoatCode requires Bun to run.

Quick Start

Initialize GoatCode in your project:

goatcode install

This command sets up the initial configuration and verifies your environment.

Configuration

GoatCode uses a goatcode.config.ts file in your project root. Use the defineConfig helper for full type support.

import { defineConfig } from "goatcode-sh"

export default defineConfig({
  agents: {
    orchestrator: {
      model: "anthropic/claude-3-5-sonnet",
      temperature: 0
    }
  },
  plugins: [
    // Add external plugins here
  ]
})

You can also configure GoatCode at the user level by creating ~/.config/opencode/goatcode.ts. User-level configuration is merged with project-level configuration, allowing for persistent preferences across projects.

Agents

GoatCode includes 7 specialized agents.

| Agent | Description | |-------|-------------| | orchestrator | Main coordinator that plans and delegates tasks. | | deepworker | Autonomous worker for end-to-end execution. | | planbuilder | Strategic planner that interviews the user to define scope. | | advisor | Read-only consultant for architecture and code review. | | researcher | Specialist for documentation and code search. | | explorer | Fast codebase search and pattern matching. | | worker | General purpose executor for standard tasks. |

Tools

GoatCode provides 26 tools for agents to interact with your codebase.

| Category | Tools | |----------|-------| | LSP | goto_definition, find_references, symbols, diagnostics, prepare_rename, rename | | Search | ast_grep_search, ast_grep_replace, grep, glob | | Editing | hashline_edit | | Delegation | task_delegate | | Background | background_output, background_cancel | | Session | session_list, session_read, session_search, session_info | | Skills | skill_load, skill_mcp_invoke | | System | interactive_bash, look_at | | Tasks | task_create, task_list, task_get, task_update |

Hooks

GoatCode uses 27 hooks to manage the agent lifecycle and improve output quality.

| Category | Hooks | |----------|-------| | Context | context-injector, compaction-context, phase-reminder | | Recovery | edit-error, json-error, session-recovery, context-window-limit | | Models | model-fallback, runtime-fallback, preemptive-compaction | | Quality | comment-checker, write-file-guard, thinking-block-validator | | Productivity | keyword-detector, think-mode, anthropic-effort | | Output | tool-output-truncator, hashline-read-enhancer, hashline-diff-enhancer | | Continuation | todo-enforcer, compaction-todo-preserver, stop-guard, foreground-fallback | | Tasks | delegate-retry, empty-response-detector, task-resume-info, todowrite-disabler | | Nudges | post-read-nudge |

CLI Commands

| Command | Description | |---------|-------------| | goatcode install | Install and configure GoatCode in the current directory. | | goatcode update | Check for and install updates. |

Contributing

We welcome contributions. Please see CONTRIBUTING.md for setup instructions and architectural overview.