BOB Dev
BOB Dev is an AI-powered developer workflow CLI that bridges task requirements, your codebase, and Claude Code.
Given a task ID (Jira or GitLab) it will:
- Fetch the task title, description, and fix versions from Jira or GitLab.
- Read your project's Markdown documentation to build rich LLM context.
- Detect the project framework (Django, React, FastAPI, Spring Boot, and more).
- Generate a precise Claude Code prompt (via GROK or OpenAI), including framework context, implementation steps, and test scenarios.
- Analyse the prompt for ambiguities and security concerns.
- Select (optionally) a Claude Code agent to run the implementation.
- Execute the prompt with the Claude Code CLI (optional — you can review and edit first).
Requirements
- Python 3.11+
- Claude Code CLI installed and available on
$PATHasclaude - A Jira Cloud account with an API token or a GitLab account with a personal access token
- An xAI / GROK or OpenAI API key
Installation
pip install bob-dev
Configuration
Run the interactive setup wizard the first time:
bob-dev --configure
This prompts for your LLM backend, API key, task manager (Jira or GitLab), and their credentials. All values are saved to ~/.bob_dev/.env.
Environment variables
Required
| Variable | Options | Description |
|---|---|---|
AGENT |
GROK (default) / OPENAI |
LLM backend |
GROK_API_KEY |
— | xAI / GROK secret key (required if AGENT=GROK) |
OPENAI_API_KEY |
— | OpenAI secret key (required if AGENT=OPENAI) |
TASK_MANAGER |
JIRA (default) / GITLAB |
Task management system |
Jira (TASK_MANAGER=JIRA)
| Variable | Description |
|---|---|
JIRA_URL |
e.g. https://your-org.atlassian.net |
JIRA_EMAIL |
Atlassian account e-mail |
JIRA_API_TOKEN |
Atlassian API token |
GitLab (TASK_MANAGER=GITLAB)
| Variable | Description |
|---|---|
GITLAB_URL |
e.g. https://gitlab.com |
GITLAB_API_TOKEN |
GitLab personal access token |
Optional
| Variable | Default | Description |
|---|---|---|
MAX_FILES |
30 |
Max number of Markdown files read for project context |
MAX_CHARS |
40000 |
Max characters of Markdown content fed to the LLM |
MAX_SUMMARY_WORDS |
2000 |
Max words when auto-summarising the project README |
Usage
# Jira
bob-dev --task_id PROJ-123 --path /path/to/your/repo
# GitLab (issue IID)
bob-dev --task_id 42 --path /path/to/your/repo
| Flag | Description |
|---|---|
--task_id |
Task ID — Jira key (PROJ-123) or GitLab issue IID (42) |
--path |
Path to the target repository (default: current directory) |
--agent |
LLM backend: GROK or OPENAI (overrides the AGENT env var) |
--configure |
Run the interactive configuration wizard |
Project structure
src/bob_dev/
├── cli.py # Entry point & main workflow orchestration
├── settings.py # Environment variable loading and validation
├── services/
│ ├── terminal.py # ANSI colours, print helpers, spinner animation
│ ├── jira.py # Jira API connection + ADF-to-text parsing
│ ├── gitlab.py # GitLab API connection via python-gitlab
│ ├── claude.py # Claude Code CLI utilities (agent listing)
│ ├── llm.py # LLM client, model selection, prompt generation
│ ├── project.py # Markdown context collection + framework detection
│ └── config.py # .env management + credential validation
└── constants/
└── frameworks.py # Known framework names used for auto-detection
tests/
├── test_cli.py
├── test_config.py
├── test_jira.py
├── test_llm.py
├── test_project.py
└── test_terminal.py
Running tests
pytest tests/
Colour conventions
| Colour | Meaning |
|---|---|
| Red | Errors that stop execution |
| Green | Success messages |
| Yellow | Warnings |
| Plain | Informational / default output |
License
MIT
Metadata
Release files for bob-dev 0.4.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bob_dev-0.4.4.tar.gz | 30.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bob_dev-0.4.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 56.4 kB
Release files / bob_dev-0.4.4.tar.gz
| Download URL | bob_dev-0.4.4.tar.gz |
|---|---|
| Size | 30.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
50c7c27244c65ee7c307fce4a58a3511ac2e268a626e0ed2b85ade3195fe2c55
|
|
BLAKE2b-256 checksum How to use checksums |
be17baf324332c8489142c24c7bda91dc1bce937c5d6832ec223ce6eeeded465
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.
Transparency logRelease files / bob_dev-0.4.4-py3-none-any.whl
| Download URL | bob_dev-0.4.4-py3-none-any.whl |
|---|---|
| Size | 26.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bca737d15d6e56c18c417262854146f18072e560da97dcea6f605a15d5298e17
|
|
BLAKE2b-256 checksum How to use checksums |
445cec42b279d2ec4cbfbbf5f68762de21e2772f9608ffa0b22bc8ab48b67cae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.
Transparency log