@quickcall/krew
v0.1.11
Published
Coding agent CLI with read, bash, edit, write tools and session management
Downloads
47
Readme
QuickCall Krew
QuickCall Krew is a minimal, extensible terminal coding agent. It gives a model a small set of tools (read, write, edit, bash, and more) and a clean interactive TUI, then gets out of the way so you can shape it to your workflow with extensions, skills, prompt templates, and themes.
QuickCall Krew is a fork of the Pi coding agent harness, adapted for QuickCall's hiring workflows.
Quick Start
Install globally:
npm install -g @quickcall/krewAuthenticate with an API key and start:
export ANTHROPIC_API_KEY=sk-ant-...
quickcallOr sign in with an existing subscription:
quickcall
/login # then pick a providerThen just talk to the agent. By default it can read, write, and edit files and run shell commands to carry out your requests. Extend it with skills, prompt templates, extensions, or packages.
Providers & Models
QuickCall Krew ships with a maintained list of tool-capable models per provider. Authenticate by subscription (/login) or API key, then switch models with /model (or Ctrl+L).
- Subscriptions: Anthropic Claude, OpenAI ChatGPT (Codex), GitHub Copilot
- API keys: Anthropic, OpenAI, Azure OpenAI, Google Gemini / Vertex, Amazon Bedrock, Mistral, Groq, Cerebras, xAI, OpenRouter, DeepSeek, and more
Add custom providers via ~/.quickcall/agent/models.json (for OpenAI/Anthropic/Google-compatible APIs) or via an extension for anything bespoke.
Interactive Mode
The TUI shows a startup header (shortcuts, loaded context, skills, extensions), the message stream, an editor, and a footer with working directory, session, token usage, cost, and the active model.
Editor highlights:
| Feature | How |
|---------|-----|
| File reference | Type @ to fuzzy-search project files |
| Multi-line | Shift+Enter |
| Images | Ctrl+V to paste, or drag onto the terminal |
| Bash | !command runs and sends output to the model; !!command runs without sending |
Type / for commands (/model, /settings, /resume, /new, /compact, /share, /export, and more). Press /hotkeys for the full keyboard reference.
Sessions
Sessions are stored as JSONL files with a tree structure, so you can branch in place without losing history. They auto-save under ~/.quickcall/agent/sessions/, organized by working directory.
quickcall -c # continue most recent session
quickcall -r # browse and resume a past session
quickcall --no-session # ephemeral (don't save)
quickcall --session <path|id> # open a specific session
quickcall --fork <path|id> # fork a session into a new oneUse /tree to navigate, branch, and bookmark within a session, and /compact to summarize older messages when context grows long.
Settings
Use /settings in the TUI, or edit JSON directly:
| Location | Scope |
|----------|-------|
| ~/.quickcall/agent/settings.json | Global (all projects) |
| .quickcall/settings.json | Project (overrides global) |
Context Files
At startup QuickCall Krew loads AGENTS.md (or CLAUDE.md) from your home agent dir, parent directories, and the current directory. Use these for project conventions and common commands. Disable with --no-context-files (-nc).
You can replace the system prompt with .quickcall/SYSTEM.md (project) or ~/.quickcall/agent/SYSTEM.md (global), or extend it with APPEND_SYSTEM.md.
Customization
QuickCall Krew is built to be reshaped rather than configured into a corner:
- Prompt templates — reusable Markdown prompts, invoked as
/name. - Skills — on-demand capability packages following the Agent Skills standard, invoked as
/skill:nameor loaded automatically. - Extensions — TypeScript modules that add tools, commands, shortcuts, event handlers, and UI (sub-agents, plan mode, permission gates, custom editors, and more).
- Themes — built-in
darkandlight, with hot-reload while you edit.
Each lives under ~/.quickcall/agent/<kind>/ (global) or .quickcall/<kind>/ (project), or can be shared via a package.
Packages
Bundle and share extensions, skills, prompts, and themes via npm or git:
quickcall install npm:@scope/pi-tools # install from npm
quickcall install git:github.com/user/repo # install from git
quickcall list # list installed packages
quickcall update # update the CLI and packages
quickcall config # enable/disable resourcesSecurity: packages run with full system access — extensions execute arbitrary code and skills can instruct the model to run anything. Review source before installing third-party packages.
Author a package by adding a pi manifest to package.json (the pi-package keyword aids discovery):
{
"name": "my-package",
"keywords": ["pi-package"],
"pi": {
"extensions": ["./extensions"],
"skills": ["./skills"],
"prompts": ["./prompts"],
"themes": ["./themes"]
}
}Programmatic Usage
Embed the agent in your own app via the SDK:
import { AuthStorage, createAgentSession, ModelRegistry, SessionManager } from "@quickcall/krew";
const authStorage = AuthStorage.create();
const modelRegistry = ModelRegistry.create(authStorage);
const { session } = await createAgentSession({
sessionManager: SessionManager.inMemory(),
authStorage,
modelRegistry,
});
await session.prompt("What files are in the current directory?");For non-Node integrations, run RPC mode over stdin/stdout with quickcall --mode rpc (strict LF-delimited JSONL framing).
CLI Reference
quickcall [options] [@files...] [messages...]Common options:
| Option | Description |
|--------|-------------|
| -p, --print | Print the response and exit |
| --mode json | Emit all events as JSON lines |
| --mode rpc | RPC mode for process integration |
| --provider <name> | Provider (anthropic, openai, google, ...) |
| --model <pattern> | Model pattern or provider/id (optional :<thinking>) |
| --thinking <level> | off, minimal, low, medium, high, xhigh |
| --tools <list>, -t | Allowlist specific tools |
| -c, --continue | Continue the most recent session |
| -r, --resume | Browse and resume a session |
| -h, --help | Show help |
| -v, --version | Show version |
Prefix files with @ to include them in a message:
quickcall @code.ts @test.ts "Review these files"
cat README.md | quickcall -p "Summarize this text"Environment variables:
| Variable | Description |
|----------|-------------|
| QUICKCALL_CODING_AGENT_DIR | Override config directory (default: ~/.quickcall/agent) |
| QUICKCALL_CODING_AGENT_SESSION_DIR | Override session storage directory |
| PI_OFFLINE | Disable startup network operations (update and telemetry checks) |
| VISUAL, EDITOR | External editor for Ctrl+G |
License
MIT. QuickCall Krew is a fork of the Pi coding agent harness.
