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

palette-code

v0.1.21

Published

Palette Code: the Palette AI coding agent for the terminal. Korean-first, runs on the Palette API.

Readme

Palette Code

The Palette AI coding agent for the terminal. Korean-first. Runs on the Palette API.

export PALETTE_API_KEY=...                       # the key Palette issued to you
palette-code                                    # interactive, in any project directory
palette-code run "실패하는 테스트 원인을 찾아 고쳐 줘"   # headless, for scripts and CI

What you get

| Seat (model) | Use it for | Context | Images | |---|---|---|---| | palette/palette-llm (default) | Korean reasoning, refactors, reviews | 1M | no | | palette/palette-llm-max | the hardest changes, long migrations | 1M | yes | | palette/palette-llm-fast | quick edits, lookups, renames | 1M | yes |

Tool calling, streaming, a reasoning-effort dial (low · medium · high · xhigh), MCP servers, project AGENTS.md instructions, plan mode, sessions and worktrees all come from the engine; the Palette API answers every request at https://llm.pltt.dev/v1. If one upstream seat fails, the API fails over to another and marks it in the response. Images on any seat (screenshots, attached pictures) are read by the Palette Multimodal stage and the seat answers from that read, so the default seat sees what you attach.

Skills

Every build carries Palette's own skills (design, replicate, research, outreach, media, documents, browser use, computer use) and pulls a curated index of permissively licensed community skills from https://llm.pltt.dev/skills/ on start (82 skills as of 2026-10-21: UI/UX Pro Max and Impeccable design playbooks, frontend design, shadcn, Vercel, Supabase, Stripe and Cloudflare guides, Expo and React Native, deploy to Vercel, spec-driven development, TDD, code review, security hardening, brainstorming and planning, MCP building, Korean spell-check, 한글 HWP editing, Korean business lookups (사업자 확인, 개인정보 처리방침, 정부지원 공고, KOSIS), Korean and English writing cleanup, Naver search, cold email and proposals, Instagram planning, analytics, and more; the list with licences and what was left out is in docs/research/skills-index-2026-10-21.md). The index is pulled on every engine start, so new skills reach existing installs without an update. Your own skills in ~/.agents/skills, ~/.claude/skills, ~/.codex/skills or the project's .palette-code/skills take precedence over a bundled one with the same id.

First run

palette-code writes ~/.config/palette-code/palette-code.json with the Palette provider and the default seat. Edit it to change the default, add MCP servers or your own providers. palette-code auth login stores a key if you prefer not to use the environment variable. Per project, put settings in palette-code.json or a .palette-code/ directory (agents, commands, skills, plugins); palette-code mcp add writes there. Projects set up for the upstream engine keep working.

Install

Downloads for every version and platform: https://llm.pltt.dev/download

curl -fsSL https://llm.pltt.dev/install | sh        # macOS, Linux: one binary into ~/.palette-code/bin, added to PATH
irm https://llm.pltt.dev/install.ps1 | iex           # Windows PowerShell
npm i -g palette-code                                # any platform with Node 18+

Prebuilt binaries: macOS (arm64, x64), Linux (x64, arm64), Windows (x64). Pin a version with PALETTE_CODE_VERSION=0.1.9 on the installer or npm i -g [email protected]. Direct links follow one pattern: https://llm.pltt.dev/download/palette-code-<os>-<arch>[-<version>].tgz.

Desktop

The same agent in a window, with the Palette Ver.2 theme (light and dark, Palette Noto Sans KR), sessions, diffs and a terminal. Each build bundles the matching CLI. Downloads for every version and platform (macOS arm64/x64 dmg + zip, Windows x64 exe, Linux x64/arm64 AppImage + deb) are on https://llm.pltt.dev/download under Desktop. macOS builds are signed with a Developer ID and notarized, so they open without warnings; Windows and Linux builds are unsigned. The desktop keeps its engine current from the same download site.

The desktop installer is self-contained: the engine and the four tools (documents, media, computer use, browser use) ship inside the app and run on its own runtime, so nothing else has to be installed. A new user opens the app, pastes the key under Settings → Providers → Palette → Connect, and starts. The app menu's Install Command Line Tool puts palette-code and the tool commands on PATH for the Terminal (~/.palette-code/bin).

Computer use

Palette Code can see and drive the apps on your computer through Palette Computer Use (palette-computer-use, MIT, derived from open-computer-use; see NOTICE.md), an MCP server built on the OS accessibility tree: list_apps, get_app_state (with a window screenshot), click, type_text, press_key, scroll, drag, set_value and more. The npm package installs it beside palette-code; other installs add it with npm i -g palette-computer-use. On macOS grant Accessibility and Screen Recording to "Palette Computer Use" when it asks (pcu doctor shows the state). In the desktop app macOS attributes those calls to the app itself, so Settings → Computer & browser also requests them for "Palette Code" (0.1.9). The server is pre-configured as computer-use in palette-code.json; after editing that file run palette-code reload so the running service picks it up. Use a vision seat (palette-llm-max or palette-llm-fast) for screen tasks. Every action shows as its own card in the session (verb · app · target) in the desktop app and the TUI.

Browser use works the same way through Palette Browser Use (palette-browser-use, MIT, derived from open-browser-use): a real Chrome or Brave window driven through a native host and the Palette Browser Use extension. palette-browser-use setup registers the host and installs the extension from https://llm.pltt.dev/download (developer mode → drop the ZIP on chrome://extensions, or the Chrome Web Store listing once it is live). In the desktop app, Settings → Computer & browser shows both permission states and fixes them in one click; every action shows as its own card in the session. Skills from Claude Code (~/.claude/skills), Codex (~/.codex/skills) and ~/.agents/skills are discovered automatically, globally and per project.

Documents and images

Palette Docs (palette-docs, MIT) is pre-configured as the docs MCP server. The agent reads hwp, hwpx, docx, doc, rtf, odt, xlsx, xls, csv, pptx, ppt, pdf, html, md, json and zip (up to 20 files per call or per archive), looks at images given as references (png jpg webp gif bmp tiff heic svg avif, resized for the vision seats) and pulls images out of documents. It creates docx, hwpx (한글 native, from Hancom's blank template), xlsx, pptx, md, csv, html from markdown, plus pdf, doc, xls, ppt, odt when LibreOffice is installed; fonts default to 맑은 고딕 and can be set per document. hwp (binary) export is not available; hwpx is. Install beside the CLI with npm i -g palette-docs (the npm package pulls it in).

Images and video

Palette Media (palette-media, MIT) is pre-configured as the media MCP server. create_image and edit_image make 2K images in 8 steps with strong Korean typography (posters, UI mockups, product shots), up to 10 reference images, transparent output; the agent sees a preview of every result. create_video makes 5–15 s clips with native audio, and Korean on-screen text passed as on_screen_text is rendered and OCR-verified before the clip is returned. understand_video watches a file or a YouTube link for you: title, chapters, a timestamped Korean transcript, a visual timeline read frame by frame, and a few frames to look at. Files land in ./palette-media/ unless a path is given, every action shows as its own card, and every response carries the AI-generation notice. npm i -g palette-media; the npm package pulls it in. Images on any seat are read by the Palette Multimodal stage, so screenshots and reference pictures work with the default palette-llm too.

Build from source

bun install                                              # bun 1.4.2 or newer
cd packages/cli && bun run build --single --skip-install   # dist/<target>/bin/palette-code
cd packages/desktop && OPENCODE_CHANNEL=prod OPENCODE_CLI_DIST=../cli/dist bun run prebuild && bun run build && bun run package:mac

License

MIT. See LICENSE and NOTICE.md.