2026-09-25 07:00:42 +02:00
u
2026-09-25 07:00:42 +02:00
u
2026-09-25 06:26:59 +02:00
upd
2026-09-23 00:50:44 +02:00
u
2026-09-22 20:59:58 +02:00
u
2026-09-25 05:37:09 +02:00
u
2026-09-25 05:37:09 +02:00
u
2026-09-25 05:37:09 +02:00
u
2026-09-25 06:26:59 +02:00
upd
2026-09-23 00:50:44 +02:00
u
2026-09-25 05:37:09 +02:00
u
2026-09-25 05:37:09 +02:00
2026-09-23 07:23:03 +02:00

FIDO a minimal coding assistant.

Fido is a console REPL assistant that inspects files, lists directories, finds files and directories by name, searches file contents, applies changes, and runs shell commands (with user approval).

Install

Installs into ~/.fido and adds a fido launcher to your PATH via ~/.bashrc:

git clone <this-repo> ~/src/fidoca
cd ~/src/fidoca
./install.sh
source ~/.bashrc

The installer needs the sibling llmorbiter checkout (this project depends on it via file:../llmorbiter); it is bundled into ~/.fido/llmorbiter. Override its location with LLMORBITER_SRC=/path/to/llmorbiter.

Then, from any project directory:

fido                    # work on the current directory
fido /path/to/project   # work on a specific directory

Set OPENROUTER_API_KEY (and optionally TAVILY_API_KEY) in ~/.fido/.env.

File mentions

While typing a message, press Ctrl+O to open an in-prompt file browser. It is .gitignore-aware and hides dot-directories, just like list_files.

Key Action
↑ / ↓ Move the highlight
Enter Descend into a directory, or open the line selector
Tab Mention the highlighted file (whole file)
Backspace Go to the parent directory
Esc Cancel back to the prompt

In the line selector, ↑/↓ move the cursor, v starts/ends a range, g/G jump to the first/last line, and Enter inserts the mention.

The mention is plain text spliced in at the cursor; the model reads the file itself via read_file (it is a reference, not embedded contents):

Selection Inserted text
Whole file @src/fido.js
Line range @src/fido.js:120-145
Single line @src/fido.js:120

Paths are relative to the workspace root with forward slashes; line numbers are 1-based (the model maps them to read_file's 0-indexed seek).

Layout

~/.fido/
  app/                     the fido app (this repo)
  llmorbiter/              bundled dependency
  bin/fido                 the launcher (added to PATH)
  .env                     your config / API keys
  state/<workspace>/       per-workspace state
    undo.json
    suspends/

Undo and /suspend state is stored per workspace under ~/.fido/state/, so it never mixes between projects and never litters your repositories.

To remove everything: ./install.sh --uninstall.

License

0BSD

Description
No description provided
Readme 525 KiB
Languages
JavaScript 96.9%
Shell 3.1%