wick

command module
v0.25.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 25, 2026 License: MIT Imports: 4 Imported by: 0

README

Wick

Build internal tools and AI agents in Go — or just download and run Claude / Codex / Gemini as a Slack + Telegram + web agent host. No copy-pasting. You own the code.

Two ways to use wick:


1. Run AI Agents — no Go, no framework

Want Claude / Codex / Gemini as a Slack bot, Telegram bot, or web assistant? Just download the binary.

# Linux / macOS / Termux — auto-detects OS + arch
curl -fsSL https://yogasw.github.io/wick/install.sh | sh
wick-agent server   # web UI at http://localhost:9425 — creds auto-generated on first run
# Windows
iwr -useb https://yogasw.github.io/wick/install.ps1 | iex
# Docker — single-container: HTTP + cron in one process
docker run -d \
  -p 9425:9425 \
  -v wick-agent-data:/root/.wick-agent \
  ghcr.io/yogasw/wick-agent:latest all

The binary supports two modes — pick one:

Mode Command Best for
System tray wick-agent (no args) Desktop — right-click menu, icon shows state, auto-start on login
Headless wick-agent server Remote server / Docker — no GUI, logs to stdout

Then in the web UI (/tools/agents):

  1. Providers — point wick-agent at your Claude / Codex / Gemini binary and your PAT
  2. Channels — connect Slack (Socket Mode), Telegram bot, or just use the built-in Web UI
  3. Workspaces — pick a folder for the agent to work in (a default is created automatically)
  4. Send a message → wick-agent spawns the agent and routes the conversation

Every Bash command the agent runs goes through the Command Gate — whitelist globs or escalate to interactive 4-mode approval (Approve once / This session / Always / Block), audited to JSONL.

Agent host docs


2. Build Internal Tools & Jobs — AI writes real Go files

# Install wick CLI (needs Go installed)
go install github.com/yogasw/wick@latest

wick init my-app
cd my-app
wick dev   # http://localhost:9425

The install.sh / install.ps1 scripts above install wick-agent (the runtime binary), not the wick CLI used for scaffolding. For development you need go install.

Open my-app/ in Claude Code and prompt what you need:

add a tool called "base64" that encodes and decodes text
add a background job that syncs data from our API every 30 minutes
add a connector for GitHub with list_repos and create_issue operations

Claude writes real Go files in your repo — you own everything. git diff to review, git revert to undo.

What wick scaffolds
my-app/
├── main.go          # register tools, jobs, and connectors here
├── AGENTS.md        # Claude reads this — framework conventions
├── .claude/skills/  # bundled AI skills (tool-module, job-module, connector-module)
├── wick.yml         # task runner config
├── tools/
│   ├── convert-text/   # example tool (UI page)
│   └── external/       # external link cards
├── jobs/
│   └── auto-get-data/  # example background job
├── connectors/
│   └── crudcrud/       # example connector (LLM-facing via MCP)
└── tags/
    └── defaults.go     # shared tag catalog
What the framework handles

You write business logic. Wick handles everything else:

You write Wick provides
func Register(r tool.Router) Admin UI, tag-based access, runtime config editing
func Run(ctx) (string, error) Cron scheduler, job history, run/retry UI
func Operations() []connector.Op MCP endpoint, per-call audit log, OAuth + PAT auth
Module types
Type Audience Entry point URL
Tool Humans (web UI) Register(r tool.Router) /tools/{key}
Job Scheduler Run(ctx) (string, error) /jobs/{key}
Connector LLMs via MCP Operations() /mcp
Agents Slack / Telegram / Web built-in /tools/agents
Common commands
Command What it does
wick dev Generate templ + CSS, start server
wick server Start HTTP server only
wick worker Start background job worker
wick all HTTP + cron in one process (single-node deploys)
wick build Compile binary with version metadata
wick test Run go test ./... with coverage
wick skill sync Refresh bundled AI skills after upgrade

Framework docs · AI Quickstart


Contributing

See CONTRIBUTING.md or the Contributing guide.

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package app is the public entry point for downstream projects that want to embed wick as a library.
Package app is the public entry point for downstream projects that want to embed wick as a library.
cmd
cli
gate command
Command gate is the small binary claude's PreToolUse hook invokes before every Bash tool call.
Command gate is the small binary claude's PreToolUse hook invokes before every Bash tool call.
lab command
internal
accesstoken
Package accesstoken manages Personal Access Tokens — static bearer credentials a user generates from /profile/tokens and pastes into a remote MCP client (Claude Desktop, Cursor, VSCode plugin, custom CLI).
Package accesstoken manages Personal Access Tokens — static bearer credentials a user generates from /profile/tokens and pastes into a remote MCP client (Claude Desktop, Cursor, VSCode plugin, custom CLI).
accesstoken/view
templ: version: v0.3.1020
templ: version: v0.3.1020
admin/view
templ: version: v0.3.1020
templ: version: v0.3.1020
agents/agentctl
Package agentctl provides a unix-socket control channel between the wick MCP stdio process and the wick HTTP daemon.
Package agentctl provides a unix-socket control channel between the wick MCP stdio process and the wick HTTP daemon.
agents/askuser
Package askuser holds the daemon-side coordinator for the ask_user MCP tool.
Package askuser holds the daemon-side coordinator for the ask_user MCP tool.
agents/capability
Package capability declares per-provider hook-support metadata and a self-registering registry for it.
Package capability declares per-provider hook-support metadata and a self-registering registry for it.
agents/channels
Package channels provides message channel implementations for the Agents subsystem.
Package channels provides message channel implementations for the Agents subsystem.
agents/channels/rest
Package rest implements an OpenAI Chat Completions compatible HTTP channel for the agents pool.
Package rest implements an OpenAI Chat Completions compatible HTTP channel for the agents pool.
agents/channels/setup
Package setup composes channel implementations into a registry.
Package setup composes channel implementations into a registry.
agents/channels/slack
Package slack — send.go: local agent-proxy send handler + reply helpers.
Package slack — send.go: local agent-proxy send handler + reply helpers.
agents/channels/slack/workflow
Slack picker resolvers — feed workflow_picker_resolve so AI authors editing a trigger match (channel_id whitelist, user whitelist) can get real IDs instead of guessing C123/U456.
Slack picker resolvers — feed workflow_picker_resolve so AI authors editing a trigger match (channel_id whitelist, user whitelist) can get real IDs instead of guessing C123/U456.
agents/channels/telegram
Package telegram implements the Telegram transport for the agents channel registry.
Package telegram implements the Telegram transport for the agents channel registry.
agents/config
Package config holds the runtime-editable Agents config (General / Slack / Storage structs reflected into the configs DB table) plus the on-disk Layout — the single source of truth for path math under the platform default data directory (~/.<app>/agents).
Package config holds the runtime-editable Agents config (General / Slack / Storage structs reflected into the configs DB table) plus the on-disk Layout — the single source of truth for path math under the platform default data directory (~/.<app>/agents).
agents/event
Package event holds the CLI-agnostic event abstraction.
Package event holds the CLI-agnostic event abstraction.
agents/gate
Package gate is the command whitelist enforcement layer.
Package gate is the command whitelist enforcement layer.
agents/pool
Package pool manages the global agent subprocess slot count + FIFO queue.
Package pool manages the global agent subprocess slot count + FIFO queue.
agents/preset
Package preset manages reusable agent templates stored at `<BaseDir>/presets/<name>/agent.md`.
Package preset manages reusable agent templates stored at `<BaseDir>/presets/<name>/agent.md`.
agents/project
Package project manages on-disk project entries at `<BaseDir>/projects/<id>/` (managed) or any user-supplied absolute path (custom).
Package project manages on-disk project entries at `<BaseDir>/projects/<id>/` (managed) or any user-supplied absolute path (custom).
agents/provider
Package runtime owns the per-AI-CLI runtime layer for agents:
Package runtime owns the per-AI-CLI runtime layer for agents:
agents/provider/claude
Package claude is the Claude-CLI specific Spawner implementation.
Package claude is the Claude-CLI specific Spawner implementation.
agents/provider/codex
Package codex will hold the Codex-CLI specific Spawner implementation.
Package codex will hold the Codex-CLI specific Spawner implementation.
agents/provider/gemini
Package gemini will hold the Gemini-CLI specific Spawner implementation.
Package gemini will hold the Gemini-CLI specific Spawner implementation.
agents/providersync
Package providersync syncs provider credential files to/from the DB.
Package providersync syncs provider credential files to/from the DB.
agents/registry
Package registry holds the in-memory cache of on-disk Agents state (Registry) plus a mutator wrapper (Manager) and the boot entrypoint (Bootstrap).
Package registry holds the in-memory cache of on-disk Agents state (Registry) plus a mutator wrapper (Manager) and the boot entrypoint (Bootstrap).
agents/scm
Package scm provides git source-control operations over a session's working directory.
Package scm provides git source-control operations over a session's working directory.
agents/session
Package session manages on-disk session entries at `<BaseDir>/sessions/<id>/`.
Package session manages on-disk session entries at `<BaseDir>/sessions/<id>/`.
agents/sessionworkspace
Package sessionworkspace stores a per-session "workspace": a set of ephemeral connector instances cloned from a base module (httprest, custom API defs, …).
Package sessionworkspace stores a per-session "workspace": a set of ephemeral connector instances cloned from a base module (httprest, custom API defs, …).
agents/skillsync
Package skillsync mirrors skill files across all agent skill directories (~/.claude/skills, ~/.codex/skills, ~/.gemini/skills, ~/.agents/skills) without symlinks.
Package skillsync mirrors skill files across all agent skill directories (~/.claude/skills, ~/.codex/skills, ~/.gemini/skills, ~/.agents/skills) without symlinks.
agents/state
Package state holds the per-agent runtime state machine.
Package state holds the per-agent runtime state machine.
agents/storage
Package storage holds the filesystem primitives used by every other agents subpackage: atomic JSON write, JSONL append/read/tail/truncate, directory scan, and identifier validation.
Package storage holds the filesystem primitives used by every other agents subpackage: atomic JSON write, JSONL append/read/tail/truncate, directory scan, and identifier validation.
agents/store
Package store is the agents pipeline sink: it consumes AgentEvent values produced by a Parser and writes them to the on-disk session folder (conversation.jsonl, raw.jsonl, agents.json cli_session_id).
Package store is the agents pipeline sink: it consumes AgentEvent values produced by a Parser and writes them to the on-disk session folder (conversation.jsonl, raw.jsonl, agents.json cli_session_id).
agents/transport
Package transport defines the boundary between Agents and message sources (Slack, UI, future API).
Package transport defines the boundary between Agents and message sources (Slack, UI, future API).
agents/transport/api
Package api will hold the HTTP API transport — external integrations that POST messages directly into a session, bypassing UI / Slack.
Package api will hold the HTTP API transport — external integrations that POST messages directly into a session, bypassing UI / Slack.
agents/transport/slack
Package slack will hold the Slack transport: socket-mode (default) or HTTP Event API listener, reaction lifecycle, chunked replies, access control, and meta-command routing.
Package slack will hold the Slack transport: socket-mode (default) or HTTP Event API listener, reaction lifecycle, chunked replies, access control, and meta-command routing.
agents/transport/ui
Package ui will hold the UI transport: an HTTP handler glue layer that turns POST /tools/agents/sessions/{id}/send into an IncomingMessage and pumps it through the pool.
Package ui will hold the UI transport: an HTTP handler glue layer that turns POST /tools/agents/sessions/{id}/send into an IncomingMessage and pumps it through the pool.
agents/workflow
Package workflow is the domain for AI-orchestrated multi-step automations stored at `<BaseDir>/workflows/<id>/`.
Package workflow is the domain for AI-orchestrated multi-step automations stored at `<BaseDir>/workflows/<id>/`.
agents/workflow/canvas
Package canvas mutates a Workflow's graph atomically.
Package canvas mutates a Workflow's graph atomically.
agents/workflow/channel
Package channel is a thin adapter over internal/agents/channels.
Package channel is a thin adapter over internal/agents/channels.
agents/workflow/connector
Package connector is the workflow-facing index of connector modules.
Package connector is the workflow-facing index of connector modules.
agents/workflow/cost
Package cost aggregates per-node + per-workflow LLM usage.
Package cost aggregates per-node + per-workflow LLM usage.
agents/workflow/datatable
Package datatable is the workflow-facing shared-table store.
Package datatable is the workflow-facing shared-table store.
agents/workflow/engine
Package engine — multi-subscriber event broker.
Package engine — multi-subscriber event broker.
agents/workflow/env
Package env validates and resolves the workflow's env schema + values.
Package env validates and resolves the workflow's env schema + values.
agents/workflow/guard
Package guard reviews a workflow body for safety violations before publish.
Package guard reviews a workflow body for safety violations before publish.
agents/workflow/integration
Package integration is the workflow-side surface for per-event + per-action node descriptors.
Package integration is the workflow-side surface for per-event + per-action node descriptors.
agents/workflow/mcp
Package mcp — Data Tables MCP surface.
Package mcp — Data Tables MCP surface.
agents/workflow/nodes
Package nodes contains the concrete Executor impls for every Node type.
Package nodes contains the concrete Executor impls for every Node type.
agents/workflow/parse
Package parse decodes and validates workflow JSON bodies.
Package parse decodes and validates workflow JSON bodies.
agents/workflow/provider
Package provider is the abstraction the workflow engine talks to for classify + agent nodes.
Package provider is the abstraction the workflow engine talks to for classify + agent nodes.
agents/workflow/repository
Package repository is the DB-backed storage for workflows + their version history.
Package repository is the DB-backed storage for workflows + their version history.
agents/workflow/scaffold
Package scaffold provides workflow starter templates used by `workflow_create` MCP op + UI "New workflow" form.
Package scaffold provides workflow starter templates used by `workflow_create` MCP op + UI "New workflow" form.
agents/workflow/service
Package service is the CRUD facade over `<BaseDir>/workflows/`.
Package service is the CRUD facade over `<BaseDir>/workflows/`.
agents/workflow/setup
Package setup wires every workflow subpkg together.
Package setup wires every workflow subpkg together.
agents/workflow/state
Package state persists per-run state.json + events.jsonl under `<BaseDir>/workflows/<id>/runs/<run-id>/`.
Package state persists per-run state.json + events.jsonl under `<BaseDir>/workflows/<id>/runs/<run-id>/`.
agents/workflow/template
Package template renders Go text/template strings against a workflow.RenderCtx.
Package template renders Go text/template strings against a workflow.RenderCtx.
agents/workflow/trigger
Package trigger is the dispatch + queue + dedup layer between trigger sources (cron, channel adapter, webhook, manual, error) and the engine.
Package trigger is the dispatch + queue + dedup layer between trigger sources (cron, channel adapter, webhook, manual, error) and the engine.
agents/workflow/wftest
Package wftest runs workflow test cases loaded from `__tests__/` fixtures.
Package wftest runs workflow test cases loaded from `__tests__/` fixtures.
agents/workspace
Package workspace manages on-disk workspace entries at `<BaseDir>/workspaces/<name>/` (managed) or any user-supplied absolute path (custom).
Package workspace manages on-disk workspace entries at `<BaseDir>/workspaces/<name>/` (managed) or any user-supplied absolute path (custom).
appname
Package appname is the single source of truth for the running app's *path-safe identifier* — the slug used in `~/.<app>/` for DB, logs, agents Layout, gate spec/socket.
Package appname is the single source of truth for the running app's *path-safe identifier* — the slug used in `~/.<app>/` for DB, logs, agents Layout, gate spec/socket.
autostart
Package autostart registers the running binary to launch at OS user login.
Package autostart registers the running binary to launch at OS user login.
builder
Package builder compiles a wick app into a raw Go binary plus the platform-native distributable that ships with each release:
Package builder compiles a wick app into a raw Go binary plus the platform-native distributable that ships with each release:
builder/darwin
Package darwin handles macOS-specific build steps — wrapping the raw binary into a .app bundle and (host-darwin only) further wrapping that into a .dmg disk image.
Package darwin handles macOS-specific build steps — wrapping the raw binary into a .app bundle and (host-darwin only) further wrapping that into a .dmg disk image.
builder/linux
Package linux handles Linux-specific build steps — wrapping the raw binary into a Debian binary package (.deb).
Package linux handles Linux-specific build steps — wrapping the raw binary into a Debian binary package (.deb).
builder/windows
Package windows handles Windows-specific build steps — currently the .syso resource that embeds the brand icon plus version metadata into the .exe.
Package windows handles Windows-specific build steps — currently the .syso resource that embeds the brand icon plus version metadata into the .exe.
configs
Package configs manages runtime-editable configuration stored in the `configs` table.
Package configs manages runtime-editable configuration stored in the `configs` table.
connectors
Package connectors is the central registry for every connector definition wick will expose via MCP.
Package connectors is the central registry for every connector definition wick will expose via MCP.
connectors/crudcrud
Package crudcrud is a sample connector that wraps the crudcrud.com REST sandbox — a free, throwaway JSON store useful for demos and integration smoke tests.
Package crudcrud is a sample connector that wraps the crudcrud.com REST sandbox — a free, throwaway JSON store useful for demos and integration smoke tests.
connectors/custom
Package custom is the generic executor behind admin-built custom connectors.
Package custom is the generic executor behind admin-built custom connectors.
connectors/customconnector
Package customconnector is the management connector for custom connector definitions: the same lifecycle the admin UI offers (create / inspect / update / re-sync / disable / delete definitions, plus instance rows), exposed as LLM-callable operations so an agent can build a connector without anyone opening the dashboard.
Package customconnector is the management connector for custom connector definitions: the same lifecycle the admin UI offers (create / inspect / update / re-sync / disable / delete definitions, plus instance rows), exposed as LLM-callable operations so an agent can build a connector without anyone opening the dashboard.
connectors/github
Package github wraps the GitHub REST API v3 as a wick connector.
Package github wraps the GitHub REST API v3 as a wick connector.
connectors/googleworkspace
Package googleworkspace wraps Google Drive, Sheets, Docs, Slides, Gmail, Calendar, and Meet REST APIs for LLM consumption.
Package googleworkspace wraps Google Drive, Sheets, Docs, Slides, Gmail, Calendar, and Meet REST APIs for LLM consumption.
connectors/httprest
Package httprest is a generic HTTP/REST connector that lets an LLM call any JSON API without writing a custom connector.
Package httprest is a generic HTTP/REST connector that lets an LLM call any JSON API without writing a custom connector.
connectors/notifications
Package notifications exposes Wick's in-process notification service as a fixed connector.
Package notifications exposes Wick's in-process notification service as a fixed connector.
connectors/phoenix
Package phoenix wraps the Arize Phoenix observability API as a wick connector for debugging LLM behaviour.
Package phoenix wraps the Arize Phoenix observability API as a wick connector for debugging LLM behaviour.
connectors/slack
Package slack wraps Slack's Web API as a wick connector.
Package slack wraps Slack's Web API as a wick connector.
connectors/wickmanager
Package wickmanager exposes wick's own management plane (apps, jobs, tools, connectors, lifecycle server/worker) as a fixed single- instance connector.
Package wickmanager exposes wick's own management plane (apps, jobs, tools, connectors, lifecycle server/worker) as a fixed single- instance connector.
connectors/workflow
Package workflow exposes the workflow engine as a fixed single-instance MCP connector.
Package workflow exposes the workflow engine as a fixed single-instance MCP connector.
enc
Package enc implements wick's encrypted-fields layer: a per-user AES-256-GCM cipher that lets credentials and other sensitive values flow between an LLM and a connector without ever appearing as plaintext in the LLM's context window or in audit logs.
Package enc implements wick's encrypted-fields layer: a per-user AES-256-GCM cipher that lets credentials and other sensitive values flow between an LLM and a connector without ever appearing as plaintext in the LLM's context window or in audit logs.
home
templ: version: v0.3.1020
templ: version: v0.3.1020
initcreds
Package initcreds writes / clears the initial-admin credentials file.
Package initcreds writes / clears the initial-admin credentials file.
jobrunner
Package jobrunner mounts the operator-facing /jobs/{key} surface where users can run a job and see its recent history.
Package jobrunner mounts the operator-facing /jobs/{key} surface where users can run a job and see its recent history.
jobrunner/view
templ: version: v0.3.1020
templ: version: v0.3.1020
jobs
Package jobs is the single place to register all background job modules.
Package jobs is the single place to register all background job modules.
jobs/connector-runs-purge
Package connectorrunspurge is wick's built-in maintenance job that trims old rows from the connector_runs audit table.
Package connectorrunspurge is wick's built-in maintenance job that trims old rows from the connector_runs audit table.
jobs/provider-storage-retention
Package providerstorageretention purges expired provider_storage file rows and old history rows on a daily schedule.
Package providerstorageretention purges expired provider_storage file rows and old history rows on a daily schedule.
jobs/provider-storage-sync
Package providerstoragesync is a background job that backs up all enabled provider-storage sources from disk to DB on a fixed interval.
Package providerstoragesync is a background job that backs up all enabled provider-storage sources from disk to DB on a fixed interval.
jobs/sample-post
Package samplepost is a sample job that fetches a post from a JSONPlaceholder-compatible API and returns the result as markdown.
Package samplepost is a sample job that fetches a post from a JSONPlaceholder-compatible API and returns the result as markdown.
jobs/session-config-purge
Package sessionconfigpurge is wick's maintenance job that removes stale per-session workspaces (sessions/<id>/workspace.json) by file age.
Package sessionconfigpurge is wick's maintenance job that removes stale per-session workspaces (sessions/<id>/workspace.json) by file age.
login/view
templ: version: v0.3.1020
templ: version: v0.3.1020
manager
Package manager — connectors_api_admin.go: JSON twins of the per-row admin controls that previously lived only on the form-post templ pages (rate limit, duplicate, access policy, session config, operation toggles, and account management).
Package manager — connectors_api_admin.go: JSON twins of the per-row admin controls that previously lived only on the form-post templ pages (rate limit, duplicate, access policy, session config, operation toggles, and account management).
manager/view
templ: version: v0.3.1020
templ: version: v0.3.1020
manager/view/type
templ: version: v0.3.1020
templ: version: v0.3.1020
mcp
Package mcp implements the Model Context Protocol JSON-RPC 2.0 transport that LLM clients (Claude Desktop, Cursor, Claude.ai web) call to discover and invoke wick connectors as tools.
Package mcp implements the Model Context Protocol JSON-RPC 2.0 transport that LLM clients (Claude Desktop, Cursor, Claude.ai web) call to discover and invoke wick connectors as tools.
mcpconfig
Package mcpconfig writes MCP server entries into client config files (Claude Desktop, Cursor, Gemini CLI, Codex CLI, Claude Code) and detects which clients are installed on the host.
Package mcpconfig writes MCP server entries into client config files (Claude Desktop, Cursor, Gemini CLI, Codex CLI, Claude Code) and detects which clients are installed on the host.
metrics
Package metrics defines the Recorder interface that connectors.Service uses to emit telemetry.
Package metrics defines the Recorder interface that connectors.Service uses to emit telemetry.
oauth
Package oauth implements the minimal OAuth 2.1 authorization server every spec-compliant MCP client (notably Claude.ai web) requires.
Package oauth implements the minimal OAuth 2.1 authorization server every spec-compliant MCP client (notably Claude.ai web) requires.
oauth/view
templ: version: v0.3.1020
templ: version: v0.3.1020
pkg/daemon
Package daemon implements background-process lifecycle for wick: Start/Stop/Restart/Status with a PID file.
Package daemon implements background-process lifecycle for wick: Start/Stop/Restart/Status with a PID file.
pkg/env
Package env hosts small platform-detection helpers shared by app, daemon, and any other layer that needs to know whether the current process can show a GUI.
Package env hosts small platform-detection helpers shared by app, daemon, and any other layer that needs to know whether the current process can show a GUI.
pkg/lan
Package lan discovers private-range IPv4 addresses on the local host.
Package lan discovers private-range IPv4 addresses on the local host.
pkg/logfiles
Package logfiles wires per-component dated log files for wick runtimes that own their own process (tray on GUI hosts, headless `all` spawned by `wick start`).
Package logfiles wires per-component dated log files for wick runtimes that own their own process (tray on GUI hosts, headless `all` spawned by `wick start`).
pkg/netboot
Package netboot makes the pure-Go binary self-sufficient for DNS and TLS on hosts that lack the files Go's stdlib expects — most notably Android/Termux, whose read-only /etc has no /etc/resolv.conf and no /etc/ssl/certs, so DNS lookups hit the dead loopback resolver and every outbound HTTPS fails x509 verification.
Package netboot makes the pure-Go binary self-sufficient for DNS and TLS on hosts that lack the files Go's stdlib expects — most notably Android/Termux, whose read-only /etc has no /etc/resolv.conf and no /etc/ssl/certs, so DNS lookups hit the dead loopback resolver and every outbound HTTPS fails x509 verification.
pkg/pwa
Package pwa hosts Progressive Web App glue — the dynamic web app manifest plus future hooks (service worker registration, push subscription endpoints).
Package pwa hosts Progressive Web App glue — the dynamic web app manifest plus future hooks (service worker registration, push subscription endpoints).
pkg/render
Package render builds the tool.RenderFunc that wraps a body fragment in wick's page shell (Layout + Navbar).
Package render builds the tool.RenderFunc that wraps a body fragment in wick's page shell (Layout + Navbar).
pkg/spa
Package spa provides a unified SPA (Single-Page Application) loader for wick's Vite-built Svelte frontends.
Package spa provides a unified SPA (Single-Page Application) loader for wick's Vite-built Svelte frontends.
pkg/ui
templ: version: v0.3.1020
templ: version: v0.3.1020
processctl
Package processctl owns the in-process lifecycle of the HTTP server and background worker: Start/Stop/IsRunning + a per-process IsManaged flag that says whether wick was launched via the system tray (and is therefore allowed to mutate its own server/worker state).
Package processctl owns the in-process lifecycle of the HTTP server and background worker: Start/Stop/IsRunning + a per-process IsManaged flag that says whether wick was launched via the system tray (and is therefore allowed to mutate its own server/worker state).
safeexec
Package safeexec provides drop-in replacements for selected os/exec helpers whose implementation in Go's standard library uses the faccessat2(2) Linux syscall (number 439, introduced in kernel 5.8).
Package safeexec provides drop-in replacements for selected os/exec helpers whose implementation in Go's standard library uses the faccessat2(2) Linux syscall (number 439, introduced in kernel 5.8).
shardedlog
Package shardedlog is a generic append-only JSONL store split across date-bucketed shards.
Package shardedlog is a generic append-only JSONL store split across date-bucketed shards.
sso
Package sso manages SSO provider credentials (currently Google OAuth).
Package sso manages SSO provider credentials (currently Google OAuth).
startupscript
Package startupscript runs an admin-defined shell script when the server boots.
Package startupscript runs an admin-defined shell script when the server boots.
systemtray
Package systemtray runs the OS system tray UI for a wick-powered app: start/stop the local HTTP server and the background job worker (both in-process via cancellable goroutines), and install or uninstall the app's MCP entry into detected MCP clients (Claude Desktop, Cursor, etc).
Package systemtray runs the OS system tray UI for a wick-powered app: start/stop the local HTTP server and the background job worker (both in-process via cancellable goroutines), and install or uninstall the app's MCP entry into detected MCP clients (Claude Desktop, Cursor, etc).
tools
Package tools is the central registry for every tool instance wick will mount.
Package tools is the central registry for every tool instance wick will mount.
tools/agents
Package agents backs /tools/agents — the Agents UI Manager.
Package agents backs /tools/agents — the Agents UI Manager.
tools/agents/view
templ: version: v0.3.1020
templ: version: v0.3.1020
tools/agents/view/workflow
templ: version: v0.3.1020
templ: version: v0.3.1020
tools/convert-text
Package converttext is a stateless text-conversion tool.
Package converttext is a stateless text-conversion tool.
tools/encfields
Package encfields backs /tools/encfields — the in-app form for minting and reversing wick_enc_ tokens.
Package encfields backs /tools/encfields — the in-app form for minting and reversing wick_enc_ tokens.
tools/external
Package external wraps third-party links as tool.Module entries so they show up on the home grid and palette alongside in-app tools.
Package external wraps third-party links as tool.Module entries so they show up on the home grid and palette alongside in-app tools.
tools/provider-storage
Package providerstorage mounts a Provider Storage Manager UI under /tools/provider-storage.
Package providerstorage mounts a Provider Storage Manager UI under /tools/provider-storage.
tools/webtty
Package webtty mounts a browser-based terminal under /tools/webtty.
Package webtty mounts a browser-based terminal under /tools/webtty.
tty
updater
Package updater downloads, verifies, and applies new release binaries from GitHub.
Package updater downloads, verifies, and applies new release binaries from GitHub.
userconfig
Package userconfig persists per-machine user preferences for the system tray (auto-start toggles, default project, self-update state) in a single JSON file under a hidden app directory in the user's home.
Package userconfig persists per-machine user preferences for the system tray (auto-start toggles, default project, self-update state) in a single JSON file under a hidden app directory in the user's home.
pkg
connector
Package connector defines the public contract every connector module must satisfy.
Package connector defines the public contract every connector module must satisfy.
conntest
Package conntest provides lightweight test helpers for writing connector unit tests.
Package conntest provides lightweight test helpers for writing connector unit tests.
entity
Package entity exposes shared entity types used in the public wick contract (tool/job registration).
Package entity exposes shared entity types used in the public wick contract (tool/job registration).
job
Package job defines the public contract every background job module must implement.
Package job defines the public contract every background job module must implement.
tool
Package tool defines the public contract every tool module must satisfy.
Package tool defines the public contract every tool module must satisfy.
wickdocs
Package wickdocs defines the shared optional documentation struct embedded by every workflow descriptor (built-in node, channel event, channel action, connector operation, trigger type).
Package wickdocs defines the shared optional documentation struct embedded by every workflow descriptor (built-in node, channel event, channel action, connector operation, trigger type).
connectors/crudcrud
Package crudcrud is the example connector shipped with the template.
Package crudcrud is the example connector shipped with the template.
jobs/auto-get-data
Package autogetdata is a template job that fetches a remote endpoint on a schedule.
Package autogetdata is a template job that fetches a remote endpoint on a schedule.
tools/convert-text
Package converttext is a stateless text-conversion tool.
Package converttext is a stateless text-conversion tool.
tools/external
Package external wraps third-party links as tool.Module entries so they show up on the home grid and palette alongside in-app tools.
Package external wraps third-party links as tool.Module entries so they show up on the home grid and palette alongside in-app tools.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL