Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

The evoke manual

Software, by reflex. evoke turns a sentence into a call of a small program. That program is a reflex. A classifier chooses it and never generates text. A confidence gate decides whether it runs. The classifier is Jev, TypeSafe AI's System One model, the first adapter of a design bound to none.

$ evoke "kill the lights in the den"
  lights room="den" state="off"  0.85
den lights off

One tool does three jobs. A CLI you talk to. A package manager that installs reflexes from git. A TypeScript SDK that puts the same decisions inside your app. You invoke a function; you evoke a reflex.

Where to start

You want to…Read
Say something to your laptop and see it happenInstall, then The first ten minutes
Learn the words this manual usesConcepts
Write a reflex of your ownYour first reflex
Decide and run reflexes inside your applicationThe SDK
Look something upReference

The manual

Start

PageRead it when
InstallPutting evoke and its SDK on a machine
The first ten minutesYour first key, your first reflexes, your first lesson
ConceptsThe words, and the three steps of a decision

Use — the CLI

PageRead it when
Saying thingsBare input, the REPL, a pipe, --json, --tag, exit codes
OutcomesRun, confirm, ask and abstain; try, why, run
Installing reflexesadd, remove, update, sync, trust; refs, the lock, the store
Tuningteach, overlays, vocabularies, config, show, test
ProjectsYour home project, an app's project, evoke.toml, trust

Author — writing reflexes

PageRead it when
Your first reflexnew, check, a try, a run: a reflex in ten minutes
The manifestreflex.toml, key by key
ArgumentsOptions, vocabularies, picks and flags; ranges; renames
The bodyFile bodies and argv bodies; context, results, the deadline
Examples and testsRecords, assertions, evoke test, lint
WordingWriting descriptions the classifier reads well
PublishingTags, versions, the contract diff, collections, the Hub

SDK — @evoke-build/evoke

PageRead it when
Getting startedThe first hour: one file, one reflex, one decision
Projectsload(), roots, reflexes as code, with(), generated types
DecisionsThe Decision union, fill, run, handle
Adaptersjev(), thresholds, and writing an adapter of your own
Testingreplay(): offline, deterministic tests over a recording
ErrorsThe three errors, and what each asks of you

Reference

PageHolds
CommandsEvery command, flag and exit code
Filesevoke.toml, evoke.lock, overlays, vocabularies, the types
The JSON lineWhat --json prints, field by field
EnvironmentVariables evoke reads and the paths it writes
DiagnosticsEvery line that ends in a fix, and what the fix does
GlossaryThe words, in one place

Around the tool

PageHolds
The collectionThe first-party reflexes: what a Mac does at a word
SecurityWhat runs as you, what is guaranteed, and what is not

Conventions

  • A line beginning $ is a command you type. The lines under it are what the terminal shows.
  • evoke writes its own lines to stderr, indented two spaces. Only a reflex's result goes to stdout.
  • Every line that needs something from you ends with the command that does it: → evoke trust.
  • macOS and Linux; Windows through WSL. The collection's programs are for macOS.

evoke is Apache-2.0; the collection is MIT. The name and the logo are trademarks.