Infinidev
Infinidev is an autonomous AI coding agent for the terminal. It can inspect a repository, plan changes, edit code, run commands and tests, review its work, and keep project knowledge across sessions.
It works with hosted models through LiteLLM and with local models through Ollama.
An optional React web workspace provides conversations, named teams and tickets, shared notes, live process output, file diffs, findings, model settings and usage. It drives the same harness as the terminal. See Web workspace for setup, development and the current scope.
Install
Python 3.11 or newer is required. The recommended installation uses uv, which keeps Infinidev in an isolated tool environment:
uv tool install infinidev
Upgrade later with:
uv tool upgrade infinidev
You can also install it with pipx:
pipx install infinidev
Start
Run Infinidev from the project you want it to work on:
cd path/to/your/project
infinidev
Use /models manage to choose a provider and model, or /settings to edit the
project configuration. By default, Infinidev expects Ollama at
http://localhost:11434.
Useful command-line modes:
infinidev --no-tui # text-only interface
infinidev -p "explain this repo" # one prompt, then exit
infinidev --continue # resume the latest local session
infinidev --resume # choose, rename, or delete a previous session
Inside either interface, use /session <name> to give the current session a durable
name. The --resume picker shows all sessions registered in the active workspace database
(local-workspace entries first), including their names and estimated storage; enter
rename NUMBER NAME or delete NUMBER to manage an entry before resuming it.
Use /prompts to list the optional prompt capabilities in your shared catalog, narrow
that list with /prompts search <term>, and inspect a guide before activation with
/prompts show <name>. Then use /prompts enable <name> or /prompts disable <name>
to change one for future tasks. Use /prompts reset <name> to remove your override and
inherit the catalog or project state again.
Shared profiles live in ~/.infinidev/prompts/; a project's
.infinidev/prompts.json can override them. See Prompt profiles
for the catalog format and precedence rules.
What it includes
- A live terminal UI with task progress, diffs, files, logs, and context usage.
- Live output tabs for background commands through
/psor/bg. - Research teams with named specialists, visible roles, shared notes, and direct messages.
- Plan-execute-summarize and staged execution for long, multi-step tasks.
- File, shell, Git, web, code-intelligence, knowledge, and image tools.
- Persistent, searchable working memory with recoverable tool evidence.
- Project and user-level prompt profiles, with opt-in workflow guides managed through
/prompts. - Model capability detection and native or text-based tool calling.
- MCP server support; Ken is used for semantic project context when available.
- Permission checks, deterministic completion gates, tests, and post-change review.
- Image attachments, terminal image viewing, and opt-in image generation.
Essential commands
| Command | Purpose |
|---|---|
/help |
Show commands and keybindings |
/models manage |
Choose the active provider and model |
/settings |
View or change project settings |
/engine |
Select the task execution engine |
/plan <task> |
Review a plan before execution |
/mcp |
Show MCP server health |
/findings |
Browse saved project knowledge |
/ps or /bg |
Select a background task and open its live output |
/usage |
Show usage and available quota information for the selected provider |
/reindex |
Rebuild the local code index |
/clear |
Clear the transcript |
/exit |
Quit |
How it works
request
-> principal agent
-> direct work or tickets and delegated specialists
-> evidence, tests, and objective checks
-> principal review
-> result
Infinidev stores settings, history, logs, and its SQLite knowledge database in
.infinidev/ inside the current project. Environment variables use the
INFINIDEV_ prefix. Secrets and generated runtime state should not be committed.
Council transcripts shown by /agents are process-local and retain the 100 most
recent completed councils by default, while always preserving active councils. Set
COUNCIL_HISTORY_LIMIT in .infinidev/settings.json (or
INFINIDEV_COUNCIL_HISTORY_LIMIT) to a non-negative number; use 0 to discard a
transcript after its completion event or null for unlimited retention.
See Background tasks for output tabs and shortcuts, Research teams for delegation and shared notes, and Provider usage for quota sources and optional billing credentials.
Development
git clone https://github.com/Infinibay/infinidev.git
cd infinidev
uv sync
uv run pytest
uv run infinidev
Architecture and subsystem documentation live in docs/. Contributor
guidance is in AGENTS.md.
License
The Infinidev software and documentation are available under the MIT License.
The manually authored task-policy annotations in
data/task-policy-reviews/ are a separately licensed data
component; see their data license and attribution notice.
Metadata
Release files for infinidev 0.29.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| infinidev-0.29.2.tar.gz | 35.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| infinidev-0.29.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.7 MB
Release files / infinidev-0.29.2.tar.gz
| Download URL | infinidev-0.29.2.tar.gz |
|---|---|
| Size | 35.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd3c7082ab43718027b26886b9e43d3c0a687618767cab69d9e3332e063b7d19
|
|
BLAKE2b-256 checksum How to use checksums |
6c2591d2a13ef01fe1741c7a716031ae6436ed87f090f871cd697f3b662b94aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / infinidev-0.29.2-py3-none-any.whl
| Download URL | infinidev-0.29.2-py3-none-any.whl |
|---|---|
| Size | 35.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c07c03e94af9870b7c426d5c17c8d46efc6293d310f244c08e0602f0f1a3ec50
|
|
BLAKE2b-256 checksum How to use checksums |
1e22613720b092009ef02efe16271530383872058d7352b0fd7dda5ee9428e79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|