Documentation Reference · 06

MCP Server, CLI & API Reference

Connect any MCP-compatible agent — or use the CLI directly from your terminal. One platform, two interfaces, 60+ tools across every domain in the workspace.

Snelstart

Verbind je agent in minder dan 5 minuten.

1. Haal een Personal Access Token op

Log in bij Siftable, ga naar Instellingen → API Tokens, en maak een nieuw token aan. Tokens zijn afgebakend — je kiest welke domeinen het token kan benaderen.

2. Configureer je MCP-client

Voeg Siftable toe aan de MCP-configuratie van je agent. Werkt met Claude Code, Cursor, Windsurf, en elke MCP-compatibele client.

claude_code_config.json
{
  "mcpServers": {
    "siftable": {
      "url": "https://siftable.io/api/v1/mcp/sse",
      "headers": {
        "Authorization": "Bearer sift_pat_your_token_here"
      }
    }
  }
}

3. Verifieer de verbinding

Vraag je agent om je projecten of taken op te sommen. Als het data retourneert, ben je verbonden.

Example agent interaction
# Agent calls:
project_list()
task_list(status: "in_progress")
calendar_list_events(startDate: "2026-02-17", endDate: "2026-02-23")

# Agent now has your full operational context.

CLI Installation

The Siftable CLI gives you the full command surface — 169 commands across every domain — from your terminal. Same API, same data, same permissions, plus an interactive copilot. The binary installs as sift (with siftable and the exf compatibility alias).

1. Install

Terminal
npm install  -g @siftable/cli     # npm · current: @siftable/cli@0.5.29
bun  install -g @siftable/cli     # bun
pnpm add     -g @siftable/cli     # pnpm

# or run without installing
npx @siftable/cli <command>

2. Authenticate

The CLI uses device flow authentication — it opens your browser, you approve, and a token is stored locally.

Terminal
$ sift auth login

  Your verification code: ZFMV-SBGJ

  Opening browser...
  If the browser didn't open, visit: https://siftable.io/app/device?code=ZFMV-SBGJ

  Waiting for authorization...
  Logged in successfully!

3. Run your first command

Terminal
$ sift projects list

 NAME                STATUS    TASKS
 Siftable            active    12
 Marketing Site      active    4
 Mobile App          planning  0

$ sift projects context <id>

# Full project context: tasks, signals, notes, members.

Every CLI command supports --json for machine-readable output. Pipe it into jq, feed it to scripts, or let agents parse it directly.

Authenticatie

Siftable ondersteunt twee authenticatiemethoden. Gebruik device flow voor interactieve CLI-sessies, of Personal Access Tokens voor MCP-clients en CI/CD.

Apparaat-flow (CLI)

Voer exf auth login uit. De CLI opent je browser, je logt in met Google en keurt de apparaatcode goed. Er wordt automatisch een PAT gegenereerd en opgeslagen in ~/.config/exf/. Geen token om te kopiëren en plakken.

Persoonlijk toegangstoken (MCP & API)

Voor MCP-clients en programmatische toegang, maak een token aan in Instellingen → API Tokens. Geef deze door in de Authorization header:

HTTP Header
Authorization: Bearer sift_pat_your_token_here

Tokens zijn beperkt tot specifieke domeinen (alleen taken, alleen agenda, volledige toegang, etc.). Voor CI-pipelines stel je EXF_PAT in als een omgevingsvariabele.

Auth Commands
$ sift auth login
$ sift auth status
$ sift auth logout

Token scopes en beschikbare schrijfbewerkingen zijn afhankelijk van je workspace-configuratie en abonnement. Bekijk Instellingen → API Tokens en Prijzen voor de huidige limieten van je account.

MCP-verbinding

Siftable gebruikt het Server-Sent Events (SSE)-transport voor MCP. Het endpoint is:

MCP Endpoint
https://siftable.io/api/v1/mcp/sse

Compatibel met elke MCP-client die SSE-transport ondersteunt: Claude Code, Claude Desktop, Cursor, Windsurf, Continue, en custom implementaties met de MCP SDK.

Taken

Task Domain 6 tools
MCP ToolCLIAccessDescription
task_list sift tasks list READ List tasks with filters: status (inbox, next_action, in_progress, waiting_for, completed, archived), phase, project, limit.
task_get sift tasks get READ Get a single task with full details: description, due date, priority, project, linked code.
task_create sift tasks create WRITE Create a task. Accepts title, description, priority (do_now, schedule, delegate, someday), project, due date.
task_update sift tasks update WRITE Update task fields: title, description, status, priority, due date, project assignment.
task_complete sift tasks complete WRITE Mark a task as completed.
task_delete sift tasks delete DELETE Permanently delete a task.
CLI Examples
$ sift tasks list --status in_progress

 TITLE                     STATUS        PRIORITY   DUE
 Ship CLI docs             in_progress   do_now     2026-02-27
 Fix device flow auth      in_progress   do_now     -

$ sift tasks create --title "Review PR #312" --priority do_now --json
{"id":"abc-123","title":"Review PR #312","status":"inbox","priority":"do_now"}

Agenda

Calendar Domain 4 tools
MCP ToolCLIAccessDescription
calendar_list_events sift calendar list READ List events in a date range. Returns title, start/end times, location, description. Supports limit.
calendar_create_event sift calendar create WRITE Create a calendar event. Requires title, startTime, endTime (ISO 8601). Optional: description, location.
calendar_update_event sift calendar update WRITE Update an existing event's title, times, description, or location.
calendar_delete_event sift calendar delete DELETE Remove an event from the calendar.
CLI Examples
$ sift calendar list --start 2026-02-24 --end 2026-02-28

 TITLE                  START              END                LOCATION
 Team standup           Feb 25 09:00       Feb 25 09:30       Zoom
 Product review         Feb 26 14:00       Feb 26 15:00       Conf Room B

$ sift calendar create --title "Ship CLI v0.3" \
    --start 2026-02-27T10:00:00Z --end 2026-02-27T10:30:00Z

Projecten

Project Domain 5 tools
MCP ToolCLIAccessDescription
project_list sift projects list READ List projects. Filter by status (planning, active, on_hold, blocked, completed). Include archived.
project_get_context sift projects context READ Full project context: tasks, notes, members, signals. The richest single call for understanding a project.
project_create sift projects create WRITE Create a project with name, summary, status, and emoji.
project_update sift projects update WRITE Update project name, summary, status, or emoji.
project_archive sift projects archive WRITE Archive a completed or inactive project.

Kennisbank

Knowledge Domain 6 tools
MCP ToolCLIAccessDescription
note_search sift notes search READ Semantic + full-text search across notes. Filter by project.
note_list sift notes list READ List notes. Filter by type (note, concept, meeting, reference, daily, dataset) and project.
note_get sift notes get READ Get full note content by ID.
note_create sift notes create WRITE Create a note with title, markdown content, type, and optional project.
note_update sift notes update WRITE Update note title, content, or type.
note_delete sift notes delete DELETE Delete a note.

Datasets

Dataset Domain 19 commands

Structured datasets support grounded summaries, grouped analysis, ranking, bucketing, time-series work, import/export, schema changes, and record mutations from the same CLI and MCP-backed platform.

CapabilityCLIAccessDescription
Browse and inspect sift datasets list, get, query, summarize READ List datasets, inspect schema, query records, and get row-count and sample summaries.
Grounded analysis sift datasets analyze, aggregate, compare READ Generate natural-language insights, grouped metrics, and side-by-side segment comparisons.
Ranking and bucketing sift datasets rank, bucket READ Sort or score records, then bucket numeric or date fields into ranges with metrics per bucket.
Time series and plots sift datasets timeseries, plot READ Compute lag, pct-change, rolling windows, drawdown, or normalize plotting payloads from derived results.
Import and export sift datasets import, export WRITE Bring CSVs in, append to existing datasets, or export filtered results back to CSV.
Create and materialize sift datasets create, materialize WRITE Create datasets directly or turn a derived result into a new scratch dataset.
Schema and records sift datasets schema, add, update-record, delete-record WRITE Modify field definitions, add rows, update rows, and delete rows with explicit commands.
Derived workflows sift datasets join, compute READ Join dataset slices and compute derived fields before materializing or plotting the result.
CLI Examples
$ sift datasets list
$ sift datasets summarize <dataset-id>
$ sift datasets analyze <dataset-id> --focus-fields BMI,Outcome
$ sift datasets aggregate <dataset-id> --group-by Outcome \
    --metrics '[{"operation":"count","as":"rows"},{"operation":"avg","field":"BMI","as":"avg_bmi"}]'
$ sift datasets compare <dataset-id> --segment-field Outcome \
    --metrics '[{"operation":"avg","field":"Glucose","as":"avg_glucose"}]'
$ sift datasets rank <dataset-id> --sorts '[{"field":"BMI","direction":"desc"}]' --limit 10
$ sift datasets bucket <dataset-id> --field Age --bucket-count 5 \
    --metrics '[{"operation":"count","as":"rows"}]'

Contacten

People Domain 5 tools
MCP ToolCLIAccessDescription
people_search sift people search READ Search contacts by name. Returns relationship type, company, contact info, interaction history.
sift people list READ List all contacts. CLI-only convenience wrapper.
person_create sift people create WRITE Create a contact with name, relationship, company, and contact details.
person_update sift people update WRITE Update a contact's details, relationship, or company.
person_delete sift people delete DELETE Delete a contact.

Codebase

Codebase Domain 12 tools

Indexeer je repositories voor semantisch code zoeken. Siftable parseert je code naar symbolen en embeddings voor snel terugvinden.

MCP ToolCLIAccessDescription
codebase_list sift codebase list READ List all indexed repositories.
codebase_register sift codebase register WRITE Register a repository for indexing. Set root path, name, include/exclude patterns.
codebase_status sift codebase status READ Check indexing status for a repository.
codebase_index sift codebase WRITE Full index: scan and upload all files matching patterns.
codebase_index_incremental sift codebase incremental WRITE Git-aware incremental index. Only processes changed files since last index.
codebase_search sift codebase search READ Semantic code search. Filter by repository, language, symbol type (function, class, interface, type, export, impl).
codebase_snapshot_status sift codebase snapshot READ Get the latest index snapshot for a repository, optionally filtered by branch or materialized for download.
codebase_delete sift codebase delete DELETE Delete a repository and all indexed code data.
code_who_knows sift code who-knows READ Find developers with expertise in a code area. Based on git history and contribution patterns.
code_compute_expertise sift code expertise WRITE Refresh the expertise index for a repository.
code_history sift code history READ Get commit history. Filter by file path.
git_blame_symbol sift code blame READ Git blame for a file or line range. Shows who last modified each line.
Related Code CLI
$ sift code history <repo-id> --path src/auth/service.ts
$ sift code blame src/auth/service.ts --root .
$ sift code expertise <repo-id>
$ sift code who-knows <repo-id> src/auth
$ sift code link <task-id> --repo <repo-id> --file src/auth/service.ts

Code Memory

Code Memory Domain 4 tools

Sla feiten op over je codebase en zoek ze op. Architectuurbeslissingen, conventies, valkuilen, eigenaarschap — persistente kennis die sessies overleeft.

MCP ToolCLIAccessDescription
code_memory_store sift code memory store WRITE Store a fact. Categories: architecture, integration, convention, entrypoint, gotcha, ownership. Optional: file path, repository.
code_memory_search sift code memory search READ Semantic search over stored code facts. Filter by category or repository.
code_memory_list sift code memory list READ List all stored code memories. Filter by repository.
code_memory_delete sift code memory delete DELETE Delete a stored code memory by ID.

Documenten

Document Domain 1 command
MCP ToolCLIAccessDescription
upload_document sift documents upload WRITE Upload a PDF, Markdown, or text file into Knowledge. Set by file path or inline content. Auto-detects type.

Vault

Vault Domain 5 tools

Encrypted secret storage. Store API keys, credentials, OAuth tokens, SSH keys, and sensitive notes. Values are encrypted at rest and audit-logged on read.

MCP ToolCLIAccessDescription
vault_create sift vault create WRITE Store a new encrypted secret. Types: env_var, credential, oauth_token, ssh_key, certificate, note.
vault_list sift vault list READ List vault entries (metadata only — never decrypted values). Filter by type or category.
vault_search sift vault search READ Search vault entries by name, slug, or description. Returns metadata only.
vault_update sift vault update WRITE Update vault entry metadata: name, tags, category, description.
CLI Examples
$ sift vault create --name "Stripe API Key" --json
# Interactive prompt for sensitive payload values

$ sift vault list

 NAME                TYPE         CATEGORY     CREATED
 Stripe API Key      env_var      payments     2026-02-25
 GitHub PAT          credential   devtools     2026-02-20

$ sift vault read <id>
# Retired: opens no secret. Use the first-party web Vault.

Workflows

Cross-domain recipes that combine multiple tools. These patterns work identically via MCP or CLI.

Link Code to Tasks

Connect implementation work to the task that motivated it. Agents and teammates can trace why code changed.

MCP
task_create(title: "Implement device flow auth", priority: "do_now")
# ... implement the feature ...
task_link_code(taskId: "abc-123", repositoryId: "repo-456",
  commitSha: "5cf5f22", filePath: "src/services/deviceAuthService.ts",
  notes: "Fixed verification_uri to use /app/device")
task_complete(taskId: "abc-123")
CLI
$ sift tasks create --title "Implement device flow auth" --priority do_now
$ sift code link abc-123 --repo repo-456 \
    --commit 5cf5f22 --file src/services/deviceAuthService.ts
$ sift tasks complete abc-123

Project Onboarding

New to a project? Pull the full context in three commands.

CLI
# 1. Get the big picture
$ sift projects context <id>

# 2. See what's in flight
$ sift tasks list --project <id> --status in_progress

# 3. Check code conventions
$ sift code memory search "architecture and conventions"

End-of-Day Review

Summarize what happened today. Works great as an agent prompt or a manual check.

MCP (agent prompt)
# Agent calls:
calendar_list_events(startDate: "2026-02-26", endDate: "2026-02-26")
task_list(status: "completed", limit: 20)
task_list(status: "in_progress")

# Agent now has: today's meetings, completed tasks, and remaining work.
# It can draft a standup summary, update project status, or flag blockers.
CLI
$ sift calendar list --start 2026-02-26 --end 2026-02-26
$ sift tasks list --status completed --limit 20 --json | jq '.[] | .title'
$ sift tasks list --status in_progress

Store a Debug Discovery

Found a gotcha? Store it so your future self (or your agent) doesn't rediscover it the hard way.

CLI
$ sift code memory store \
    --fact "Device flow verification_uri must use /app/device (SPA path), not /device (marketing homepage)" \
    --category gotcha \
    --file src/services/deviceAuthService.ts

Idempotentie

Schrijfbewerkingen (task_create, note_create, calendar_create_event, etc.) accepteren een optionele idempotencyKey-parameter. Als je een verzoek opnieuw stuurt met dezelfde sleutel, retourneert Siftable het originele resultaat in plaats van een duplicaat aan te maken.

Idempotent task creation
task_create(
  title: "Review PR #247",
  priority: "do_now",
  idempotencyKey: "agent-run-42-task-pr247"
)

# Safe to retry. Same key = same result.

Rechten

Tokens zijn afgebakend per domein. Een agenda-only token kan geen taken of contacten lezen. Beperk je tokens tot de minimale toegang die je agent nodig heeft.

Beschikbare scopes:

  • tasks:read / tasks:write — Task listing, CRUD, and completion
  • calendar:read / calendar:write — Event listing and creation
  • projects:read / projects:write — Project management and context
  • knowledge:read / knowledge:write — Notes, search, document upload
  • people:read / people:write — Contact search and CRM updates
  • work:read / work:write — Agent work queue items
  • org:read — Workspace org metadata
  • mcp:* — All MCP operations (recommended for IDE and agent use)

Beschikbare schrijfbewerkingen zijn afhankelijk van je token scope en huidige workspace-abonnement. Controleer het uitgegeven token en de huidige prijzenpagina voordat je vertrouwt op schrijfacties in productie.

Overzicht CLI-commando's

All 169 commands from @siftable/cli@0.5.29, generated from the oclif manifest so this page cannot drift from sift --help. Every command also accepts the global flags (--json, --token, --api-url, --workspace, --no-input).

Elk commando accepteert ook de globale flags: --json (ruwe JSON-output), --token / SIFT_TOKEN, --api-url / SIFT_API_URL (standaard https://siftable.io), --workspace / SIFT_WORKSPACE_ID en --no-input (geen prompts). Voor destructieve commando's is --confirm of -y vereist.

Algemeen

Algemene commando's en systeemcontroles.

6 commando's
Shellsift
sift capabilities

Toon de functies en status van de Siftable CLI

Shellsift
sift codebase

Indexeer een codebase (bestanden scannen en uploaden)

Arguments
id — Repository ID
Flags
--exclude <value> — Comma-separated exclude glob patterns
--include <value> — Comma-separated include glob patterns
--incremental — Git-aware incremental index (changed files only)
--path <value> — Absolute path to repository root
Shellsift
sift commands

Toon commando's en startpunten voor workflows (geschikt voor agents)

Shellsift
sift doctor

Controleer je lokale Siftable CLI-configuratie zonder geheimen te tonen

Shellsift
sift interactive

Start de Siftable terminal copilot (sift interactive) — een AI-assistent in je terminal voor je taken, werk, agenda, projecten en contacten.

Shellsift
sift mermaid

Toon een Mermaid-diagram in de terminal (flowchart, sequence, state, class, ER, C4, architectuur, mindmap). Leest een .mmd-bestand of stdin.

Arguments
file — Path to a .mmd file (omit to read stdin)
Flags
--ascii — Use ASCII glyphs instead of Unicode box drawing
--color <none|truecolor> default: "truecolor" — Color mode
--height <value> — Fit into an exact N-row pane (pads/clips)
--max-height <value> — Bound the diagram to N rows (no padding)
--max-width <value> — Bound the diagram to N columns (no padding)
--overflow <allow|clip|error> default: "clip" — What to do when the diagram exceeds the bounds
--unicode — Use Unicode box drawing (default)
--width <value> — Fit into an exact N-column pane (pads/clips)

Agents

Agent-aliassen.

6 commando's
Shellsift
sift agents create

Maak een agent-alias aan

Flags
--alias <value> required — Stable alias slug, e.g. codex
--capabilities <value> — Capabilities JSON object
--hidden — Hide from normal user-visible lists
--name <value> — Display name
--operator <value> — Linked daemon/operator ID
--permissions <value> — Default permissions JSON object
--type <value> default: "custom" — Agent type
Shellsift
sift agents disable

Schakel een agent-alias uit

Arguments
alias required — Agent alias or ID
Shellsift
sift agents get

Haal een agent-alias op

Arguments
alias required — Agent alias or ID
Shellsift
sift agents list

Toon agent-aliassen

Flags
--include-disabled — Include disabled aliases
Shellsift
sift agents update

Werk een agent-alias bij

Arguments
alias required — Agent alias or ID
Flags
--capabilities <value> — Capabilities JSON object
--hidden — Hide from normal user-visible lists
--name <value> — Display name
--operator <value> — Linked daemon/operator ID
--permissions <value> — Default permissions JSON object
--status <active|disabled> — Alias status
--type <value> — Agent type
--visible — Show in normal user-visible lists
Shellsift
sift agents work

Toon werk toegewezen aan een agent-alias

Arguments
alias required — Agent alias or ID
Flags
--limit <value> — Maximum results
--status <value> — Work item status

Authenticatie

Commando's voor authenticatie.

3 commando's
Shellsift
sift auth login

Inloggen bij Siftable

Shellsift
sift auth logout

Opgeslagen inloggegevens verwijderen

Shellsift
sift auth status

Authenticatiestatus bekijken

Agenda

Agenda-items.

4 commando's
Shellsift
sift calendar create

Een agenda-item aanmaken

Flags
--description <value> — Event description
--end <value> required — End time (ISO 8601)
--location <value> — Event location
--start <value> required — Start time (ISO 8601)
--title <value> required — Event title
Shellsift
sift calendar delete

Een agenda-item verwijderen

Arguments
id required — Event ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift calendar list

Agenda-items weergeven

Flags
--end <value> — End date (ISO 8601)
--limit <value> — Maximum number of results
--start <value> — Start date (ISO 8601)
Shellsift
sift calendar update

Werk een agenda-item bij

Arguments
id required — Event ID
Flags
--description <value> — Event description
--end <value> — End time (ISO 8601)
--location <value> — Event location
--start <value> — Start time (ISO 8601)
--title <value> — Event title

Code

Code-tools.

9 commando's
Shellsift
sift code blame

Git blame voor een bestand

Arguments
file required — Relative file path
Flags
--root <value> default: "." — Repository root path
Shellsift
sift code expertise

Vernieuw de expertise-index van developers voor een repository

Arguments
repo required — Repository ID
Shellsift
sift code history

Haal de commit-geschiedenis van een repository op

Arguments
repo required — Repository ID
Flags
--limit <value> — Maximum number of results
--path <value> — Filter by file path
Shellsift
sift code link

Koppel een taak aan code (bestand, commit of repository)

Arguments
task-id required — Task ID
Flags
--commit <value> — Commit SHA
--file <value> — File path
--notes <value> — Notes about the link
--repo <value> required — Repository ID
Shellsift
sift code memory delete

Verwijder een opgeslagen feit over de codebase

Arguments
id required — Memory ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift code memory list

Toon opgeslagen feiten over de codebase

Flags
--limit <value> — Maximum number of results
--repo <value> — Repository ID
Shellsift
sift code memory search

Doorzoek opgeslagen codebase-feiten

Arguments
query required — Search query
Flags
--category <architecture|integration|convention|entrypoint|gotcha|ownership> — Filter by category
--limit <value> — Maximum number of results
--repo <value> — Repository ID
Shellsift
sift code memory store

Sla een codebase-feit op

Flags
--category <architecture|integration|convention|entrypoint|gotcha|ownership> required — Fact category
--fact <value> required — Fact to store (1-2 sentences)
--file <value> — Related file path
--repo <value> — Repository ID
Shellsift
sift code who-knows

Vind experts voor een codegedeelte

Arguments
repo required — Repository ID
area required — Path, glob, or symbol
Flags
--limit <value> — Maximum number of results

Codebase

Code indexeren en doorzoeken.

7 commando's
Shellsift
sift codebase delete

Verwijder een repository en alle geïndexeerde gegevens

Arguments
id required — Repository ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift codebase incremental

Indexeer een codebase incrementeel via gewijzigde git-bestanden

Arguments
id required — Repository ID
Flags
--exclude <value> — Comma-separated exclude glob patterns
--include <value> — Comma-separated include glob patterns
--path <value> required — Absolute path to repository root
Shellsift
sift codebase list

Toon geïndexeerde repositories

Shellsift
sift codebase register

Registreer een codebase om te indexeren

Flags
--auto-index — Enable automatic indexing
--name <value> required — Repository name
--path <value> required — Absolute path to repository root
--project <value> — Project ID to associate
Shellsift
sift codebase search

Semantisch zoeken in code

Arguments
query required — Search query
Flags
--language <value> — Filter by language
--limit <value> — Maximum number of results
--project <value> — Project ID
--repo <value> — Repository ID
--symbol-type <function|class|interface|type|export|impl> — Filter by symbol type
Shellsift
sift codebase snapshot

Haal de nieuwste index-snapshot van een repository op

Arguments
id required — Repository ID
Flags
--branch <value> — Filter by branch
--materialize — Generate a download URL for the snapshot
Shellsift
sift codebase status

Bekijk de indexeringsstatus van een repository

Arguments
id required — Repository ID

Codex

Hulp bij Codex-automatisering.

1 commando
Shellsift
sift codex daily-review collect

Verzamel alleen-lezen Siftable- en lokale git-context voor dagelijkse Codex-werk-reviews

Flags
--calendar-days <value> default: 7 — Calendar lookahead days
--limit <value> default: 20 — Maximum records per source
--skip-git — Skip local git summary

Datasets

Gestructureerde datasets.

41 commando's
Shellsift
sift datasets add

Voeg records toe aan een dataset

Arguments
id required — Dataset ID
Flags
--record <value> repeatable — Record as JSON object, e.g. '{"name":"Alice","age":"30"}'
--records <value> — Multiple records as JSON array
Shellsift
sift datasets aggregate

Aggregeer dataset-records met gegroepeerde statistieken (count, avg, sum, min, max, median, stddev, percentile, ratio)

Arguments
id required — Dataset ID
Flags
--filters <value> — JSON array of filters
--group-by <value> — Comma-separated field names to group by
--having <value> — JSON array of having clauses [{metric, operator, value}]
--limit <value> default: 100 — Max rows
--metrics <value> — JSON array of metrics [{operation, field, as}]
--sorts <value> — JSON array of sorts
Shellsift
sift datasets analyze

Genereer onderbouwde inzichten in natuurlijke taal voor een dataset

Arguments
id required — Dataset ID
Flags
--filters <value> — JSON array of filters
--focus-fields <value> — Comma-separated field names to focus analysis on
--max-insights <value> default: 5 — Max insights to generate
--mode <descriptive|operational> — Analysis mode
--signal-limit <value> — Max decision signals to return
Shellsift
sift datasets apply-diff

Pas een opgeslagen dataset-diff-plan toe

Arguments
plan required — Path to a local diff plan or persisted diff plan ID
Flags
--yes — Confirm applying the saved diff plan without prompting
Shellsift
sift datasets archive

Archiveer een dataset zonder de fysieke tabel te verwijderen

Arguments
id required — Dataset ID
Flags
-y, --yes — Confirm dataset archival without prompting
Shellsift
sift datasets bucket

Verdeel een numeriek of datumveld in bereiken met geaggregeerde statistieken per bucket

Arguments
id required — Dataset ID
Flags
--boundaries <value> — Comma-separated boundary values (omit for auto-bucketing)
--bucket-count <value> — Number of auto-buckets (default: 5)
--field <value> required — Field to bucket
--filters <value> — JSON array of filters
--metrics <value> — JSON array of metrics
Shellsift
sift datasets cleanup

Plan of voer de opschoning uit van scratch-datasets met een lifecycle-tag

Flags
--dry-run — Return a deterministic cleanup plan without deleting datasets
--lifecycle <value> — Lifecycle kind to clean, e.g. scratch, benchmark, research-run
--limit <value> default: 100 — Maximum lifecycle datasets to inspect
--now <value> — Deterministic timestamp for tests and scheduled cleanup
--older-than <value> — Only include datasets older than this duration, e.g. 12h, 7d
--orphaned — Include stale dataset notes that no longer have a backing dataset row
--tag <value> — Lifecycle tag to clean, e.g. benchmark
-y, --yes — Confirm deletion when applying cleanup with --no-dry-run
Shellsift
sift datasets compare

Vergelijk statistieken van segmenten in een categorisch veld naast elkaar

Arguments
id required — Dataset ID
Flags
--filters <value> — JSON array of filters
--limit <value> default: 10 — Max segment values to compare
--metrics <value> — JSON array of metrics
--segment-field <value> required — Categorical field to segment by
--segment-values <value> — Comma-separated segment values (auto-discovers if omitted)
Shellsift
sift datasets compute

Bereken afgeleide velden op basis van een dataset of een eerder afgeleid resultaat

Arguments
id — Dataset ID
Flags
--computed-fields <value> required — JSON array of computed fields, e.g. '[{"as":"spread","expression":"right.Close-left.Close"}]'
--filters <value> — JSON array of filters
--limit <value> default: 50 — Maximum rows
--order-by <value> — JSON array of order clauses
--select <value> — Comma-separated fields to include
--sorts <value> — JSON array of output sorts
--source-result <value> — Inline JSON for a prior derived result
--source-result-file <value> — Path to a JSON file containing a prior derived result
Shellsift
sift datasets contract

Toon een voor agents leesbaar datasetschema en capabilities-contract

Arguments
id required — Dataset ID
Flags
--resolve <value> — Comma-separated semantic field references to resolve
--template <value> — Validate contract against a built-in template
Shellsift
sift datasets create

Maak een dataset aan

Flags
--description <value> — Dataset description
--fields <value> — Field definitions as JSON array, e.g. '[{"name":"age","type":"number"}]'
--lifecycle <value> — Lifecycle kind for generated datasets, e.g. scratch, benchmark, research-run
--metadata <value> — Dataset metadata as JSON object
--note-id <value> — Link to an existing note
--run-id <value> — Lifecycle run identifier
--scratch — Shortcut for --lifecycle scratch --tags scratch
--tags <value> — Comma-separated lifecycle tags
--title <value> required — Dataset title
--ttl <value> — Lifecycle TTL duration, e.g. 12h, 7d, 30d
Shellsift
sift datasets dedupe

Vind dubbele records in een dataset zonder de data te wijzigen

Arguments
id required — Dataset ID
Flags
--key <value> required — Field name used to group duplicates
--limit <value> default: 500 — Maximum records to scan in one bounded pass
Shellsift
sift datasets delete

Verwijder een dataset definitief en wis de fysieke tabel

Arguments
id required — Dataset ID
Flags
-y, --yes — Confirm dataset deletion without prompting
Shellsift
sift datasets delete-record

Verwijder een record uit een dataset

Arguments
id required — Dataset ID
record-id required — Record ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift datasets diff

Bekijk wijzigingen in dataset-rijen vanuit een CSV, JSON of JSONL-bestand

Arguments
id required — Dataset ID
Flags
--batch-size <value> default: 100 — Records per backend batch
--from-file <value> required — Path to CSV, JSON, or JSONL rows to compare
--persist — Persist the diff plan in Siftable for later review/apply
--save-plan <value> — Write an applyable diff plan JSON file
--template <sources|people|events|claims|evidence_sources|evidence_source_fragments|evidence_claims|evidence_people|evidence_organizations|evidence_places|evidence_artifacts|evidence_events|evidence_relationships|evidence_contradictions> — Built-in template name
--upsert-by <value> — Field name used to match existing rows
Shellsift
sift datasets diff-plans list

Toon een lijst van opgeslagen dataset-diff-plannen

Flags
--dataset-id <value> — Filter by dataset ID
--limit <value> default: 50 — Maximum plans to return
--status <draft|validated|applied|rejected|expired> — Filter by plan status
Shellsift
sift datasets diff-plans show

Toon een opgeslagen dataset-diff-plan

Arguments
id required — Diff plan ID
Shellsift
sift datasets export

Exporteer dataset-records als CSV, JSON, JSONL of Markdown

Arguments
id required — Dataset ID
Flags
--filters <value> — JSON array of filters
--format <csv|json|jsonl|markdown> default: "csv" — Export format
--limit <value> default: 500 — Max rows to export
-o, --output <value> — Output file path (writes to stdout if omitted)
--sorts <value> — JSON array of sorts
Shellsift
sift datasets facets

Toon facet-samenvattingen voor dataset-velden

Arguments
id required — Dataset ID
Flags
--fields <value> — Comma-separated field names to facet
--limit <value> default: 20 — Maximum values per facet
Shellsift
sift datasets formula-plan

Bereken formulevelden en bekijk dataset-updates

Arguments
id required — Dataset ID
Flags
--computed-fields <value> required — JSON array of computed fields, e.g. '[{"as":"score","expression":"confidence * reliability"}]'
--filters <value> — JSON array of filters for compute source
--limit <value> default: 100 — Maximum rows to compute and plan
--order-by <value> — JSON array of order clauses
--save-plan <value> — Write an applyable diff plan JSON file
--select <value> — Comma-separated fields to include in compute source
--sorts <value> — JSON array of output sorts
--target-fields <value> — Comma-separated computed field names to write; defaults to every computed field alias
--template <sources|people|events|claims> — Built-in template name for validation
--upsert-by <value> required — Field used to match rows for update
Shellsift
sift datasets get

Haal dataset-details en het schema op

Arguments
id required — Dataset ID
Shellsift
sift datasets impact

Leg de impact uit van datasetformules, grafieken, weergaven, kwaliteit en materialisatie

Arguments
id required — Dataset ID
Flags
--from-plan <value> — Persisted diff plan ID to inspect
--operation <value> — Committed dataset operation ID to inspect
Shellsift
sift datasets import

Importeer CSV-, JSON- of JSONL-rijen in een nieuwe of bestaande dataset

Arguments
file required — Path to CSV, JSON, or JSONL file
Flags
--batch-size <value> default: 100 — Records per backend batch
--dataset-id <value> — Import into existing dataset instead of creating a new one
--description <value> — Dataset description
--dry-run — Validate and plan the import without writing
--lifecycle <value> — Lifecycle kind for generated datasets, e.g. scratch, benchmark, research-run
--metadata <value> — Dataset metadata as JSON object when creating a new dataset
--run-id <value> — Lifecycle run identifier
--scratch — Shortcut for --lifecycle scratch --tags scratch
--tags <value> — Comma-separated lifecycle tags
--template <sources|people|events|claims|evidence_sources|evidence_source_fragments|evidence_claims|evidence_people|evidence_organizations|evidence_places|evidence_artifacts|evidence_events|evidence_relationships|evidence_contradictions> — Built-in template name
--title <value> — Dataset title (defaults to filename)
--ttl <value> — Lifecycle TTL duration, e.g. 12h, 7d, 30d
--upsert-by <value> — Field name used to update matching rows instead of creating duplicates
--yes — Confirm mutating imports without prompting
Shellsift
sift datasets join

Koppel een dataset aan zichzelf met velden met een alias-scope, zoals left.Close en right.Close

Arguments
id required — Dataset ID
Flags
--join-keys <value> required — JSON array of join keys, e.g. '[{"leftField":"Date","rightField":"Date"}]'
--join-type <inner|left|right> default: "inner" — Join type
--left-alias <value> default: "left" — Left alias
--left-filters <value> — JSON array of left-side filters
--limit <value> default: 50 — Maximum joined rows
--right-alias <value> default: "right" — Right alias
--right-filters <value> — JSON array of right-side filters
--select <value> — Comma-separated alias-scoped fields to return
--sorts <value> — JSON array of sorts
Shellsift
sift datasets list

Toon een lijst van datasets

Flags
--limit <value> default: 50 — Maximum number of results
Shellsift
sift datasets lookup

Zoek records in een dataset op basis van een exacte sleutel/waarde-match

Arguments
id required — Dataset ID
Flags
--key <value> required — Field name to match
--limit <value> default: 25 — Maximum matching records
--value <value> required — Exact value to match
Shellsift
sift datasets materialize

Materialiseer een afgeleid resultaat in een nieuwe scratch-dataset

Flags
--description <value> — Dataset description
--source-result <value> — Inline JSON for a derived result
--source-result-file <value> — Path to a JSON file containing a derived result
--title <value> required — Title of the new dataset
Shellsift
sift datasets pivot

Maak een pivot-samenvatting van gegroepeerde dataset-metrieken

Arguments
id required — Dataset ID
Flags
--cols <value> required — Column field
--filters <value> — JSON array of filters
--limit <value> default: 500 — Maximum grouped cells to request
--metrics <value> — JSON metrics array; defaults to count
--rows <value> required — Row field
Shellsift
sift datasets plot

Valideer en normaliseer een lichte plot-payload uit een afgeleid resultaat

Flags
--chart-type <line|bar|scatter> required — Chart type
--series-field <value> — Optional series field
--source-result <value> — Inline JSON for a derived result
--source-result-file <value> — Path to a JSON file containing a derived result
--x-field <value> required — X-axis field
--y-fields <value> required — Comma-separated Y-axis fields
Shellsift
sift datasets profile

Toon begrensde profielinformatie voor een dataset

Arguments
id required — Dataset ID
Flags
--sample-limit <value> default: 10 — Number of sample rows to include
Shellsift
sift datasets query

Vraag records op uit een dataset

Arguments
id required — Dataset ID
Flags
--cursor <value> — Pagination cursor from previous query
--filters <value> — Filter conditions as JSON array, e.g. '[{"field":"status","value":"active"}]'
--include-deleted — Include soft-deleted records
--limit <value> default: 25 — Maximum number of records
--sorts <value> — Sort spec as JSON array, e.g. '[{"field":"name","direction":"asc"}]'
Shellsift
sift datasets rank

Rangschik dataset-records met sorteringen of een gewogen numerieke formule

Arguments
id required — Dataset ID
Flags
--filters <value> — JSON array of filters
--formula <value> — JSON formula object {weights: [{field, weight}]}
--limit <value> default: 25 — Max rows
--sorts <value> — JSON array of sorts
Shellsift
sift datasets reconcile

Vergelijk twee datasets op sleutel zonder ze te wijzigen

Arguments
left required — Left dataset ID
right required — Right dataset ID
Flags
--left-key <value> required — Left dataset key field
--limit <value> default: 500 — Maximum rows to scan from each dataset
--right-key <value> — Right dataset key field; defaults to --left-key
Shellsift
sift datasets schema

Pas het dataset-schema aan (velden toevoegen, bijwerken of verwijderen)

Arguments
id required — Dataset ID
Flags
--field <value> — Field definition as JSON, e.g. '{"name":"email","type":"text"}'
--field-id <value> — Field ID (required for update/delete)
--operation <add_field|update_field|delete_field> required — Schema operation
Shellsift
sift datasets search

Zoek in dataset-records binnen geselecteerde tekstvelden

Arguments
id required — Dataset ID
query required — Search text
Flags
--fields <value> — Comma-separated fields to search; defaults to profile columns
--filters <value> — JSON array of base filters applied to every field search
--limit <value> default: 25 — Maximum merged records
--per-field-limit <value> default: 25 — Maximum records to request per searched field
Shellsift
sift datasets summarize

Haal een samenvatting op van een dataset (aantal rijen, velden, voorbeeldrijen)

Arguments
id required — Dataset ID
Shellsift
sift datasets templates list

Toon een lijst met ingebouwde dataset-templates

Shellsift
sift datasets templates show

Toon het schema van een ingebouwde dataset-template

Arguments
template required — Template name
Shellsift
sift datasets timeseries

Analyseer dataset-tijdreeksen met lag, pct_change, rolling windows, drawdown, volatility en correlation

Arguments
id required — Dataset ID
Flags
--date-field <value> required — Date field name
--filters <value> — JSON array of filters
--limit <value> default: 100 — Maximum output rows
--metrics <value> — JSON array of metric definitions
--order-direction <asc|desc> default: "asc" — Time ordering
--pivot — Emit explicit pivoted output
--segment-field <value> — Optional segment field
--segment-values <value> — Comma-separated segment values
--transforms <value> — JSON array of transform definitions
Shellsift
sift datasets update-record

Een record in een dataset bijwerken

Arguments
id required — Dataset ID
record-id required — Record ID
Flags
--fields <value> required — Field updates as JSON object, e.g. '{"status":"done"}'
Shellsift
sift datasets validate

Valideer een dataset met een ingebouwd sjabloon

Arguments
id required — Dataset ID
Flags
--template <sources|people|events|claims|evidence_sources|evidence_source_fragments|evidence_claims|evidence_people|evidence_organizations|evidence_places|evidence_artifacts|evidence_events|evidence_relationships|evidence_contradictions> required — Built-in template name

Documenten

Documenten uploaden

1 commando
Shellsift
sift documents upload

Upload een document (PDF, Markdown of tekst) als notitie

Arguments
file required — Path to file
Flags
--project <value> — Project ID
--title <value> — Note title (defaults to filename)
--type <note|concept|meeting|reference|daily|dataset> — Note type

Events

Onderzoeksevents op basis van tijdlijnfeiten

3 commando's
Shellsift
sift events attach-person

Voeg een persoon als deelnemer toe aan een bestaand onderzoeksevent

Arguments
event required — Existing temporal fact ID
person required — Person UUID to attach
Flags
--role <value> default: "subject" — Participant role
--yes — Confirm participant attachment without prompting
Shellsift
sift events create

Maak een tijdlijnfeit aan voor een onderzoeksevent met deelnemers

Flags
--body <value> — Event notes/body
--confidence <low|medium|high> — Confidence level
--entity <value> repeatable — Participant/entity as type:uuid or type:uuid:role; repeatable
--org <value> repeatable — Organization UUID participant; repeatable
--person <value> repeatable — Person UUID participant; repeatable
--precision <millisecond|minute|hour|day|month|year|decade|century|millennium|mega_year|era> default: "year" — Temporal precision
--source <value> repeatable — Source entity as type:uuid or type:uuid:role; repeatable
--source-label <value> — Source/provenance label
--source-note <value> — Source/provenance note
--source-url <value> — Source/provenance URL
--timestamp <value> — ISO timestamp
--title <value> required — Event title
--visibility <org_public|private|restricted> — Timeline visibility
--year <value> — Historical year CE
--year-end <value> — Historical end year CE
Shellsift
sift events list

Toon feiten uit de tijdlijn van onderzoeksevents

Flags
--cursor <value> — Pagination cursor
--end <value> — End boundary
--entity <value> — Filter by entity ref type:uuid
--limit <value> default: 50 — Maximum events
--order <asc|desc> default: "asc" — Sort order
--person <value> — Filter by person UUID
--q <value> — Text search query
--start <value> — Start boundary

Evidence

Inrichting van de Evidence Graph en beheer van de bewijsworkflow.

11 commando's
Shellsift
sift evidence diff apply

Pas een gecontroleerd Evidence Graph diff-plan toe

Arguments
id required — Persisted diff plan ID
Flags
--yes — Confirm applying the reviewed diff plan without prompting
Shellsift
sift evidence diff impact

Toon de gevolgen van een opgeslagen diff-plan voor de Evidence Graph

Arguments
id required — Persisted diff plan ID, or local when using --from-file
Flags
--from-file <value> — Local diff plan JSON file to explain without API access
Shellsift
sift evidence diff list

Toon opgeslagen Evidence Graph diff-plannen

Flags
--dataset-id <value> — Filter by evidence dataset ID
--limit <value> default: 50 — Maximum plans to return
--project <value> — Filter locally by Evidence Graph project ID when present on plans
--status <draft|validated|applied|rejected|expired> — Filter by plan status
Shellsift
sift evidence diff show

Toon een Evidence Graph diff-plan met een domeinspecifieke samenvatting

Arguments
id required — Persisted diff plan ID
Shellsift
sift evidence extract

Maak agent-taken aan voor de extractie van Evidence Graph-kandidaten (zonder uitvoering)

Flags
--agent <value> default: "researcher" — Assigned agent alias
--context <value> — Additional input context JSON object
--context-file <value> — Additional input context JSON file
--dry-run — Preview work item payload without writing
--no-apply — Keep extraction in proposed/diff-first mode
--pack <company-origin|family-history|investigation|compliance-evidence|account-history|codebase-history> default: "company-origin" — Evidence workflow pack
--project <value> — Project ID
--source-dataset <value> required — Evidence sources dataset ID
--targets <value> — Comma-separated extraction targets
--yes — Confirm work item creation without prompting
Shellsift
sift evidence init

Maak een Evidence Graph-project en werktabellen op basis van datasets aan

Arguments
name required — Evidence Graph project name
Flags
--dry-run — Preview project/dataset creation without writing
--pack <company-origin|family-history|investigation|compliance-evidence|account-history|codebase-history> default: "company-origin" — Evidence workflow pack
--yes — Confirm creation without prompting
Shellsift
sift evidence plan

Plan een Evidence Graph-workflow voordat je de trusted state opslaat

Arguments
goal required — Evidence Graph goal
Flags
--pack <company-origin|family-history|investigation|compliance-evidence|account-history|codebase-history> default: "company-origin" — Evidence workflow pack
--project <value> — Existing project ID
--source-dataset <value> — Existing evidence sources dataset ID
Shellsift
sift evidence project

Voer een dry-run uit voor de tijdlijn en relatieprojectie van de Evidence Graph

Flags
--dry-run — Preview projection without writing
--from-file <value> — Local diff plan JSON file to project from without API access
--from-plan <value> — Persisted diff plan ID to project from
--pack <company-origin|family-history|investigation|compliance-evidence|account-history|codebase-history> default: "company-origin" — Evidence workflow pack
--project <value> — Evidence Graph project ID
Shellsift
sift evidence proof report

Maak een Evidence Graph-bewijsrapport van een evidence packet uit een dataset

Flags
--format <json|markdown> default: "markdown" — Report format
--from-file <value> required — Evidence packet JSON file to report on
--project <value> — Evidence Graph project ID for report metadata
Shellsift
sift evidence sources import

Importeer rijen uit het Evidence Graph-bronlogboek naar een brontabel in een dataset

Arguments
file required — Path to CSV, JSON, or JSONL source ledger rows
Flags
--batch-size <value> default: 100 — Records per backend batch
--dataset-id <value> — Evidence sources dataset ID
--dry-run — Validate and plan source import without writing
--upsert-by <value> default: "source_id" — Field name used to update matching source rows
--yes — Confirm mutating imports without prompting
Shellsift
sift evidence verify

Controleer de herkomst, review, projectie en citatie-invarianten van de Evidence Graph

Flags
--from-file <value> required — Evidence packet JSON file to verify
--project <value> — Evidence Graph project ID for report metadata

Graph

Zoeken in de graph en relaties tussen entiteiten.

5 commando's
Shellsift
sift graph between

Verklaar de verbinding tussen twee entiteiten in de graph

Arguments
source required — Source entity reference as type:uuid
target required — Target entity reference as type:uuid
Flags
--depth <value> default: 4 — Maximum path depth, backend clamps to 1-5
--frontier-limit <value> default: 500 — Maximum links to inspect per path expansion, backend clamps to 1-1000
Shellsift
sift graph explain

Verklaar de verbinding tussen twee entiteiten in de graph

Arguments
source required — Source entity reference as type:uuid
target required — Target entity reference as type:uuid
Flags
--depth <value> default: 4 — Maximum path depth, backend clamps to 1-5
--frontier-limit <value> default: 500 — Maximum links to inspect per path expansion, backend clamps to 1-1000
Shellsift
sift graph neighbors

Toon directe relaties van een entiteit in de graph

Arguments
entity required — Entity reference as type:uuid
Flags
--depth <value> default: 1 — Graph depth, backend clamps to 1-3
--limit <value> default: 80 — Maximum graph items, backend clamps to 1-200
Shellsift
sift graph preview

Bekijk een graph-entiteit

Arguments
entity required — Entity reference as type:uuid
Shellsift
sift graph search

Zoek koppelbare entiteiten voor graphs

Arguments
query required — Search query
Flags
--limit <value> default: 20 — Maximum results
--types <value> — Comma-separated entity types

Notities

Kennisnotities

7 commando's
Shellsift
sift notes bulk-delete

Notities bekijken of in bulk verwijderen

Flags
--archived — Filter by archived state
--confirm — Execute deletion instead of preview
--ids <value> — Comma-separated note IDs
--title-contains <value> — Title substring filter
--title-equals <value> — Exact title filter
--title-starts-with <value> — Title prefix filter
--type <note|concept|meeting|reference|daily|dataset>
Shellsift
sift notes create

Maak een notitie

Flags
--content <value> — Note content (markdown)
--metadata <value> — Note metadata as JSON
--metadata-file <value> — Read note metadata JSON from a file
--project <value> — Project ID
--title <value> required — Note title
--type <note|concept|meeting|reference|daily|dataset> — Note type
Shellsift
sift notes delete

Verwijder een notitie

Arguments
id required — Note ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift notes get

Haal een notitie op met volledige inhoud

Arguments
id required — Note ID
Shellsift
sift notes list

Toon notities

Flags
--archived — Filter by archived state
--limit <value> — Maximum number of results
--project <value> — Filter by project ID
--title-contains <value> — Title substring filter
--title-equals <value> — Exact title filter
--title-starts-with <value> — Title prefix filter
--type <note|concept|meeting|reference|daily|dataset> — Filter by note type
Shellsift
sift notes search

Notities zoeken

Arguments
query required — Search query
Flags
--limit <value> — Maximum number of results
--project <value> — Filter by project ID
Shellsift
sift notes update

Notitie bijwerken

Arguments
id required — Note ID
Flags
--content <value> — Note content (markdown)
--metadata <value> — Replace note metadata with this JSON object
--metadata-file <value> — Read replacement note metadata JSON from a file
--title <value> — Note title
--type <note|concept|meeting|reference|daily|dataset> — Note type

Organisaties

Organisaties en bedrijven.

5 commando's
Shellsift
sift organizations bulk-delete

Organisaties in bulk bekijken of verwijderen

Flags
--confirm — Execute deletion instead of preview
--contains <value> — Name substring filter
--equals <value> — Exact name filter
--ids <value> — Comma-separated organization IDs
--relationship <value> — Filter by relationship status
--starts-with <value> — Name prefix filter
--type <value> — Filter by organization type
Shellsift
sift organizations create

Organisatie aanmaken

Flags
--domain <value> — Domain (e.g. acme.com)
--industry <value> — Industry
--linkedin-url <value> — LinkedIn page URL
--location <value> — Location
--name <value> required — Organization name
--notes <value> — Notes
--relationship-status <value> — Relationship status (e.g. prospect, customer, partner, vendor)
--type <value> — Organization type (e.g. company, nonprofit, government, school)
--website <value> — Website URL
Shellsift
sift organizations delete

Organisatie verwijderen

Arguments
id required — Organization ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift organizations search

Organisaties zoeken

Arguments
query — Optional fuzzy search query
Flags
--contains <value> — Name substring filter
--equals <value> — Exact name filter
--limit <value> — Maximum number of results
--relationship <value> — Filter by relationship status
--starts-with <value> — Name prefix filter
--type <value> — Filter by organization type
Shellsift
sift organizations update

Een organisatie bijwerken

Arguments
id required — Organization ID
Flags
--domain <value> — Domain (e.g. acme.com)
--industry <value> — Industry
--linkedin-url <value> — LinkedIn page URL
--location <value> — Location
--name <value> — Organization name
--notes <value> — Notes
--relationship-status <value> — Relationship status
--type <value> — Organization type
--website <value> — Website URL

Personen

Personen en contacten.

11 commando's
Shellsift
sift people bulk-delete

Contacten bekijken of in bulk verwijderen

Flags
--confirm — Execute deletion instead of preview
--contains <value> — Name substring filter
--equals <value> — Exact name filter
--has-no-email — Only contacts without an email
--ids <value> — Comma-separated person IDs
--relationship <value> — Filter by relationshipToUser
--starts-with <value> — Name prefix filter
Shellsift
sift people create

Een contact aanmaken

Flags
--birth-year <value> — Birth year
--birthday <value> — Birthday (YYYY-MM-DD)
--company <value> — Company name (auto-links to organization if exists)
--email <value> — Email address
--estimated-age <value> — Estimated age
--job-title <value> — Job title
--linkedin-url <value> — LinkedIn profile URL
--location <value> — Location
--mbti <value> — MBTI type (e.g. INTJ, ENFP)
--name <value> required — Full name
--notes <value> — Notes about this person
--phone <value> — Phone number
--relationship <value> — Relationship to user (e.g. friend, colleague, client, mentor)
--website <value> — Personal website
Shellsift
sift people delete

Een contact verwijderen

Arguments
id required — Person ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift people get

Een persoonsprofiel ophalen met kenmerken en relaties

Arguments
id required — Person ID
Shellsift
sift people graph

Een relatiediagram rondom een persoon tonen

Arguments
id required — Person ID
Flags
--depth <value> default: 2 — Relationship graph depth
--include-inactive — Include inactive relationship edges
Shellsift
sift people kinship

De verwantschap of afstand tussen twee personen uitleggen

Arguments
egoPersonId required — Ego/source person ID
targetPersonId required — Target person ID
Flags
--max-depth <value> default: 6 — Maximum relationship depth
Shellsift
sift people list

Contacten weergeven

Flags
--contains <value> — Name substring filter
--equals <value> — Exact name filter
--has-no-email — Only contacts without an email
--limit <value> — Maximum number of results
--relationship <value> — Filter by relationshipToUser
--starts-with <value> — Name prefix filter
Shellsift
sift people relate

Maak een relatie tussen twee personen aan of werk deze bij

Arguments
personAId required — First person ID
personBId required — Second person ID
Flags
--dry-run — Preview the relationship payload without writing
--notes <value> — Relationship notes
--type <value> required — Relationship type, e.g. colleague, sibling, spouse, collaborator
-y, --yes — Apply without prompting
Shellsift
sift people search

Zoek contacten

Arguments
query required — Search query
Flags
--contains <value> — Name substring filter
--equals <value> — Exact name filter
--has-no-email — Only contacts without an email
--limit <value> — Maximum number of results
--relationship <value> — Filter by relationshipToUser
--starts-with <value> — Name prefix filter
Shellsift
sift people timeline

Toon tijdlijnfeiten van een persoon

Arguments
id required — Person ID
Flags
--limit <value> default: 50 — Maximum facts to return
--order <asc|desc> default: "asc" — Sort order
--role <value> — Filter by entity role, comma-separated
Shellsift
sift people update

Werk een contact bij

Arguments
id required — Person ID
Flags
--birth-year <value> — Birth year
--birthday <value> — Birthday (YYYY-MM-DD)
--company <value> — Company name
--email <value> — Email address
--estimated-age <value> — Estimated age
--job-title <value> — Job title
--linkedin-url <value> — LinkedIn profile URL
--location <value> — Location
--mbti <value> — MBTI type (e.g. INTJ, ENFP)
--name <value> — Full name
--notes <value> — Notes about this person
--phone <value> — Phone number
--relationship <value> — Relationship to user
--website <value> — Personal website

Projecten

Projectbeheer.

7 commando's
Shellsift
sift projects archive

Archiveer een project

Arguments
id required — Project ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift projects context

Haal projectcontext op (taken, notities, signalen)

Arguments
id required — Project ID
Shellsift
sift projects create

Maak een project aan

Flags
--emoji <value> — Single emoji
--name <value> required — Project name
--status <planning|active|on_hold|blocked|completed> — Project status
--summary <value> — Project summary
Shellsift
sift projects list

Projecten weergeven

Flags
--include-archived — Include archived projects
--status <planning|active|on_hold|blocked|completed> — Filter by status
Shellsift
sift projects planning

De canonieke CSN-planningssnapshot voor een project ophalen

Arguments
id required — Project ID
Shellsift
sift projects planning-recompute

De canonieke CSN-planningssnapshot voor een project opnieuw berekenen

Arguments
id required — Project ID
Shellsift
sift projects update

Een project bijwerken

Arguments
id required — Project ID
Flags
--emoji <value> — Single emoji
--name <value> — Project name
--status <planning|active|on_hold|blocked|completed> — Project status
--summary <value> — Project summary

Recepten

Ingebouwde recepten voor onderzoeksworkflows.

2 commando's
Shellsift
sift recipes list

Ingebouwde recepten voor onderzoeksworkflows weergeven

Shellsift
sift recipes show

Een ingebouwd recept voor onderzoeksworkflows tonen

Arguments
id required — Recipe ID

Onderzoek

Planning en orkestratie van onderzoeksworkflows.

4 commando's
Shellsift
sift research init

Maak een onderzoeksproject en standaard datasets aan

Arguments
name required — Research project name
Flags
--dry-run — Preview project/dataset creation without writing
--template <historical-research> default: "historical-research" — Research template
--yes — Confirm creation without prompting
Shellsift
sift research plan

Plan een deterministische onderzoeksworkflow voordat je data wegschrijft

Arguments
goal required — Research goal
Flags
--project <value> — Existing project ID
--source-dataset <value> — Existing sources dataset ID
Shellsift
sift research run

Maak deterministisch agent-werk voor een onderzoeksrecept

Arguments
recipe required — Research run recipe
Flags
--agent <value> default: "researcher" — Assigned agent alias
--context <value> — Additional input context JSON object
--context-file <value> — Additional input context JSON file
--dry-run — Preview work item payload without writing
--project <value> — Project ID
--source-dataset <value> — Source dataset ID
--yes — Confirm work item creation without prompting
Shellsift
sift research status

Bekijk de context van het onderzoeksproject en de CLI-status

Arguments
project — Project ID

Skills

Installeerbare Siftable skillpacks.

2 commando's
Shellsift
sift skills install

Installeer een Siftable skillpack in een lokale skills-directory

Arguments
id required — Skillpack ID
Flags
--force — Replace an existing installed skill
--target <value> default: "skills" — Installed skills directory
-y, --yes — Confirm replacing an existing skill
Shellsift
sift skills list

Toon installeerbare Siftable skillpacks

Taken

Planningstaken.

11 commando's
Shellsift
sift tasks bulk-delete

Taken in bulk bekijken of verwijderen

Flags
--confirm — Execute deletion instead of preview
--done — Filter by completed state
--ids <value> — Comma-separated task IDs
--phase <draft|open|in_flight|review|blocked|done|cancelled>
--title-contains <value> — Title substring filter
--title-equals <value> — Exact title filter
--title-starts-with <value> — Title prefix filter
--when <now|today|soon|later>
Shellsift
sift tasks complete

Markeer een taak als voltooid

Arguments
id required — Task ID
Shellsift
sift tasks coupling-create

Maak een CSN-koppeling tussen taken in hetzelfde project

Arguments
id required — Source task ID
target required — Target task ID
Flags
--note <value> — Optional note
--strength <value> — Coupling strength (0-1)
--type <info|resource> required — Coupling type
Shellsift
sift tasks coupling-delete

Verwijder een CSN-koppeling van een taak

Arguments
id required — Task ID
edgeId required — Coupling edge ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift tasks coupling-list

Toon CSN-koppelingen voor een taak

Arguments
id required — Task ID
Shellsift
sift tasks create

Maak een planningstaak aan

Flags
--acceptance-criteria <value> — Acceptance criteria (semicolon-separated text, e.g. "tests pass; docs updated")
--description <value> — Task description
--due <value> — Due date (ISO 8601)
--effort <trivial|small|medium|large|epic|unknown> — Effort estimate
--phase <draft|open|in_flight|review|blocked|done|cancelled> — Lifecycle phase
--priority <do_now|schedule|delegate|someday> — Priority level
--project <value> — Project ID
--scope <value> — Scope boundaries (JSON object with include/exclude arrays)
--title <value> required — Task title
Shellsift
sift tasks delete

Verwijder een taak

Arguments
id required — Task ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift tasks get

Toon details van een planningstaak

Arguments
id required — Task ID
Shellsift
sift tasks list

Toon planningstaken

Flags
--effort <trivial|small|medium|large|epic|unknown> — Filter by effort
--limit <value> — Maximum number of results
--phase <draft|open|in_flight|review|blocked|done|cancelled> — Filter by phase
--project <value> — Filter by project ID
--status <inbox|next_action|in_progress|waiting_for|completed|archived> — Filter by status
--title-contains <value> — Title substring filter
--title-equals <value> — Exact title filter
--title-starts-with <value> — Title prefix filter
Shellsift
sift tasks planning-update

Werk CSN-planningsvelden van een taak bij

Arguments
id required — Task ID
Flags
--cynefin-confidence <value> — Cynefin confidence (0-1)
--cynefin-domain <clear|complicated|complex|chaotic|aporetic> — Cynefin domain
--cynefin-rationale <value> — Why this domain fits
--cynefin-source <user|assistant|classifier> — Source of the planning classification
--duration-model <value> — Duration model JSON, e.g. {"kind":"point","days":2}
--reversibility <value> — Reversibility score (0-1)
Shellsift
sift tasks update

Werk een planningstaak bij

Arguments
id required — Task ID
Flags
--acceptance-criteria <value> — Acceptance criteria (semicolon-separated text, e.g. "tests pass; docs updated")
--blocked-reason <value> — Reason task is blocked
--description <value> — Task description
--due <value> — Due date (ISO 8601)
--effort <trivial|small|medium|large|epic|unknown> — Effort estimate
--phase <draft|open|in_flight|review|blocked|done|cancelled> — Lifecycle phase
--priority <do_now|schedule|delegate|someday> — Priority level
--project <value> — Project ID
--scope <value> — Scope boundaries (JSON object with include/exclude arrays)
--status <inbox|next_action|in_progress|waiting_for|completed|archived> — Task status
--title <value> — Task title

Tijdlijn

Tijdlijnfeiten en verhalen.

4 commando's
Shellsift
sift timeline create

Maak een eigen tijdlijnfeit aan

Flags
--body <value> — Fact body or notes
--confidence <low|medium|high> — Confidence level
--entity <value> repeatable — Participant/entity as type:uuid or type:uuid:role; repeatable
--fact-type <value> default: "event" — Fact type
--precision <millisecond|minute|hour|day|month|year|decade|century|millennium|mega_year|era> default: "year" — Temporal precision
--source-label <value> — Source/provenance label
--source-note <value> — Source/provenance note
--source-url <value> — Source/provenance URL
--timestamp <value> — ISO timestamp
--title <value> required — Fact title
--visibility <org_public|private|restricted> — Timeline visibility
--year <value> — Historical year CE
--year-end <value> — Historical end year CE
Shellsift
sift timeline delete

Trek een tijdlijnfeit in

Arguments
id required — Timeline fact ID
Flags
--yes — Confirm retraction without prompting
Shellsift
sift timeline list

Toon tijdlijnfeiten met begrensde filters

Flags
--cursor <value> — Pagination cursor
--end <value> — End boundary, ISO timestamp or supported historical boundary
--entity <value> — Entity filter as type:uuid
--entity-role <value> — Comma-separated entity roles
--fact-types <value> — Comma-separated fact types
--limit <value> default: 50 — Maximum items to return
--order <asc|desc> default: "asc" — Sort order
--q <value> — Text search query
--source-types <value> — Comma-separated source types
--start <value> — Start boundary, ISO timestamp or supported historical boundary
Shellsift
sift timeline narrative

Maak een verhalende samenvatting of uitleg van tijdlijnfeiten

Flags
--action <summarize|changed_since|led_to|what_next|cross_object> default: "summarize" — Narrative action
--entity <value> — Entity scope as type:uuid
--entity-roles <value> — Comma-separated entity roles
--fact-type <value> — Fact type filter
--limit <value> default: 60 — Maximum timeline facts to include
--participant <value> — Participant filter as type:uuid
--prompt <value> — Question or custom narrative prompt
--q <value> — Text query filter
--related-entity <value> — Related entity as type:uuid
--source-type <value> — Source type filter

Vault

Kluis voor geheimen.

5 commando's
Shellsift
sift vault create

Sla een nieuw versleuteld geheim op

Flags
--category <value> — Category
--description <value> — Description
--name <value> required — Secret name
--payload <value> required — JSON payload to encrypt
--slug <value> — Machine-friendly identifier
--tags <value> — Comma-separated tags
--type <env_var|credential|oauth_token|ssh_key|certificate|note> — Entry type
--url <value> — Associated URL
Shellsift
sift vault list

Toon kluisitems (alleen metadata)

Flags
--category <value> — Filter by category
--limit <value> — Maximum number of results
--type <env_var|credential|oauth_token|ssh_key|certificate|note> — Filter by entry type
Shellsift
sift vault read

Retired: Vault plaintext reveal is unavailable from the CLI

Arguments
id required — Vault entry ID
Shellsift
sift vault search

Zoek in vault-items

Arguments
query required — Search query
Flags
--limit <value> — Maximum number of results
Shellsift
sift vault update

Werk metadata van vault-item bij

Arguments
id required — Vault entry ID
Flags
--category <value> — Category
--description <value> — Description
--name <value> — Entry name
--tags <value> — Comma-separated tags
--url <value> — Associated URL

Werk

Wachtrij voor de executable agent.

12 commando's
Shellsift
sift work block

Markeer een werkitem als geblokkeerd

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim
--lease <value> — Lease seconds
--owner <value> — Claim owner identity
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work cancel

Annuleer een werkitem

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim
--lease <value> — Lease seconds
--owner <value> — Claim owner identity
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work claim

Claim het eerstvolgende beschikbare uitvoerbare agent-werkitem

Arguments
id — Optional specific work item ID
Flags
--agent <value> — Agent alias to claim for
--lease <value> default: 1800 — Lease seconds
--owner <value> required — Claim owner identity
Shellsift
sift work complete

Keur een uitvoerbaar agent-werkitem goed en voltooi het

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim
--lease <value> — Lease seconds
--owner <value> — Claim owner identity
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work create

Maak een uitvoerbaar agent-werkitem aan

Flags
--acceptance-criteria <value> — Acceptance criteria JSON array or semicolon-separated text
--agent <value> — Assigned agent alias
--allowed-actions <value> — Allowed actions JSON object
--context <value> — Input context JSON object
--project <value> — Linked project ID
--prompt <value> — Agent prompt or instructions
--rank <value> default: 0 — Queue rank
--task <value> — Parent human planning task ID
--title <value> required — Executable work item title
--verify <value> — Verification commands separated by semicolons
--write-scope <value> — Write scope JSON object
Shellsift
sift work fail

Markeer een item als mislukt

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim
--lease <value> — Lease seconds
--owner <value> — Claim owner identity
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work get

Haal details op van een item voor de executable agent

Arguments
id required — Work item ID
Shellsift
sift work heartbeat

Verleng de lease van een item

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim
--lease <value> — Lease seconds
--owner <value> — Claim owner identity
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work list

Toon items voor de executable agent

Flags
--agent <value> — Filter by assigned agent alias
--limit <value> — Maximum results
--project <value> — Filter by project ID
--status <value> — Filter by status
--task <value> — Filter by parent human planning task ID
Shellsift
sift work release

Zet een geclaimd item terug in de wachtrij

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim
--lease <value> — Lease seconds
--owner <value> — Claim owner identity
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work review

Markeer werk van de executable agent voor handmatige controle

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim
--lease <value> — Lease seconds
--owner <value> — Claim owner identity
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work start

Markeer een item als actief

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim
--lease <value> — Lease seconds
--owner <value> — Claim owner identity
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work verify

Run the LLM verifier against a work item's acceptance criteria and record a verifier run. Promotion to verified requires passing verification-command evidence plus a verified verdict.

Arguments
id required — Work item ID
Flags
--history — List prior verifier runs instead of running a new one
--model <value> — Verifier model override
--reps <value> — Repeated evaluations per criterion (1-8, default 3)

Worker

Lokale uitvoerders voor taken.

1 commando
Shellsift
sift worker run

Claim taken, voer een lokaal worker-commando uit en rapporteer resultaten die controle nodig hebben.

Flags
--agent <value> required — Agent alias to claim work for
--command <value> required — Local command to run for the claimed work item
--cwd <value> — Fallback working directory for the local command
--lease <value> default: 1800 — Lease seconds
--owner <value> required — Worker owner fingerprint

Interactieve Copilot

Met het commando sift interactive start je een terminal-copilot die chat, tools gebruikt, code aanpast, parallelle agent-branches opent, werk plant en diagrammen tekent — allemaal direct in je terminal, op je eigen bestandssysteem en de Siftable work graph.

Terminal
$ sift interactive

Vereisten & opstarten

  • Bun is vereist. sift interactive voert Bun opnieuw uit; als het niet is geïnstalleerd, verschijnt curl -fsSL https://bun.sh/install | bash.
  • Authenticatie is vereist — via --token, SIFT_TOKEN of sift auth login.
  • Het brein draait in-process — je hoeft geen aparte daemon te starten.
  • Schrijven is beperkt tot de workspace-root — de dichtstbijzijnde bovenliggende map met .git. Dit is de grens die /status aangeeft en die het systeem afdwingt.

De interface

The composer is a full readline-capable text area. Enter submits; Shift+Enter / Ctrl+J insert a newline; submitting while the agent is busy queues your message. !command runs via bash -lc into the transcript (a bare !cd <path> changes the session directory; output clipped to ~4000 chars). Large or structured pastes become a collapsed chip; pasted images are validated, normalized, and attached. ? on an empty composer shows hotkeys.

Slash-commando's

Typ / om het commandomenu te openen. Verborgen commando's kun je nog steeds typen, maar verschijnen niet in het menu.

CommandGroupDescription
/help, /hotkeys, /statusSessionCommand list, keyboard shortcuts, and current model/scope/queue status
/cwd [path]SessionShow or change the working directory (recomputes the workspace root)
/copy [last|all|explorer]SessionCopy the latest reply, whole transcript, or latest explorer report to the clipboard
/clear, /quitSessionReset the transcript; exit
/threads [clear], /compactSessionManage the persisted thread; force a context compaction (requires context compaction enabled)
/model [id] [effort]ModelOpen the model picker or select a model and reasoning effort directly
/codex [login|on|use|off|logout|status]ModelControl the Codex (ChatGPT) engine; default subcommand is status
/key <provider> <key>, /key vault <provider>ModelStore a provider API key, or hydrate it from Siftable Vault
/loginModelSiftable device-code login from inside the TUI
/explorerModelConfigure the repo Explorer (context-gathering backend)
/skills [name]SkillsList discovered skills, or print one skill's body
/branchesBranchesOpen the parallel-agent branches hub
/spawn <title> [--rw <globs>|--rw-any|--ro]BranchesStart a child agent branch in its own git worktree with an access mode
/merge, /rebase, /sendback, /rejectBranchesLand, replay, resume, or reject a child branch
/workWorkOpen the work-queue hub (board of agents and items by status)
/plan [objective | work [--apply] [--after SRC:DST] [--limit N] | view]WorkPlan from an objective, or compute a precedence DAG over the agent work queue as a Mermaid graph
/handoff <title> [--agent ..] [--files ..] [--acceptance ..] [--verify ..]WorkCreate a Siftable work item from the current context
/proof <claim>, /remember <fact> --category <..>WorkGather code/test evidence; store durable code memory
/crew [list|show|new|run], /collabCrewsManage and run multi-agent crews; show in-process collaboration sessions
/mermaid [request|file.mmd|source], /viewDiagramsRender Mermaid (NL request, file, or source) in the terminal; open the pannable viewer
/theme, /sounds [on|off]AppearanceOpen the appearance picker; toggle UI sounds

Modellen & engines

The model picker (/model) is two-stage: choose a model, then a reasoning effort (saved to ~/.siftable/prefs.json). The catalog includes GPT-5.6 Sol, Terra, and Luna (ChatGPT plan via the Codex engine — /codex login / /codex on select Sol by default), Claude Opus 4.8 (OpenRouter or direct Anthropic with ANTHROPIC_API_KEY), Claude Sonnet 4.6 / Haiku 4.5, Gemini 3.x Flash / Flash-Lite, GPT-5.4 mini / nano, and Morph v3 Large (apply-only). Codex drives the OpenAI codex app-server sidecar (ChatGPT device-code login). All other providers route through the bundled OpenFunction agent via <PROVIDER>_API_KEY. /key vault <provider> hydrates a key from Siftable Vault behind an approval prompt; the secret is never printed or written to disk.

Repo Explorer

/explorer configures repository context gathering before a turn. Modes: auto, off, deterministic, scout, fanout, warpgrep. Pick a scout model and budget (cheap/normal/deep). warpgrep needs MORPH_API_KEY (auto-hydrated from Vault when available). Settings persist in prefs.json.

Skills

SKILL.md-skills worden gezocht (project > gebruiker > ingebouwd) in <root>/{.sift,.claude,.codex,.agents}/skills, ~/.claude|.codex|.agents/skills, ~/.config/sift/skills en de meegeleverde skills. De agent kan een skill aanroepen via een tool; er worden er ongeveer 50 vermeld in de system prompt.

Sneltoetsen

Overlays krijgen voorrang op het toetsenbord, dus sneltoetsen verschillen per modus.

  • Enter submit (queues if busy) · Shift+Enter/Ctrl+J newline · Tab complete a lone /foo · ↑/↓ prompt history
  • Esc abort turn → clear draft → deselect · Ctrl+C abort → clear → deselect → quit (never copies) · Ctrl+D quit on empty draft
  • Cmd/Super+A select all · Cmd+C/Ctrl+Shift+C copy selection or latest reply · Ctrl+O Explorer diagnostics · ? hotkeys
  • Approval gate: y/Enter allow once · a always · b bypass-all · n/Esc deny

Native versnelling

Prestatiekritieke onderdelen (context-compactie, geheugen voor lange threads, scannen van het bestandssysteem, merge-orkestratie, beeldverwerking) draaien via native Zig-modules geladen via Bun FFI, elk met een TypeScript-fallback. Het pakket bevat vooraf gebouwde bibliotheken voor macOS (Apple Silicon) en Linux (x64); andere platforms gebruiken de fallback. Gebruik SIFT_NO_NATIVE=1 om de fallbacks af te dwingen, en SIFT_CONTEXT_COMPACTION=1 voor de live context-tokenmeter en het opslaan en hervatten van threads.

Uiterlijk & geluid

/theme biedt 10 thema's (standaard "sieve" — warm amber op antraciet), opgeslagen in ~/.siftable/appearance.json. Met /sounds zet je UI-geluidseffecten aan of uit (standaard uit), opgeslagen in ~/.siftable/sounds.json en te overschrijven met SIFT_SOUNDS.

The copilot is read-only by default; write/edit tools are scoped to the workspace root and gated by a four-way approval prompt (allow once / always / bypass-all / deny). With nothing listening, requests deny. Auto-approve environment overrides are always scrubbed at launch.

Volledige referentie, inclusief elk slash-commando, sneltoets, omgevingsvariabele en configuratiebestand: docs/interactive.md op GitHub.

Give your agent a workspace.