Every capability, explained.
Local structural index of your entire codebase. No cloud. No upload. Sub-second lookups.
The code graph indexes every TypeScript, JavaScript, Python, and Java file in your
project, building a queryable map of symbols (functions, classes, methods, interfaces,
types, enums) and the call edges between them. The result is stored in
.code-graph/ at the project root — a set of JSON files the agent reads
in milliseconds.
parseArgs?" across 500 files instantly.| Tool | What it does |
|---|---|
code_index |
Build or incrementally update the index. Runs automatically when stale. |
code_symbols |
Case-insensitive substring search by name or qualified name, with optional kind filter. |
code_callers |
Returns every call site that invokes a named function or method, with file and line. |
code_context |
Full source of a symbol plus its direct callees. Validates freshness against the index. |
On every session startup, free-code checks whether any indexed source files
(.ts / .js / .py / .java and friends)
have been modified since the last index run. If they have, it displays a warning
and suggests running code_index before using the other tools.
/codeGraph-index once after cloning a repo, then /codeGraph-index --force
after large refactors. Day-to-day incremental updates happen automatically.
Add any document as permanent project context. Vector search, no cloud required.
The RAG (Retrieval-Augmented Generation) extension provides a local vector knowledge base served on port 8085. Index documentation, runbooks, architecture notes, or any text file. The agent retrieves the most relevant chunks automatically during a session.
The knowledge base is served by a small local server (default port 8085). Start it, then create and select a knowledge base:
# 1. Start the RAG server (keep it running)
free-code-rag # default http://localhost:8085
# 2. In a free-code session, create and select a knowledge base
/rag-kb create my-docs
/rag-kb use my-docs
# 3. Add documents
/rag addFile ./README.md
| Command | Description |
|---|---|
/rag addFile <path> | Index a single document |
/rag addGroup <folder> | Index all supported files in a folder |
/rag addGithubUrl <url> [subpath] | Clone a GitHub repo and index its files. Optionally target a subdirectory. Source is saved to sources.json for future refreshes. |
/rag search <query> | Query the knowledge base and inject as context |
/rag list | List all indexed documents |
/rag remove <file> | Remove a document from the index |
/rag refresh | Re-fetch and re-index all sources registered via addFile and addGithubUrl |
/rag schedule [daily|weekly] | Set up automatic recurring refresh (requires at least one GitHub source) |
/rag-kb create <name> | Create a named knowledge base |
/rag-kb use <name> | Switch the active knowledge base |
/rag-kb list | List all knowledge bases |
The agent controls a real browser. No Selenium. No mocks.
free-code ships with a built-in browser tool backed by Chrome DevTools Protocol (CDP). The agent can navigate pages, click, fill forms, take screenshots, and extract structured content — treating web UIs like any other tool.
| Command / tool | Description |
|---|---|
/browse [url] [goal] | Open a URL in the visible browser and describe the goal |
agent_browser tool | Full programmatic control: navigate, screenshot, interact |
/gemini ask <message> | Send a message to Gemini via browser CDP flow |
/gemini download <file> | Download a Gemini-generated artifact |
/gemini open [chat_id] | Open a Gemini conversation in the browser |
Connect any Model Context Protocol server and its tools appear automatically.
Model Context Protocol (MCP) is an open standard for connecting AI agents to external tools and services. free-code supports any MCP-compatible server: databases, APIs, design tools, monitoring dashboards, CI systems — if it speaks MCP, it works.
/mcp-import # guided import from a URL or file
# or edit directly:
~/.free-code/agent/mcp.json
After import, restart the session. The new tools appear in the agent's tool list automatically — no code changes required.
Audit sessions, approve risky actions, and control what the agent can reach — locally or in the cloud.
free-code is built for environments where an agent has real power over files, shells, and external systems. Security is not a single switch: it is a stack of visibility, policy, and user confirmation you can tune for your team.
Every session is persisted under ~/.free-code/. Export or share transcripts
for review, compliance, or handoff:
| Command | Use |
|---|---|
/export [file] | HTML, Markdown, or JSONL archive of the session |
/share | Upload as a private GitHub gist and get a link |
/session | Path, token usage, and cost for the active session |
The bundled Damage-Control extension enforces YAML rules before the agent
runs bash commands or touches sensitive paths. Dangerous patterns (for example
rm -rf / or piping curl into bash) can be
blocked or require an explicit confirmation dialog in real time — so
the user decides before a potentially harmful command runs.
damage-control-log entries# Toggle enforcement for the current session
/damage-control [on|off|toggle|status]
# Customize rules (copy the sample next to your extension, or edit the bundled file)
damage-control-rules.yaml
Sample rules ship with the agent (blocking ~/.ssh/, /etc/,
and common destructive bash idioms). Teams can extend the file for their own policies.
Before trusting what the agent can do, you need to see what is loaded on the machine:
/tools and /commands — active tools and slash commands for this session/reload — refresh extensions, skills, prompts, and context files after install changes~/.free-code/agent/mcp.json — MCP servers configured for the userThis makes it clear which external systems (Jira, GitHub, databases, etc.) the agent can reach through MCP, and which reusable skills shape its behavior.
Run entirely on a developer laptop with local or API-based models. When your organization requires it, use the same agent with cloud LLM providers (Anthropic, Vertex, OpenAI-compatible endpoints) or host sessions in managed environments — always with the same Damage-Control and MCP policies available in the CLI, plugin, and macOS app.
damage-control-rules.yaml, turn enforcement on with
/damage-control on, and export a test session with /export to
validate your audit workflow before rolling out to the team.
Delegate tasks to parallel agents from within a single session.
A subagent is a full agent session running alongside your main session. Spin up as many as you need. Each has its own context window, tool access, and conversation thread. Coordinate them to work on independent subtasks in parallel.
| Command | Description |
|---|---|
/sub <task> | Start a new subagent with a task description |
/subcont <n> <prompt> | Continue talking to subagent #n |
/subrm <n> | Remove subagent #n |
/subclear | Clear all subagent widgets |
Drop a file at the repo root and the agent picks it up automatically — no configuration needed.
On every session start, free-code walks the project directory and its parents looking for context files. Any file it finds is injected into the agent's system prompt, giving the agent standing instructions specific to that project.
Supported filenames (in discovery order):
| File | Typical use |
|---|---|
FREE_CODE.md | free-code-specific project guidance (architecture notes, agent workflow rules, file conventions) |
CLAUDE.md | Compatible with Claude Code projects — same file, picked up automatically |
AGENTS.md | Compatible with OpenAI Codex / other agent tooling that uses this convention |
npm run check, etc.)web-docs/ alongside docs/)CLAUDE.md for Claude Code or AGENTS.md
for another tool, free-code reads those files as-is. No migration needed.
Commit domain knowledge alongside your code. Share workflows with your team.
Skills are markdown files with YAML frontmatter. They inject instructions, context, and personality into the agent for a specific task. A skill can describe how to run your CI pipeline, how to write commit messages, or how to follow your team's code review guidelines.
---
name: code-review
description: Follow our team's code review conventions
---
When reviewing code, always check for...
Extensions are TypeScript modules that add new tools, slash commands,
and integrations. Extensions are auto-discovered from
~/.free-code/agent/extensions/ and loaded on every session start.
free-code install npm:@scope/package # from npm
free-code install git:github.com/org/pkg # from a git repo
free-code install https://example.com/pkg # from a URL
One agent, every model. Switch without changing your workflow.
free-code is model-agnostic. Configure as many providers as you need. Cycle your curated shortlist with a single key binding. Switch to a different model mid-session at any time.
Built-in providers (Anthropic, OpenAI, Google, and more) appear in /model
once you authenticate, and you can add any OpenAI-compatible endpoint or curate exactly
which models show — all from ~/.free-code/agent/models.json.
See the Models tab → for the full provider list and the
only whitelist.
/model — switch via commandSessions that survive context limits, restarts, and long pauses.
| Command / flag | Description |
|---|---|
/resume | Browse and pick a previous session |
/fork | Branch the current session into a new independent one |
/compact [instructions] | Summarize context to free up the context window |
/tree | Navigate session history as a branching tree; jump to any checkpoint |
/name <name> | Give the session a human-readable name |
/export [file] | Export to HTML, Markdown (.md), or JSONL |
/share | Upload as a private GitHub gist and get a link |
free-code -c | CLI: continue the most recent session |
free-code --fork <id> | CLI: fork a specific session |
free-code --no-session | CLI: ephemeral mode, nothing is saved |
Cada capacidad, explicada.
Índice estructural local de todo tu código base. Sin nube. Sin subida de archivos. Consultas en menos de un segundo.
El grafo de código indexa cada archivo TypeScript, JavaScript, Python y Java de tu
proyecto, construyendo un mapa consultable de símbolos (funciones, clases, métodos, interfaces,
tipos, enums) y las relaciones de llamada entre ellos. El resultado se almacena en
.code-graph/ en la raíz del proyecto — un conjunto de archivos JSON que el agente lee
en milisegundos.
parseArgs?" en 500 archivos al instante.| Herramienta | Qué hace |
|---|---|
code_index |
Construye o actualiza incrementalmente el índice. Se ejecuta automáticamente cuando está desactualizado. |
code_symbols |
Búsqueda de subcadena sin distinción entre mayúsculas y minúsculas por nombre o nombre calificado, con filtro opcional por tipo. |
code_callers |
Devuelve cada punto de llamada que invoca una función o método específico, con archivo y línea. |
code_context |
Código fuente completo de un símbolo más sus llamadas directas. Valida la vigencia contra el índice. |
En cada inicio de sesión, free-code comprueba si algún archivo fuente indexado
(.ts / .js / .py / .java y similares)
se ha modificado desde la última ejecución del índice. Si es así, muestra una advertencia
y sugiere ejecutar code_index antes de usar las demás herramientas.
/codeGraph-index una vez después de clonar un repositorio, y luego /codeGraph-index --force
tras refactorizaciones grandes. Las actualizaciones incrementales del día a día ocurren automáticamente.
Añade cualquier documento como contexto permanente del proyecto. Búsqueda vectorial, sin necesidad de nube.
La extensión RAG (Retrieval-Augmented Generation) provee una base de conocimiento vectorial local servida en el puerto 8085. Indexa documentación, runbooks, notas de arquitectura o cualquier archivo de texto. El agente recupera automáticamente los fragmentos más relevantes durante una sesión.
La base de conocimiento es servida por un pequeño servidor local (puerto predeterminado 8085). Inícialo y luego crea y selecciona una base de conocimiento:
# 1. Start the RAG server (keep it running)
free-code-rag # default http://localhost:8085
# 2. In a free-code session, create and select a knowledge base
/rag-kb create my-docs
/rag-kb use my-docs
# 3. Add documents
/rag addFile ./README.md
| Comando | Descripción |
|---|---|
/rag addFile <path> | Indexa un solo documento |
/rag addGroup <folder> | Indexa todos los archivos compatibles de una carpeta |
/rag addGithubUrl <url> [subpath] | Clona un repositorio de GitHub e indexa sus archivos. Opcionalmente apunta a un subdirectorio. La fuente se guarda en sources.json para futuras actualizaciones. |
/rag search <query> | Consulta la base de conocimiento e inyecta el resultado como contexto |
/rag list | Lista todos los documentos indexados |
/rag remove <file> | Elimina un documento del índice |
/rag refresh | Vuelve a obtener y reindexar todas las fuentes registradas mediante addFile y addGithubUrl |
/rag schedule [daily|weekly] | Configura una actualización recurrente automática (requiere al menos una fuente de GitHub) |
/rag-kb create <name> | Crea una base de conocimiento con nombre |
/rag-kb use <name> | Cambia la base de conocimiento activa |
/rag-kb list | Lista todas las bases de conocimiento |
El agente controla un navegador real. Sin Selenium. Sin simulaciones.
free-code incluye una herramienta de navegador integrada respaldada por el protocolo Chrome DevTools (CDP). El agente puede navegar páginas, hacer clic, rellenar formularios, tomar capturas de pantalla y extraer contenido estructurado — tratando las interfaces web como cualquier otra herramienta.
| Comando / herramienta | Descripción |
|---|---|
/browse [url] [goal] | Abre una URL en el navegador visible y describe el objetivo |
Herramienta agent_browser | Control programático completo: navegar, capturar pantalla, interactuar |
/gemini ask <message> | Envía un mensaje a Gemini mediante el flujo CDP del navegador |
/gemini download <file> | Descarga un artefacto generado por Gemini |
/gemini open [chat_id] | Abre una conversación de Gemini en el navegador |
Conecta cualquier servidor Model Context Protocol y sus herramientas aparecen automáticamente.
Model Context Protocol (MCP) es un estándar abierto para conectar agentes de IA a herramientas y servicios externos. free-code es compatible con cualquier servidor MCP: bases de datos, APIs, herramientas de diseño, paneles de monitoreo, sistemas de CI — si habla MCP, funciona.
/mcp-import # guided import from a URL or file
# or edit directly:
~/.free-code/agent/mcp.json
Después de importar, reinicia la sesión. Las nuevas herramientas aparecen automáticamente en la lista de herramientas del agente — no se requieren cambios de código.
Audita sesiones, aprueba acciones riesgosas y controla lo que el agente puede alcanzar — de forma local o en la nube.
free-code está construido para entornos donde un agente tiene poder real sobre archivos, shells y sistemas externos. La seguridad no es un único interruptor: es una pila de visibilidad, políticas y confirmación del usuario que puedes ajustar para tu equipo.
Cada sesión se persiste en ~/.free-code/. Exporta o comparte las transcripciones
para revisión, cumplimiento o traspaso:
| Comando | Uso |
|---|---|
/export [file] | Archivo HTML, Markdown o JSONL de la sesión |
/share | Sube un gist privado de GitHub y obtén un enlace |
/session | Ruta, uso de tokens y costo de la sesión activa |
La extensión integrada Damage-Control aplica reglas YAML antes de que el agente
ejecute comandos bash o toque rutas sensibles. Patrones peligrosos (por ejemplo
rm -rf / o canalizar curl hacia bash) pueden ser
bloqueados o requerir un diálogo de confirmación explícito en tiempo real — de modo que
el usuario decida antes de que se ejecute un comando potencialmente dañino.
damage-control-log# Toggle enforcement for the current session
/damage-control [on|off|toggle|status]
# Customize rules (copy the sample next to your extension, or edit the bundled file)
damage-control-rules.yaml
El agente incluye reglas de muestra (bloqueando ~/.ssh/, /etc/,
y modismos de bash destructivos comunes). Los equipos pueden ampliar el archivo con sus propias políticas.
Antes de confiar en lo que el agente puede hacer, necesitas ver qué está cargado en la máquina:
/tools y /commands — herramientas activas y comandos slash para esta sesión/reload — refresca extensiones, skills, prompts y archivos de contexto tras cambios de instalación~/.free-code/agent/mcp.json — servidores MCP configurados para el usuarioEsto deja claro qué sistemas externos (Jira, GitHub, bases de datos, etc.) puede alcanzar el agente a través de MCP, y qué skills reutilizables moldean su comportamiento.
Ejecuta todo en una laptop de desarrollo con modelos locales o basados en API. Cuando tu organización lo requiera, usa el mismo agente con proveedores de LLM en la nube (Anthropic, Vertex, endpoints compatibles con OpenAI) o aloja sesiones en entornos administrados — siempre con las mismas políticas de Damage-Control y MCP disponibles en la CLI, el plugin y la app de macOS.
damage-control-rules.yaml incluido, activa la aplicación con
/damage-control on, y exporta una sesión de prueba con /export para
validar tu flujo de auditoría antes de implementarlo en el equipo.
Delega tareas a agentes en paralelo desde dentro de una sola sesión.
Un subagente es una sesión de agente completa que se ejecuta junto a tu sesión principal. Crea tantos como necesites. Cada uno tiene su propia ventana de contexto, acceso a herramientas y hilo de conversación. Coordínalos para que trabajen en subtareas independientes en paralelo.
| Comando | Descripción |
|---|---|
/sub <task> | Inicia un nuevo subagente con una descripción de la tarea |
/subcont <n> <prompt> | Continúa hablando con el subagente #n |
/subrm <n> | Elimina el subagente #n |
/subclear | Borra todos los widgets de subagentes |
Coloca un archivo en la raíz del repositorio y el agente lo detecta automáticamente — sin configuración necesaria.
En cada inicio de sesión, free-code recorre el directorio del proyecto y sus directorios padre buscando archivos de contexto. Cualquier archivo que encuentre se inyecta en el prompt del sistema del agente, dándole instrucciones permanentes específicas para ese proyecto.
Nombres de archivo compatibles (en orden de descubrimiento):
| Archivo | Uso típico |
|---|---|
FREE_CODE.md | Guía de proyecto específica de free-code (notas de arquitectura, reglas de flujo de trabajo del agente, convenciones de archivos) |
CLAUDE.md | Compatible con proyectos de Claude Code — mismo archivo, detectado automáticamente |
AGENTS.md | Compatible con OpenAI Codex y otras herramientas de agentes que usan esta convención |
npm run check, etc.)web-docs/ junto con docs/)CLAUDE.md para Claude Code o AGENTS.md
para otra herramienta, free-code lee esos archivos tal cual. No se necesita migración.
Registra el conocimiento del dominio junto a tu código. Comparte flujos de trabajo con tu equipo.
Las skills son archivos markdown con frontmatter YAML. Inyectan instrucciones, contexto y personalidad en el agente para una tarea específica. Una skill puede describir cómo ejecutar tu pipeline de CI, cómo escribir mensajes de commit, o cómo seguir las pautas de revisión de código de tu equipo.
---
name: code-review
description: Follow our team's code review conventions
---
When reviewing code, always check for...
Las extensiones son módulos TypeScript que añaden nuevas herramientas, comandos slash
e integraciones. Las extensiones se descubren automáticamente desde
~/.free-code/agent/extensions/ y se cargan en cada inicio de sesión.
free-code install npm:@scope/package # from npm
free-code install git:github.com/org/pkg # from a git repo
free-code install https://example.com/pkg # from a URL
Un solo agente, todos los modelos. Cambia sin alterar tu flujo de trabajo.
free-code es agnóstico respecto al modelo. Configura tantos proveedores como necesites. Recorre tu lista curada con una sola combinación de teclas. Cambia a un modelo diferente en medio de la sesión en cualquier momento.
Los proveedores integrados (Anthropic, OpenAI, Google y más) aparecen en /model
una vez que te autenticas, y puedes añadir cualquier endpoint compatible con OpenAI o elegir exactamente
qué modelos se muestran — todo desde ~/.free-code/agent/models.json.
Consulta la pestaña de Modelos → para ver la lista completa de proveedores y la
lista blanca (only).
/model — cambia mediante comandoSesiones que sobreviven a los límites de contexto, reinicios y pausas largas.
| Comando / opción | Descripción |
|---|---|
/resume | Explora y elige una sesión anterior |
/fork | Bifurca la sesión actual en una nueva independiente |
/compact [instructions] | Resume el contexto para liberar espacio en la ventana de contexto |
/tree | Navega el historial de la sesión como un árbol ramificado; salta a cualquier punto de control |
/name <name> | Asigna a la sesión un nombre legible para humanos |
/export [file] | Exporta a HTML, Markdown (.md) o JSONL |
/share | Sube un gist privado de GitHub y obtén un enlace |
free-code -c | CLI: continúa la sesión más reciente |
free-code --fork <id> | CLI: bifurca una sesión específica |
free-code --no-session | CLI: modo efímero, no se guarda nada |