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

copilot-liku-cli

v0.0.16

Published

GitHub Copilot CLI with headless agent + ultra-thin overlay architecture

Downloads

457

Readme

GitHub Copilot CLI: Liku Edition

npm version Node.js License: MIT

GitHub Copilot CLI: Liku Edition is a terminal-first AI assistant with optional Electron-based visual awareness, Windows UI automation, live UI observation, memory, skill routing, and multi-agent orchestration.

It can run in two main modes:

  • Headless terminal mode via liku chat
  • Visual Electron mode via liku start or bare liku

The visual overlay depends on Electron, which is installed as an optional dependency. The headless CLI surface remains usable even when the Electron visual runtime is unavailable.

This repo currently emphasizes:

  • reliable desktop/browser automation
  • bounded safety checks before execution
  • strong Windows support through native UI Automation
  • persistent memory/skills under the Liku home directory
  • advisory-safe TradingView support, including explicit refusal of DOM order-entry and position-management actions

See also:


What Liku adds

Compared with a plain chat CLI, Liku adds:

  • Headless command surface for automation and diagnostics
  • Optional visual overlay for grid targeting and inspect workflows
  • UI watcher for active-window and accessibility-grounded context
  • Visual context capture from screenshots
  • Memory + skills persisted under ~/.liku/
  • Dynamic tool registry with sandboxing and approval flow
  • Reflection + telemetry for failure-aware improvement loops
  • Multi-agent orchestration with supervisor / researcher / architect / builder / verifier / diagnostician / vision operator roles

Current status

Stable core surfaces

  • liku command dispatcher in src/cli/liku.js
  • terminal chat via liku chat
  • Electron app entry via liku start
  • Windows UI Automation integration
  • screenshot capture and visual verification helpers
  • focused AI-service regression suites

Current safety posture

Liku is designed to fail closed when confidence or safety is insufficient.

Examples already enforced in code:

  • high-risk and critical actions trigger confirmation flows
  • fragile TradingView key flows require post-key observation checkpoints
  • screenshot-only continuation loops are prevented in terminal chat
  • TradingView DOM / Depth of Market order-entry and position-management actions are blocked by advisory-only rails rather than executed

Installation

Requirements

  • Node.js 18+
  • npm 9+
  • Windows, macOS, or Linux

Platform support

| Platform | Support level | Notes | | --- | --- | --- | | Windows | Best supported | Native UI Automation, event-driven watcher, .NET UIA host | | macOS | Partial | Accessibility permissions required | | Linux | Partial | AT-SPI2 recommended |

Global install

npm install -g copilot-liku-cli

Verify:

liku --version
liku --help

If you only need terminal-first chat and headless automation, this is enough to get started.

From source

git clone https://github.com/TayDa64/copilot-Liku-cli
cd copilot-Liku-cli
npm install
npm link

Start:

liku start
# or
npm start

Windows UIA host

On Windows, npm install runs a postinstall step that attempts to build the .NET UIA host if the .NET 9+ SDK is available.

You can also build it manually:

npm run build:uia

If .NET 9 is not available, install still succeeds, but the richer Windows UI-automation path is not built automatically.


Quick start

Headless terminal chat

liku chat

This is the most practical day-to-day workflow if you want terminal-first AI interaction without opening the Electron UI.

Useful invocation options:

  • liku chat --model <copilotModelKey>
  • liku chat --execute prompt|true|false

Useful chat commands:

  • /help
  • /login
  • /model
  • /provider
  • /status
  • /capture
  • /vision on|off
  • /memory
  • /skills
  • /tools
  • /rmodel
  • /state
  • /clear

Terminal-chat-specific controls:

  • /sequence on|off
  • /recipes on|off
  • (plan) ... for plan-only orchestration routing

Visual Electron mode

liku start

or simply:

liku

This launches the Electron runtime with overlay support.

First validation steps

liku doctor
npm run smoke:shortcuts
npm run smoke:chat-direct
npm run test:ui

If you want the most relevant current regression bundle for AI/service behavior:

npm run test:ai-focused

CLI commands

The top-level CLI currently exposes these commands through src/cli/liku.js.

| Command | Description | | --- | --- | | start | Start the Electron agent with overlay | | doctor | Diagnostics: version, environment, active window | | chat | Interactive AI chat in the terminal | | click | Click element by text or coordinates | | find | Find UI elements matching criteria | | type | Type text at the current cursor position | | keys | Send keyboard shortcut combinations | | screenshot | Capture a screenshot | | verify-hash | Poll until screenshot hash changes | | verify-stable | Wait until visual output is stable | | window | Focus or list windows | | mouse | Move mouse to coordinates | | drag | Drag between points | | scroll | Scroll up or down | | wait | Wait for element appearance/disappearance | | repl | Interactive automation shell | | memory | Inspect/manage memory notes | | skills | Inspect/manage skill library | | tools | Inspect/manage dynamic tool registry | | analytics | View telemetry analytics |

Examples:

liku doctor --json
liku chat --model gpt-4.1
liku click "Submit"
liku find "Save" --type Button
liku keys ctrl+shift+s
liku screenshot --memory --hash --json
liku verify-stable --metric dhash --stable-ms 800 --timeout 15000 --interval 250 --json
liku window "Visual Studio Code"

Visual awareness and automation model

Liku uses multiple observation/control surfaces depending on what is available:

  • Windows UI Automation when semantic controls are discoverable
  • active-window and watcher context when semantic controls are limited
  • screenshot capture when visual grounding is needed
  • grid/overlay workflows in Electron mode

Overlay shortcuts

Source of truth for these mappings is the current Electron main-process registration in src/main/index.js.

| Shortcut | Action | | --- | --- | | Ctrl+Alt+Space | Toggle chat window | | Ctrl+Shift+O | Toggle overlay visibility | | Ctrl+Alt+I | Toggle inspect mode | | Ctrl+Alt+F | Toggle fine grid | | Ctrl+Alt+G | Show all grid levels | | Ctrl+Alt+= | Zoom in | | Ctrl+Alt+- | Zoom out | | Ctrl+Alt+X | Cancel current selection |


TradingView support

TradingView support is being hardened as a professional advisory / observation workflow, not a broker-execution workflow.

Current grounded surfaces

The runtime now carries TradingView-specific grounding for:

  • chart/timeframe surfaces
  • alert dialogs
  • drawing tools
  • indicators / studies
  • Pine Editor
  • DOM / Depth of Market metadata

Current safety boundary

Liku can reason about TradingView UI state, but it must remain advisory-safe.

Specifically:

  • TradingView DOM order-entry actions are classified as high-risk
  • TradingView DOM flatten / reverse / cancel-all style controls are classified as critical
  • TradingView DOM order-entry and position-management actions are blocked before execution by advisory-only safety rails

This means Liku can help observe, explain, and guide, but not place or manage DOM orders.


Chat and agent architecture

Shared slash commands

Handled through ai-service.handleCommand():

  • /help
  • /login / /logout
  • /model [key]
  • /provider [name]
  • /setkey <provider> <key>
  • /status
  • /state [clear]
  • /clear
  • /vision [on|off]
  • /capture
  • /memory [search <query>|clear]
  • /skills
  • /tools [approve|revoke <name>]
  • /rmodel [model|off]

Electron-only orchestration commands

Handled in src/main/index.js:

  • /agentic or /agent
  • /orchestrate <task>
  • /research <query>
  • /build <spec>
  • /verify <target>
  • /agents or /agent-status
  • /agent-reset
  • experimental /produce <prompt> path

Multi-agent roles

  • Supervisor
  • Researcher
  • Architect
  • Builder
  • Verifier
  • Diagnostician
  • Vision Operator

Hook-based enforcement lives under .github/hooks/ and is used to enforce role boundaries, audit tool calls, and validate subagent outputs.


Cognitive layer

The cognitive layer persists state under ~/.liku/.

Primary directories:

~/.liku/
├── memory/
├── skills/
├── tools/
├── telemetry/
└── preferences.json

Important note:

  • the project still contains migration support from legacy ~/.liku-cli/
  • Electron session data still uses ~/.liku-cli/session/ to avoid Chromium lock issues

Included subsystems

  • memory store for structured notes
  • skill router with TF-IDF + scope-aware matching
  • dynamic tools with proposal/approval flow and sandbox execution
  • telemetry + reflection for bounded self-correction loops
  • AWM (Agent Workflow Memory) extraction from successful multi-step procedures

Safety model

Liku follows a fail-closed execution model.

Examples of current safeguards:

  • destructive shortcuts such as close-window combos require explicit confirmation
  • low-confidence target interactions are elevated in risk
  • focus verification runs after action sequences
  • post-action verification checks foreground/process alignment after bounded retries
  • TradingView key workflows use observation checkpoints before follow-up typing
  • DOM trade-entry and order-management actions are blocked by policy

This safety posture is intentional: if the system cannot establish enough evidence, it should stop rather than guess.


Validation and testing

Most useful day-to-day suites

npm run test:ai-focused
npm run test:windows-observation-flow
npm run test:chat-actionability
npm run test:ui

Other useful scripts

npm run smoke
npm run smoke:shortcuts
npm run smoke:chat-direct
npm run test:skills:inline
npm run proof:inline -- --list-suites

The current focused AI bundle runs:

  • scripts/test-windows-observation-flow.js
  • scripts/test-bug-fixes.js
  • scripts/test-chat-actionability.js
  • scripts/test-ai-service-contract.js
  • scripts/test-ai-service-browser-rewrite.js
  • scripts/test-ai-service-state.js

Project structure

src/
├── cli/                    # CLI entrypoint and command modules
├── main/                   # Electron main process + AI service
├── renderer/               # Electron renderer processes
├── native/                 # Native integrations, including Windows UIA hosts
├── shared/                 # Shared utilities
└── assets/                 # Static assets

scripts/                    # Regression tests, smoke tests, proof harnesses
docs/                       # Architecture and orchestration docs
.github/hooks/              # Hook-based enforcement and artifacts

Documentation


Contributing and feedback

If you hit a problem, include as much of the following as possible in an issue:

  • platform
  • Node version
  • command used
  • active model/provider
  • whether you were using Electron mode or liku chat
  • reproduction steps
  • expected vs actual behavior
  • any relevant doctor --json output

Liku is evolving quickly, and the most useful bug reports are the ones tied to real runtime behavior and clear reproduction steps.