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

@lattices/lattices

v0.14.1

Published

A programmable workspace for your Mac. Native window management, screen search, persistent sessions, and a shared API for people and agents.

Readme

Lattices is a native macOS app with a command bar, window tiling, workspace layers, screen search, and persistent terminal sessions. Use hotkeys and mouse gestures yourself, or let an agent inspect and arrange the same workspace through lats and the local API.

Start with your desktop

  1. Download Lattices for Mac, open the DMG, and drag Lattices to Applications.
  2. Launch Lattices and grant Accessibility access when prompted. Enable Screen Recording for screen capture and OCR.
  3. Press Control+Option+Left to tile the frontmost window to the left half of your screen. Press Command+Shift+M to open the command palette.

The app requires macOS 26 or later. tmux is optional: window management, layers, search, and the agent API work without it.

| Your workspace | What Lattices does | | --- | --- | | Windows | Tile halves, thirds, quarters, and grids with hotkeys, gestures, the command bar, or the API. | | Projects | Group windows into workspace layers and return to a working context. | | Spaces | Move between macOS desktops with instant switching and a desktop preview. | | Search | Find windows by title, app, terminal directory, session, and indexed screen text. | | Terminals | Define panes in .lattices.json and reattach to persistent tmux sessions. | | Agents | Expose the same workspace through a local API and installable skills. |

Install the command line tools

Install Bun to run the CLI. You can install the package with npm (Node 18+) or Bun:

npm install -g @lattices/lattices
lats app
lats

lats app launches the bundled menu bar app. Bare lats shows workspace status. Both lats and lattices run the same CLI.

lats search api --deep
lats tile right
lats map

The setup guide covers Homebrew, login startup, permissions, and the one-command installer.

Existing installations

@arach/lattices and @lattices/cli remain supported compatibility packages. They receive the same CLI, exports, and bundled app as @lattices/lattices. Update using the package name you already installed. From version 0.14.1, lats app upgrade also preserves that package name.

The repository moved from arach/lattices to lattices-dev/lattices. Existing Git remotes and release links redirect to the new location. Your configuration, sessions, and app identity stay the same. See the migration guide.

Keep a terminal session alive

Install tmux (brew install tmux), then:

cd ~/your-project
lats init
lats start

lats init creates .lattices.json. lats start creates or reattaches the project's tmux session; lats tmux is an alias. Close your terminal and run lats start again to return to the session.

{
  "ensure": true,
  "panes": [
    { "name": "shell", "size": 60 },
    { "name": "server", "cmd": "bun dev" }
  ]
}

Give your agents workspace access

Install the family skills:

npx skills add lattices-dev/lattices --all --global --yes

Inspect the live API or call it directly:

lats daemon status
lats call api.schema
lats call windows.search '{"query":"api"}'

For a script, install the package in your project (npm install @lattices/lattices):

import { daemonCall, isDaemonRunning } from '@lattices/lattices'

if (!(await isDaemonRunning())) {
  throw new Error('Start Lattices with: lats app')
}

const windows = await daemonCall('windows.search', { query: 'api' })
console.log(windows)

The app hosts the API at ws://127.0.0.1:9399. It is local-only and has no authentication; any process on your Mac can connect. Read the API reference and agent guide for methods, events, and permissions.

The Lattices family

| Product | What it adds | | --- | --- | | Lattices | A programmable workspace: windows, projects, screen search, and terminals. | | Action | Computer use for agents: observe apps, operate browser surfaces, and record what happened. | | Blink | Spatial notes: editable notes that live in floating windows on your desktop. | | Speech | Spoken agent output with queued playback and a readalong HUD. |

Action and Blink are separate apps with their own installation and runtime lifecycles. Their source lives in this repository. Explore the family.

Build and contribute

git clone https://github.com/lattices-dev/lattices.git
cd lattices
bun install
bun link
bun run check
bun run test

The native app uses Swift 6.2 / Xcode 26+. See AGENTS.md for component boundaries and build instructions.

| Source | Purpose | | --- | --- | | apps/mac | SwiftUI/AppKit app and local daemon | | bin | CLI, app helper, and API client | | swift | LatticesTerminalKit and DeckKit | | products | Companion products | | skills | Agent skills | | apps/site | Website and documentation |

Documentation

Quickstart · App and shortcuts · Configuration · Layers · Screen search · API

License

MIT