Overview
Jean deeply integrates with GitHub to streamline issue-driven development. You can browse issues, create worktrees from issues, open PRs, track CI status, and investigate workflow failures—all without leaving Jean. Prerequisites:- Repository must have a GitHub remote
- GitHub CLI (
gh) must be installed and authenticated - (Optional)
githubMCP server for enhanced API access
Setting Up GitHub Integration
Install GitHub CLI
Authenticate
gh auth login and follow the prompts to authenticate with GitHub.Choose:- GitHub.com (or GitHub Enterprise if applicable)
- HTTPS protocol
- Login with web browser
gh auth status.(Optional) Enable GitHub MCP Server
~/.claude.json:repo(full control of private repositories)read:org(read org and team membership)
Verify Integration
Cmd+M and navigate to the Issues or Pull Requests tab. If you see your repository’s issues/PRs, integration is working.If you see an error, check:gh auth statusshows you’re logged in- The current project has a GitHub remote (
git remote -v) - You have access to the repository
Issue-Driven Development Workflow
This is the recommended workflow for feature development and bug fixes.Browse Issues
Cmd+M → Issues tab to see all open issues in your repository.You can:- Filter by label, milestone, or assignee
- Search by title or number
- Sort by created date, updated date, or comment count
Select an Issue
- Title and number
- Full description
- All comments in chronological order
- Labels (bug, enhancement, etc.)
- Assignees and milestone
Create Worktree from Issue
- Generate a branch name from the issue title (e.g.,
fix-login-timeout-#123) - Create a worktree from the default branch
- Save issue context to
.github/issues/<number>.json - Start a chat session with a prompt to investigate the issue
- Link the issue number to the worktree (for later PR creation)
Work on the Issue
- Analyze the issue description and comments
- Explore the codebase to find relevant code
- Identify the root cause (or where to implement the feature)
- Propose a solution with specific file changes
Implement the Fix
- Make code changes
- Run tests
- Verify the fix works
Cmd+G (git diff viewer).Commit Changes
Cmd+Shift+C to open the commit dialog.Click Generate with AI to create a commit message. The message will reference the issue number automatically (e.g., “Fix login timeout (#123)”).Commit and push the changes.Create Pull Request
Cmd+M → Open PR. Jean will:- Analyze commits and diff
- Generate a PR title and description
- Include “Fixes #123” in the PR body (to auto-close the issue on merge)
- Create the PR on GitHub
- Link the PR to your worktree
Address Review Feedback
- Press
Cmd+M→ Investigate PR - Jean will load the PR context (including review comments)
- Claude will summarize feedback and suggest fixes
- Implement changes, commit, and push
- PR updates automatically on GitHub
Merge and Clean Up
- Merge the PR on GitHub (or use
Cmd+M→ Merge for local merge) - Jean will auto-archive the worktree (if enabled in Preferences)
- The issue closes automatically (due to “Fixes #123” in PR body)
Pull Request Review Workflow
Jean helps you review PRs from others (or your own PRs from a different perspective).Browse Pull Requests
Cmd+M → Pull Requests tab to see all open PRs.Filter by:- Status (draft, open, approved, changes requested)
- Author
- Base branch
- CI check status (passing, failing, pending)
Check Out PR
- Check out the PR branch (if not already)
- Create a worktree (if you don’t have one for this branch)
- Save PR context to
.github/pulls/<number>.json - Start a chat session with a prompt to review the PR
AI-Assisted Review
- Analyze what the PR is trying to accomplish
- Review the code changes
- Check for security issues (see Security Review Checklist)
- Summarize reviewer feedback (if any)
- Identify action items to get the PR merged
Run Code Review
Cmd+M → Review Code to get structured feedback.The review panel shows:- Summary: Overview of changes
- Findings: Issues by severity (critical, warning, suggestion, praise)
- Approval Status: Approved, Changes Requested, or Needs Discussion
Test the Changes
jean.json run script (Cmd+R) to start the dev server or tests.Manually test the feature or bug fix.Leave Review Comments
- Ask Claude to explain specific code sections
- Request alternative implementations
- Add review comments on GitHub (via web UI or
gh pr review)
Approve or Request Changes
Security Review Checklist
When reviewing PRs (especially from external contributors), Jean’s PR investigation includes a security checklist:Security Checklist Details
Security Checklist Details
eval(),Function(), or other code execution- Base64-encoded strings or hex-encoded data
- Hidden network calls or data exfiltration
- New dependencies with few downloads or recent creation
- Version changes to compromised packages (check npm advisories)
- Typosquatting (lodash vs. lodahs)
- API keys, tokens, passwords in code
- Credentials in config files (not .env.example)
- Private keys or certificates
- Reverse shells or remote access code
- Debug endpoints left in production code
- Disabled authentication checks
- SQL injection (unescaped user input in queries)
- Command injection (user input in shell commands)
- XSS (unescaped user input in HTML/JS)
- Path traversal (user input in file paths)
- Removed authentication or authorization checks
- Broadened permissions or access levels
- Disabled input validation or sanitization
- File system writes to unexpected locations
- Environment variable access for sensitive data
- Process spawning with user-controlled arguments
CI/CD Integration
Jean tracks GitHub Actions status and helps debug failures.View CI Status
- Green checkmark: All checks passing
- Red X: One or more checks failing
- Yellow dot: Checks pending/running
- Gray dash: No checks configured
Open GitHub Dashboard
Cmd+Shift+D to open the GitHub Dashboard.This shows:- All open PRs across all projects
- CI check status for each PR
- Security alerts (Dependabot, advisories)
- Recent workflow runs
Investigate Failed Workflows
- Fetch workflow logs via
gh run view --log-failed - Send logs to Claude with a prompt to analyze the failure
- Claude will:
- Identify the failure cause
- Determine if it’s code, config, or a flaky test
- Propose a fix
Fix and Re-run
Release Notes Generation
Jean can generate release notes by analyzing commits since the last release.Open Magic Modal
Cmd+M → Release Notes.Select Previous Release
gh release list).Select the previous release to use as the starting point (e.g., v1.2.0).Generate Notes
- Run
git log <previous-tag>..HEADto get all commits - Send commits to a model (Haiku by default)
- Generate release notes with:
- Features: New functionality
- Fixes: Bug fixes
- Improvements: Enhancements to existing features
- Breaking Changes: API changes requiring user action
Create Release
Dependabot and Security Alerts
Jean helps you investigate and fix security vulnerabilities.View Security Alerts
Cmd+Shift+D to open the GitHub Dashboard.The Security tab shows:- Dependabot alerts (vulnerable dependencies)
- Repository security advisories
- Alert severity (critical, high, medium, low)
Investigate Alert
- Load alert details (CVE, affected versions, severity)
- Search the codebase for usage of the vulnerable package
- Assess actual impact (is the vulnerable function used?)
- Evaluate remediation options (patched version, workarounds, etc.)
- Propose a fix
Apply Fix
- Upgrade dependency:
npm update <package>orbun update <package> - Remove dependency: If not needed, uninstall it
- Apply workaround: Disable vulnerable feature or add input validation
Commit and Close Alert
Common Pitfalls
Best Practices
Next Steps
- Using Magic Commands - Deep dive into PR and issue automation
- Managing Sessions - Organize work within issue-driven worktrees
- Customization - Customize magic prompts for your team’s workflow