bortexcode
v1.8.0
Published
Bortex Code CLI - AI coding assistant powered by bortex.site
Maintainers
Readme
Bortex Code CLI
Terminal AI coding assistant powered by https://bortex.site.
Install
After publishing to npm:
npm install -g bortexcodeFallback installer:
curl -fsSL https://bortex.site/install.sh | bashWindows PowerShell:
irm https://bortex.site/install.ps1 | iexDirect tarball fallback:
npm install -g https://bortex.site/bortex-code/bortex-code-latest.tgzLogin
bortexcode --loginOr provide an API key:
bortexcode --api-key <YOUR_API_KEY>
export BORTEX_API_KEY=<YOUR_API_KEY>Usage
bortexcode
bortexcode "explain this function"
bortexcode --agent "refactor src/utils.js"
bortexcode exec "summarize this repository"
bortexcode exec --json "review current changes"
bortexcode exec --output-schema schema.json -o result.json "extract metadata"
bortexcode resume --last
bortexcode resume <transcript-id> "continue the task"
bortexcode remote-control
bortexcode remote-control --cloud
bortexcode --remote-controlREPL Commands
Press / at the beginning of the prompt to open the command menu.
Press Tab to complete slash commands.
Common commands:
/agent on|off
/status
/commands
/help
/llm-config show
/llm-config sync
/remote-control [name]
/remote-control --lan
/remote-control --cloud
/rc
/mcp list
/mcp add context7 -- npx -y @upstash/context7-mcp
/mcp tools context7
/mcp call context7 resolve-library-id '{"libraryName":"react"}'
/skills list
/skills new deploy-staging
/plugins list
/plugins init team-workflows
/permissions show
/browser setup
/hooks list
/hooks init
/hooks review
/subagents run --worktree --agents reviewer,security,tester review current changes
/transcript path
/transcript export
/resume last
/fork experiment-auth
/github-action init
/exitCodex/Claude-style workflow features
Bortex Code 1.8 adds local workflow primitives commonly expected from modern coding CLIs:
- custom slash commands from
.bortex/commands/*.md - reusable skills from
.bortex/skills/<name>/SKILL.md - non-interactive
bortexcode execwith JSONL events, stdin piping, output files, and JSON schema prompting - MCP server configuration plus basic stdio/HTTP runtime through
/mcp toolsand/mcp call - lifecycle hooks through
.bortex/hooks.json, including nested hook groups and hook review/trust state - plugin bundles from
.bortex/plugins/<name>with skills, commands, MCP servers, and hooks - permission profiles through
/permissions - Playwright MCP browser setup through
/browser setup - JSONL transcripts in
.bortex/transcripts - resume context with
bortexcode resumeor/resume - parallel analysis with
/subagents run, optionally isolated with--worktree - isolated git worktrees with
/fork - GitHub comment workflow scaffold with
/github-action init
Project-local configuration lives in .bortex/. User-level configuration lives
in the Bortex Code application data directory.
Remote Control
Remote Control exposes the current Bortex Code process through a token-protected
browser UI. By default it binds to 127.0.0.1.
bortexcode remote-control --name "My Project"
bortexcode --remote-control "My Project"For phone access on the same LAN:
bortexcode remote-control --remote-lanFor remote access without opening an inbound port, use the bortex.site relay:
bortexcode remote-control --cloud --name "My Project"
bortexcode --remote-cloud "My Project"
bortexcode remote-control --cloud --remote-permission fullCloud Remote Control defaults to balanced permissions. It allows inspection,
status commands, and common test/lint/build shell commands while blocking
mutating commands such as file writes, patch apply, git stage/commit/discard,
and arbitrary shell mutations. Use --remote-permission read-only for
inspection-only sessions or --remote-permission full only for trusted sessions.
The browser UI includes Cancel and Revoke controls. Cancel requests termination of the running command. Revoke invalidates the tokenized URL and stops the server-mode cloud session.
Remote output streams live for shell commands and CLI output: stdout/stderr chunks appear in the browser while the command is still running, then the final result replaces the streaming buffer when the command completes.
Inside the REPL:
/remote-control My Project
/remote-control --lan
/remote-control --cloud
/remote-control --cloud --permission full
/remote-control stopOptions
-a, --agent Agent mode
--chat Chat mode (default)
-u, --url <url> Bortex server URL
--api-key <k> API key
--login Open browser login
-m, --model <name> Force a specific LLM model
--api-url <u> Custom LLM endpoint
--offline Local mode
--json Exec mode: emit JSONL events
--output-last-message <file>
Exec mode: write final message to file
--output-schema <file>
Exec mode: request final JSON matching schema
--ephemeral Exec mode: do not persist transcript events
--sandbox <profile>
Permission profile: read-only, workspace, full
--verbose Show routing details
--progress Show server progress events
--no-spinner Disable spinner
--icons Enable icon output
--check-update Check for updates now
--no-update-check
Disable startup update check
--remote-control, --rc [name]
Enable browser remote control
--remote-cloud, --cloud
Use bortex.site relay instead of opening a local port
--remote-relay <url>
Remote relay base URL
--remote-permission <mode>
Remote permissions: read-only, balanced, full
--remote-lan Bind remote control to 0.0.0.0 for LAN/mobile access
--remote-host <host>, --remote-port <port>
Remote control bind address
-v, --version Show version
-h, --help Show helpUpdates
Bortex Code checks for newer versions on startup. When an update is available, it asks before installing it globally with npm.
bortexcode --check-update
bortexcode --no-update-checkEnvironment
BORTEX_URL
BORTEX_API_KEY
BORTEX_CLI_ICONS=1
BORTEX_NO_UPDATE_CHECK=1
BORTEX_REMOTE_HOST
BORTEX_REMOTE_PORT
BORTEX_REMOTE_RELAY_URL
BORTEX_REMOTE_PERMISSION
BORTEX_PERMISSION_PROFILE
BORTEX_SANDBOX
BORTEX_HOOK_TRUST=1