@cognautic.space/forge
v0.0.12
Published
Cognautic Forge - local-first AI co-worker CLI
Readme
Cognautic Forge (Node CLI Co-Worker)
Cognautic Forge is a local-first, interactive Node CLI agent with:
- Multi-provider LLM support (user API keys)
- Tool-calling agent loop with auto-followup
- Browser automation (Playwright Chromium / custom executable)
- File and command execution tools
- System control tools (mouse/keyboard/screenshot/OCR)
- Stdio MCP server support
- Google Workspace tools via Forge auth
- Persistent collaborative workspace (objective, tasks, artifacts, timeline, roles)
Install (npm)
Global install:
npm i -g @cognautic.space/forge
forgeRun without global install:
npx @cognautic.space/forgeLocal Development
bun install
bun run src/main.tsThis starts interactive mode.
Node path (no Bun runtime required):
npm install
npm run build:npm
node dist/main.jsBuild npm Package
npm run build:npm
npm packThis generates dist/main.js and an npm tarball for publishing/install testing.
Do not use bun build --compile for Forge distribution because runtime modules like Playwright must remain external npm dependencies.
Provider Support
- OpenAI
- NVIDIA NIM
- Anthropic
- OpenRouter
- Groq
- Cerebras
- Ollama
- Custom OpenAI-compatible endpoint
Model lists can be fetched from provider APIs and are used for command suggestions.
NVIDIA NIM
Forge supports NVIDIA NIM through the nim provider.
Setup in chat:
/provider nim
/apikey nim <YOUR_NVIDIA_NIM_API_KEY>
/models refresh
/model <nim-model-id>Setup with CLI commands:
forge provider set nim <nim-model-id>
forge provider key set nim <YOUR_NVIDIA_NIM_API_KEY>
forge provider models nimNotes:
- Default NIM endpoint used by Forge:
https://integrate.api.nvidia.com/v1/chat/completions - Model list source:
https://integrate.api.nvidia.com/v1/models
Interactive Slash Commands
General:
/help/exit/clear/status/config(guided setup)
Provider / model:
/providers/provider <openai|google|anthropic|openrouter|groq|cerebras|ollama|custom>/models/models refresh/model <model-id>/apikey <key>/apikey <provider> <key>/endpoint <url>(custom / ollama endpoint)
Runtime / environment:
/mode <safe|yolo>/yolo [on|off|toggle](shortcut:Ctrl+Y)/root <path>/browserpath </path/to/chrome-or-brave>/searchmode <safe|manual>/auth google/logout google
Co-worker workspace:
/objective <text>/objective show/task add <title>/task list [status]/task approve <taskId>/task start <taskId>/task review <taskId>/task complete <taskId>/task archive <taskId>/artifact add <taskId> <type> <ref>/artifact list/timeline/roles show/roles set <architect|planner|executor|reviewer|memory_manager> <owner>
Autocomplete / ghost suggestions:
- Commands
- Providers
- Model IDs (from fetched models)
- Task/role subcommands
Workspace Persistence
Forge persists two layers:
Global app state:
~/.config/cognautic-forge/state.json- provider/model/keys/projectRoot/browserPath/onboarding/searchMode/executionMode/autoContinue
Project cowork workspace:
<projectRoot>/.forge-data/cowork-workspace.json- objective, task list, roles, artifacts, timeline history
Task lifecycle is enforced:
proposed -> approved -> in_progress -> under_review -> completed -> archived
Allowed rework path:
under_review -> in_progress
Agent Behavior
The interactive AI turn uses a JSON tool-envelope protocol:
- Tool calls only, then
finish_responsefor final output - Auto-followup continuation until task completion or safety limit
- Workspace digest injected into model context each turn
- Structured coworker framing:
- Architect -> Planner -> Executor -> Reviewer -> Memory Manager
Implemented Tool Surface
Google Workspace:
google.gmail_list_emailsgoogle.gmail_read_emailgoogle.gmail_send_emailgoogle.gmail_create_draftgoogle.gmail_reply_emailgoogle.gmail_search_emailsgoogle.gmail_list_labelsgoogle.gmail_move_emailgoogle.calendar_list_eventsgoogle.calendar_create_eventgoogle.calendar_update_eventgoogle.calendar_delete_eventgoogle.calendar_get_eventgoogle.calendar_list_calendarsgoogle.calendar_find_free_slotsgoogle.drive_list_filesgoogle.drive_search_filesgoogle.drive_get_filegoogle.drive_upload_filegoogle.drive_create_foldergoogle.drive_delete_filegoogle.drive_move_filegoogle.drive_share_filegoogle.docs_creategoogle.docs_readgoogle.docs_append_textgoogle.docs_replace_textgoogle.sheets_creategoogle.sheets_read_rangegoogle.sheets_write_rangegoogle.sheets_append_rowgoogle.sheets_get_allgoogle.tasks_listgoogle.tasks_creategoogle.tasks_completegoogle.tasks_deletegoogle.tasks_list_tasklistsgoogle.contacts_searchgoogle.contacts_getgoogle.contacts_listgoogle.contacts_creategoogle.meet_create_meeting
Browser:
browser.launchbrowser.gotobrowser.search(Google)browser.read_dombrowser.scrollbrowser.extractbrowser.clickbrowser.evalbrowser.overlay_on/offbrowser.cursor_show/hide/move/click/type
System:
system.mouse_movesystem.mouse_clicksystem.keyboard_typesystem.screen_capturesystem.screen_ocr
Workspace / OS:
files.readfiles.writecommand.runsystem.execexec.runexec.directmcp.<server>.<tool>for configured stdio MCP serversplans.update
Finalization:
finish_response
Non-Interactive CLI Commands
State / provider:
forge state show
forge state set-root /path/to/project
forge state set-browser /usr/sbin/brave
forge provider show
forge provider set openai gpt-4.1-mini
forge provider key set openai sk-...
forge provider models openai
forge mcp list
forge mcp add filesystem npx -y @modelcontextprotocol/server-filesystem .
forge mcp remove filesystem
forge auth google
forge logout googleGoogle Login
Users do not need to add Google client id or Google client secret locally. Forge uses the deployed Convex backend for Google OAuth, token exchange, logout, and refresh.
Login:
forge auth googleOr inside chat:
/auth googleLogout:
forge logout googleOr inside chat:
/logout googleAfter login, Google tools are available directly in chat and agent turns for:
- Gmail
- Calendar
- Drive
- Docs
- Sheets
- Tasks
- Contacts
- Meet
MCP Servers
Forge supports stdio MCP servers configured in app state.
Examples:
forge mcp add filesystem npx -y @modelcontextprotocol/server-filesystem .
forge mcp listConfigured MCP tools are exposed to the agent as mcp.<server>.<tool>.
Chat:
forge chat "summarize this repository"Workspace:
forge workspace show
forge workspace objective "Ship feature X with tests"
forge workspace task add "Draft implementation plan"
forge workspace task list
forge workspace task set <taskId> approvedNotes
- Forge is local-first; you provide your own provider keys.
- Browser automation uses Playwright persistent context.
- Custom browser executable is supported via
/browserpathorstate set-browser. - Execution modes:
safe: every tool action requires user confirmation.yolo: all tool actions auto-execute with no confirmation prompts.
- The agent is instructed to use Google for search/research workflows.
- The agent prefers no-browser web tools first (
web.search,web.read) and uses browser tools as fallback. - Search safety modes:
safe: attempts Google search, detects captcha/challenge pages, then falls back to user-assisted flow.manual: opens Google and asks user to perform search/clicks manually, then agent reads DOM and summarizes.
