jd init
Setup and install CLI dependencies (optional first-time setup)
jd init [--skip-deps] [--skip-completions]
-
Helps set up the jd CLI by installing required tools like
GitHub CLI, devcontainer CLI, and configuring shell
completions.
-
--skip-deps
Skip dependency installation checks
-
--skip-completions
Skip shell completion setup
jd dev
Apply devcontainer templates to projects
jd dev [template-id] [--force] [--list]
-
template-id
Custom template ID (default:
ghcr.io/devcontainers/templates/nodejs-postgres)
-
--force
Force overwrite existing .devcontainer
-
--list
List available templates
jd pr
Create GitHub pull requests with AI-generated title and description
jd pr [--draft] [--auto-draft] [--base BRANCH] [--web] [--title TITLE] [--body BODY]
[--no-claude] [--model MODEL] [--reviewers USERS] [--labels LABELS]
-
--draft
Create as draft PR
-
--auto-draft
Auto-detect draft from branch name (wip/draft prefixes)
-
--base BRANCH
Target base branch (default: main/master)
-
--web
Open PR in browser after creation
-
--title TITLE
Custom PR title (AI generates description if not provided)
-
--body BODY
Custom PR body/description
-
--no-claude
Disable Claude AI generation (use fallback)
-
--model MODEL
Claude model: sonnet (default), haiku, or opus
-
--reviewers USERS
Comma-separated list of reviewers
-
--labels LABELS
Comma-separated list of labels
jd merge
Merge GitHub pull request and cleanup branches with worktree support (squash by default)
jd merge [--branch BRANCH] [--type TYPE] [--clean]
-
--branch BRANCH
Branch name to find PR for (defaults to current branch)
-
--type TYPE
Merge type: squash (default), merge, or rebase
-
--clean
Only cleanup old temporary branches (no merge)
jd repo
Initialize GitHub repository and configure secrets from 1Password
jd repo [--npm] [--extensions] [--claude] [--apple] [--suffix SUFFIX] [--rules] [--public]
[--description DESC] [--no-init]
-
--npm
Add NPM_TOKEN secret
-
--extensions
Add VSCE_PAT and OVSX_PAT secrets for extension
publishing
-
--claude
Add CLAUDE_CODE_OAUTH_TOKEN secret
-
--apple
Add Apple App Store, Fastlane, and GitHub PAT secrets
-
--suffix SUFFIX
Add suffix to APPSTORE_* and MATCH_* secrets (use with --apple)
-
--rules
Apply branch protection rulesets for main and dev branches
-
--public
Create public repository (default: private)
-
--description DESC
Repository description
-
--no-init
Use existing git repo (skip git init)
jd npm
Setup npm package with OIDC trusted publishing
jd npm
-
Publishes placeholder package (0.0.0-placeholder) and guides
through OIDC configuration on npmjs.com
jd update
Self-update to latest version
jd update [--check] [--force]
-
--check
Check for updates without installing
-
--force
Force reinstall current version
jd venv
Create and manage Python virtual environments
jd venv
-
Creates ./venv if missing, activates it, and auto-installs
from requirements.txt
jd requirements
Generate requirements.txt from active virtual environment
jd requirements
-
Uses pip freeze to capture all installed packages
jd claude-github
Update Claude Code OAuth token across all GitHub repositories and
1Password
jd claude-github
-
Runs 'claude setup-token', prompts for the OAuth token,
updates 1Password vault, and loops through all GitHub
repositories to update the CLAUDE_CODE_OAUTH_TOKEN secret
where it exists
-
Prerequisites: GitHub CLI (gh), 1Password CLI (op), Claude
Code CLI (claude)