Getting Started
Install
Install Bahulam globally via npm:
npm i -g @bahulam/codeYou can also install a specific version:
npm i -g @bahulam/code@latestOr run without installing using npx:
npx @bahulam/code@latestSign In
Run Bahulam in any project directory:
bahulamOn first launch, Bahulam opens a browser window and redirects you to bahulam.ai
to authenticate. If you’re in a headless environment, it will print a URL you can
open manually.
→ Opening browser for authentication...
→ If the browser didn't open, visit:
https://bahulam.ai/auth/cli?code=...You can also sign in explicitly at any time:
bahulam loginOnce authenticated, your session is cached locally and you won’t need to sign in again on that machine.
Your First Turn
After signing in, you’ll see the Bahulam REPL prompt:
> _Try a simple task:
> what does this project do?Bahulam will:
- Explore the project structure
- Read key configuration files
- Summarize what it found
For a code change, try:
> add a .gitignore fileBahulam plans the change, shows you a diff, applies it, and reports the result.
Local Browser Workspace
For a Cloud IDE-style browser UI over local files, run:
bahulam workspace open .This starts a localhost-only service on your machine and opens a browser with a file tree, tabs, previews, chat, trace, uploads, and approvals. The agent still uses your CLI authentication, while file reads, edits, previews, and document conversion happen against the local folder you granted.
Open a document folder or a specific file the same way:
bahulam workspace open ~/Documents/reports
bahulam workspace open ~/Documents/report.docx --port 8787See Local Browser Workspace for session resume, supported viewers, Office conversion, and troubleshooting.
The .bahulam/ Folder
Run bahulam init in a project to scaffold the project-local .bahulam/
folder:
bahulam initThe project memory file is .bahulam/BAHULAM.md. Use it for durable project
facts that Bahulam should read on every turn, such
as the stack, test command, lint command, key directories, code style, and
critical rules.
bahulam init creates these hand-editable files:
| Path | Purpose |
|---|---|
.bahulam/BAHULAM.md | Bahulam project memory loaded into context |
.bahulam/settings.json | Project settings, environment entries, permissions, and hook configuration |
.bahulam/config.json | Project policy for context loading, planning, tasks, HITL, and command defaults |
.bahulam/project.md | Additional durable project notes |
.bahulam/style.md | Code style and communication conventions |
.bahulam/hitl.md | Project-specific human approval guidance |
.bahulam/tasks/ | Markdown task board files: backlog.md, active.md, blocked.md, and done.md |
.bahulam/agents/ | Project-local sub-agent YAML definitions |
.bahulam/skills/ | Project-local skill bundles |
.bahulam/commands/ | Project-local command templates as they become available |
.bahulam/trust.json | Project trust rules for approvals |
Bahulam may also write runtime files such as .bahulam/approvals.log,
.bahulam/sessions/, and .bahulam/reports/. The scaffolded .bahulam/.gitignore
keeps local-only runtime files out of source control.
Resuming a Session
Continue where you left off:
# Resume the most recent session
bahulam --resume
# Resume a specific session
bahulam --resume session_abc123Bahulam automatically selects the best context strategy (full transcript, summary, or summary + recent messages) based on the model’s context window.
Next Steps
- Learn the slash commands to control Bahulam’s behavior
- Open the local browser workspace for local files and documents
- Create agents and sub-agents for repeated specialist work
- Read about choosing the right model for your task
- Understand approvals and safety for safe code generation
- Install and use skills for reusable expertise
- Explore automation and CI/CD for non-interactive use
- See tips for getting good results