No project description provided
Project description
Jit - Lightning-Fast Jira CLI
A blazing-fast command-line interface for creating Jira tasks and seamlessly integrating with your local Git workflow. Built for developers who want to minimize context switching between Jira and their development environment.
🚀 Project Intention
Jit solves the common developer pain point of slow, repetitive Jira task creation and Git branch management by providing:
- ⚡ Lightning-Fast Task Creation: Create Jira issues in seconds with intelligent caching and fuzzy search
- 🌿 Seamless Git Integration: Automatically create properly named Git branches from Jira issues
- 🧠 Smart Workflow: Remember your preferences, cache frequently used data, and provide context-aware suggestions
- 🎯 Developer-Focused: Built by developers, for developers who live in the terminal
The Problem Jit Solves
Before Jit, creating a new task meant:
- Opening Jira in browser (slow)
- Navigating through multiple dropdowns and forms
- Manually copying the issue key
- Switching to terminal
- Creating a Git branch with proper naming convention
- Manually typing the branch name
With Jit, this becomes:
jit checkout # One command, complete workflow
🛠 Installation
Prerequisites
- Python 3.13+
- Git (for branch creation features)
- Active Jira account with API access
Install from Source
git clone <repository-url>
cd jit
poetry install
# Or with pip
pip install -e .
⚡ Quick Start
1. First-Time Setup
jit config
This launches an interactive setup wizard that:
- Guides you to create a Jira API token
- Saves your credentials securely
- Tests the connection
2. Create Your First Issue
# Interactive mode (recommended for first use)
jit
# Or specify details directly
jit --project MYPROJ --summary "Fix login bug" --epic MYPROJ-123
3. Create Issue + Git Branch in One Command
jit checkout
This will:
- Let you select an existing issue OR create a new one
- Automatically create a Git branch like
feature/MYPROJ-456-fix-login-bug - Check out the new branch
- You're ready to code!
📖 Command Reference
jit (Default Command)
Purpose: Create a new Jira issue
Usage:
# Interactive mode (recommended)
jit
# Command-line mode
jit [OPTIONS]
Options:
| Option | Short | Description | Example |
|---|---|---|---|
--project |
-p |
Project key | --project MYPROJ |
--summary |
-s |
Issue title/summary | --summary "Fix login bug" |
--description |
-d |
Issue description | --description "Users can't login on mobile" |
--issue-type |
Issue type | --issue-type Bug (default: Task) |
|
--assignee |
Assign to user | --assignee me (default: me) |
|
--labels |
Comma-separated labels | --labels "frontend,urgent" |
|
--epic |
Epic key to link | --epic MYPROJ-100 |
|
--components |
Comma-separated components | --components "API,Frontend" |
|
--board |
Board name or ID | --board "My Team Board" |
|
--sprint |
Sprint name, ID, or 'current' | --sprint current |
|
--dry-run |
Preview without creating | --dry-run |
|
--open/--no-open |
Open in browser after creation | --no-open |
Examples:
# Quick task creation
jit --project MYPROJ --summary "Update documentation"
# Full issue with epic and sprint
jit -p MYPROJ -s "Implement OAuth" -d "Add OAuth 2.0 support" --epic MYPROJ-50 --sprint current
# Bug report
jit --project MYPROJ --issue-type Bug --summary "Login fails on Safari" --labels "browser-bug,urgent"
jit checkout
Purpose: Create a Git branch from a Jira issue (with optional issue creation)
Usage:
jit checkout
Interactive Flow:
- Select Project: Choose from your recent projects or search all available
- Select Issue:
- Choose "🆕 Create new issue" to create and branch in one flow
- Or select an existing issue from the list
- Auto-Branch Creation: Creates branch like
feature/PROJ-123-issue-summary
Example Branch Names:
feature/MYPROJ-456-implement-user-authenticationfeature/MYPROJ-789-fix-mobile-responsive-layoutfeature/MYPROJ-101-add-dark-mode-support
jit config
Purpose: Configure Jira credentials and settings
Usage:
jit config
What it configures:
- Jira base URL (e.g.,
https://mycompany.atlassian.net) - Email address
- API token (with guided creation)
- Tests connection and saves securely
jit cache
Purpose: Manage application cache for better performance
Usage:
jit cache
Features:
- View cached data and age
- Clear expired or corrupted cache
- Cache includes: projects, epics, boards, sprints, issues
🎯 Usage Patterns
Daily Development Workflow
# Start new feature
jit checkout
# → Creates issue + branch, ready to code
# Need a quick bug fix?
jit --project MYPROJ --issue-type Bug --summary "Fix header alignment"
# → Quick issue creation
# Planning session?
jit --project MYPROJ --epic MYPROJ-200 --summary "User profile page"
# → Link to epic for better organization
Team Workflows
For Product Owners:
# Create multiple issues for a feature
jit --project MYPROJ --epic MYPROJ-100 --summary "Design user dashboard"
jit --project MYPROJ --epic MYPROJ-100 --summary "Implement dashboard API"
jit --project MYPROJ --epic MYPROJ-100 --summary "Add dashboard tests"
For Developers:
# Pick up work and start coding immediately
jit checkout
# → Browse backlog, select issue, create branch, start coding
For DevOps/Release Management:
# Create deployment issues
jit --project MYPROJ --issue-type Task --summary "Deploy v2.1 to staging" --assignee devops-team
🧠 Smart Features
Intelligent Caching
- 6-hour TTL: Cached data stays fresh but reduces API calls
- Safe Fallback: Corrupted cache is automatically cleared
- Selective Caching: Only caches frequently accessed data
Context Awareness
- Remembers Preferences: Latest project, board selections
- Fuzzy Search: Type partial names to find projects/epics quickly
- Smart Defaults: Assigns issues to you, suggests recent epics
Git Integration
- Branch Naming Convention: Automatic
feature/ISSUE-KEY-summaryformat - Collision Handling: Handles existing branches gracefully
- Repository Detection: Only works in Git repositories
🔧 Configuration
Config File Location
~/.jit.yaml
Example Configuration
base_url: https://mycompany.atlassian.net
email: developer@mycompany.com
token: ATATT3xFfGF0123... # Your API token
latest_project: MYPROJ
latest_board:MYPROJ: 42
Cache File
~/.jit_cache.yaml - Automatically managed, can be safely deleted
🚨 Troubleshooting
Common Issues
"Missing Jira credentials"
jit config # Run setup wizard
"Not in a Git repository"
cd /path/to/your/git/project
jit checkout
Slow performance / stale data
jit cache # Clear cache to refresh data
Connection issues
- Verify your Jira URL is correct
- Ensure API token hasn't expired
- Check network connectivity
Debug Mode
export JIT_LOG_LEVEL=DEBUG
jit --project MYPROJ --summary "Test issue"
🏗 Architecture
Built with clean architecture principles:
- Services Layer: Jira API, Git operations, configuration, caching
- UI Layer: Interactive prompts, fuzzy search, selections
- Models: Type-safe data classes for all entities
- Error Handling: Comprehensive exception handling
🤝 Contributing
- Follow existing code patterns
- Add type hints to all new code
- Include comprehensive error handling
- Update documentation for new features
- Test with real Jira instances
📄 License
[Add your license here]
Made with ❤️ for developers who value speed and efficiency
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file le_jit-0.1.0.tar.gz.
File metadata
- Download URL: le_jit-0.1.0.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.11.9 Darwin/24.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76dd795171137dd3fee0b89cf6ee2fc52d6a121da1d3785e7aa90d34df04a12c
|
|
| MD5 |
293c788d3469db68042be8dae69d800f
|
|
| BLAKE2b-256 |
1d65a359186bb14449725851eb87b17a619ff44fb292cd6f7e2585af87bfe95e
|
File details
Details for the file le_jit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: le_jit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 21.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.11.9 Darwin/24.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0f2e64ca2db98e9be6d4ad5014efa37e42bb1567d8320cbec07a3b8500e9f41
|
|
| MD5 |
7cfa28e20a273378b9c533c040cc2892
|
|
| BLAKE2b-256 |
a7bc7b68aacd269859a50ab148802bc97baaee98f569949420a3455990663179
|