Getting Started
Install
Install Kepler globally via npm:
npm i -g @axplusb/keplerYou can also install a specific version:
npm i -g @axplusb/kepler@latestOr run without installing using npx:
npx @axplusb/kepler@latestSign In
Run Kepler in any project directory:
keplerOn first launch, Kepler 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:
kepler 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 Kepler REPL prompt:
> _Try a simple task:
> what does this project do?Kepler will:
- Explore the project structure
- Read key configuration files
- Summarize what it found
For a code change, try:
> add a .gitignore fileKepler plans the change, shows you a diff, applies it, and reports the result.
The .kepler/ Folder
Run kepler init in a project to scaffold the project-local .kepler/
folder:
kepler initThe canonical project memory file is .kepler/KEPLER.md. Use it for durable
project facts that Kepler should read on every turn, such as the stack, test
command, lint command, key directories, code style, and critical rules.
kepler init creates these hand-editable files:
| Path | Purpose |
|---|---|
.kepler/KEPLER.md | Canonical project memory loaded into Kepler context |
.kepler/settings.json | Project settings, environment entries, permissions, and hook configuration |
.kepler/config.json | Project policy for context loading, planning, tasks, HITL, and command defaults |
.kepler/project.md | Additional durable project notes |
.kepler/style.md | Code style and communication conventions |
.kepler/hitl.md | Project-specific human approval guidance |
.kepler/tasks/ | Markdown task board files: backlog.md, active.md, blocked.md, and done.md |
.kepler/skills/ | Project-local skill bundles |
.kepler/commands/ | Project-local command templates as they become available |
.kepler/trust.json | Project trust rules for approvals |
Kepler may also write runtime files such as .kepler/approvals.log,
.kepler/sessions/, and .kepler/reports/. The scaffolded .kepler/.gitignore
keeps local-only runtime files out of source control.
Resuming a Session
Continue where you left off:
# Resume the most recent session
kepler --resume
# Resume a specific session
kepler --resume session_abc123Kepler 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 Kepler’s behavior
- 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