Fixed
- Git Branching: Fixed issue where feature branches were always created from main/master instead of respecting the
--pr-target-branchparameter- Feature branches now correctly branch from the specified target branch (e.g.,
develop) - Ensures proper git history when creating PRs to non-main branches
- Updated
createFeatureBranchfunction to accept and use the base branch parameter
- Feature branches now correctly branch from the specified target branch (e.g.,
[1.0.0] - Initial Release
Added
- JIRA Task Processing: Comprehensive JIRA task fetching with complete context
- JIRA REST API v3 integration with comprehensive error handling
- Supports both rendered HTML and Atlassian Document Format content
- Fetches complete context including subtasks, parent tasks, epics, and linked issues
- Handles authentication edge cases and API token formats
- Batch Processing: Process multiple JIRA tasks sequentially with robust error handling
- Multiple task keys: Process multiple specific tasks
devintern PROJ-123 PROJ-124 PROJ-125 - JQL query support: Full JIRA Query Language support with complex conditions
--jql "project = PROJ AND status = 'To Do'" - Custom field queries: Support for custom fields like
cf[10016] <= 3 - Complex filtering: Status, priority, labels, assignee, and date-based filtering
- Error isolation: Failed tasks don’t stop processing of remaining tasks
- Progress tracking: Real-time progress updates with task indexing ([1/5], [2/5], etc.)
- Batch summary: Final report showing successful and failed tasks with error details
- Multiple task keys: Process multiple specific tasks
- Claude AI Integration: Automatic implementation using Claude Code
- Spawns Claude Code as subprocess with enhanced permissions (
-p --dangerously-skip-permissions) - Real-time output streaming to user while capturing for JIRA posting
- Detects completion status and max-turns errors
- Posts rich-text implementation summaries back to JIRA using Atlassian Document Format
- Clarity assessment prompts for feasibility checking
- Spawns Claude Code as subprocess with enhanced permissions (
- Pull Request Creation: Automatically create PRs on GitHub or Bitbucket after successful implementation
- Smart repository detection: Automatically detects GitHub/Bitbucket platform and workspace from git remote URL
- GitHub integration: Full GitHub API integration with personal access token authentication
- Bitbucket integration: Complete Bitbucket API integration with app password authentication
- Automatic workspace detection: No need to manually configure Bitbucket workspace
- Rich PR content: PR descriptions include Claude’s implementation details, JIRA task context, and acceptance criteria
- PR title format: Uses
[TASK-KEY] Task Summaryformat for consistency
- Git Automation: Seamless git workflow integration
- Creates feature branches with consistent naming:
feature/{task-key-lowercase} - Handles existing branch scenarios gracefully
- Automated commit messages include task context
- Main branch detection: Automatically switches to main/master branch before creating feature branches
- Integrates with Claude Code workflow for seamless development
- Creates feature branches with consistent naming:
- Dynamic File Management: Smart output file handling for batch processing
- Dynamic naming prevents file conflicts with pattern
{base-name}-{task-key-lowercase}.md - Separate files for each task enable parallel review
- Configurable output directory via
DEVINTERN_OUTPUT_DIRenvironment variable
- Dynamic naming prevents file conflicts with pattern
- Comprehensive CLI Interface: Full-featured command-line interface
--jqlfor JQL query-based batch processing--create-prto automatically create pull requests--pr-target-branchto specify target branch (default: main)--no-agentto skip Claude execution (formatting only)--no-gitto skip branch creation--skip-clarity-checkto bypass feasibility analysis--no-auto-committo skip automatic commits--claude-pathand--max-turnsfor Claude configuration-vfor verbose logging--env-filefor custom environment file path
- JIRA Status Automation: Automatic task status transition after successful PR creation
- Rich Text Processing: Advanced content format conversion
- Converts JIRA’s Atlassian Document Format to readable text
- Smart link detection for external resources
- HTML to Markdown conversion for Claude consumption
- Creates structured prompts with task context, related issues, and linked resources
- Comprehensive Environment Configuration:
- Multi-location
.envfile loading (current directory, home directory, installation directory) - Custom environment file path with
--env-file - Required:
JIRA_BASE_URL,JIRA_EMAIL,JIRA_API_TOKEN - Optional:
GITHUB_TOKENor GitHub App (GITHUB_APP_ID,GITHUB_APP_PRIVATE_KEY_PATH),BITBUCKET_TOKEN,DEVINTERN_OUTPUT_DIR
- Multi-location
Technical Architecture
- Modular TypeScript Architecture: Optimized for Bun runtime during development and Node.js for distribution
- Core Components:
- Main entry point (
src/index.ts) with Bun shebang and CLI orchestration - JIRA Client (
src/lib/jira-client.ts) with comprehensive API integration - Task Formatter (
src/lib/task-formatter.ts) for Atlassian Document Format conversion - Utilities (
src/lib/utils.ts) for git operations and file handling - Comprehensive type definitions (
src/types/) for all data structures
- Main entry point (
- Runtime Strategy: Bun for fast development, Node.js-compatible bundled output for npm distribution
- Modular PR Client Architecture: Abstract base class with platform-specific implementations
- Repository Platform Detection: Intelligent parsing of git remote URLs for GitHub and Bitbucket
- Token Authentication: Secure API authentication with proper error handling
- Type Safety: Full TypeScript support for all functionality including batch processing
- Error Handling and Validation:
- Comprehensive environment validation
- JIRA API authentication testing
- Claude CLI path resolution across platforms
- Graceful degradation when optional features fail
Workflow
Complete workflow orchestration: fetch → format → git → claude → commit → jira
- Fetch: Retrieve JIRA task details including description, comments, linked resources, and related work items
- Format: Convert JIRA data into Claude-readable markdown format with comprehensive context
- Branch: Create feature branch named
feature/{task-key} - Assess: Run optional clarity check to validate task implementability
- Implement: Execute Claude Code with formatted task details and enhanced permissions
- Commit: Automatically commit changes with descriptive message
- Push: Push feature branch to remote repository (when creating PRs)
- PR Creation: Optionally create pull requests on GitHub or Bitbucket
- Status Transition: Automatically transition JIRA task status after successful PR creation (if configured)
- Report: Post implementation summary back to JIRA task
Installation & Usage
- Global Installation:
bun install -g @devintern/codeorbunx @devintern/code - Single Task:
devintern PROJ-123 - Multiple Tasks:
devintern PROJ-123 PROJ-124 PROJ-125 - JQL Queries:
devintern --jql "project = PROJ AND status = 'To Do'" - With PR Creation:
devintern PROJ-123 --create-pr