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

opencode-storyforge

v1.1.0

Published

StoryForge plugin for OpenCode - AI-powered writing workflow with editor-in-chief, writers, and reviewers

Readme

OpenCode Writer Swarm

OpenCode-StoryForge

OpenCode-StoryForge is the editorial swarm plugin for OpenCode that orchestrates a curated team of AI agents to draft, research, revise, and polish multi-stage writing projects. Designed with GitHub and npm users in mind, it markets a catchy collaborative workflow, pro-level polishing crew, and clear configuration knobs while still linking down to the technical usage sections below.

Agents

  • Editor-in-Chief: Orchestrator, direction setter.
  • Writer: Draft creator.
  • Researcher: Fact gatherer.
  • Section Editor: Structure reviewer.
  • Copy Editor: Language polisher and AI slop remover.
  • Fact Checker: Verification expert.
  • Reader Advocate: Audience representative.

Usage

Editor-in-Chief Role

OpenCode surfaces editor_in_chief as the primary role inside the UI, so you can pick it from the agent selector just like any other OpenCode plugin. When you kick off the Editor-in-Chief, StoryForge inherits whichever model you selected for that session (the same behavior as opencode-swarm), and you can still override the model via opencode-writer-swarm config if you need a different fallback.

  1. Add the plugin to your opencode.json.
  2. Configure models in ~/.config/opencode/opencode-writer-swarm.json or .opencode/opencode-writer-swarm.json.
  3. Invoke @editor_in_chief with a writing request.

Workflow

  1. Brief: Editor-in-Chief creates a brief.
  2. Research: Researcher gathers facts.
  3. Plan: Editor-in-Chief creates a content plan.
  4. Draft: Writer produces the first draft.
  5. Review: Section Editor, Copy Editor, Fact Checker, and Reader Advocate review the draft.
  6. Polish: Copy Editor does a final polish.
  7. Delivery: Final output saved to .writer/final/.

Configuration

| Setting | Description | | --- | --- | | config_validation_enabled (CONFIG_VALIDATION_ENABLED) | Enables the prototype-pollution guard in deepMerge. Set to false to fall back to the previous behavior. | | FILE_VALIDATION_ENABLED | Controls symlink/size/depth validation for .writer files. Disable to revert to the legacy permissive reader. | | FILE_RETRY_ENABLED / WRITER_MAX_RETRIES | Toggles exponential backoff retries for writer file writes and limits the number of retries. | | LOG_REDACTION_ENABLED | When true (default), startup logs redact keys ending in _KEY, _SECRET, or _TOKEN. Setting to false temporarily disables redaction for debugging. | | VERBOSE_INIT / LOG_LEVEL=debug | Emit detailed initialization metadata (agent count, sanitized config keys) during plugin startup. |