How It Works (3 Commands)

1
imdone pull
imdone pull
✔ Linting completed successfully
✔ Pulled 6 existing and 0 new issues from provider
✔ Issues:

╔═════╤════════════════════════════════════════════════════╤════════╤══════════╤══════╤═════════════════════════════════════════════════╗
║ Key │ Summary                                            │ Status │ Assignee │ Type │ URL                                             ║
╟─────┼────────────────────────────────────────────────────┼────────┼──────────┼──────┼─────────────────────────────────────────────────╢
║ 1   │ View my current tasks                              │ open   │ piascikj │      │ https://github.com/imdone/demo-project/issues/1 ║
╟─────┼────────────────────────────────────────────────────┼────────┼──────────┼──────┼─────────────────────────────────────────────────╢
║ 2   │ Add task to my backlog                             │ open   │          │      │ https://github.com/imdone/demo-project/issues/2 ║
╟─────┼────────────────────────────────────────────────────┼────────┼──────────┼──────┼─────────────────────────────────────────────────╢
║ 3   │ Move task to in-progress                           │ open   │          │      │ https://github.com/imdone/demo-project/issues/3 ║
╚═════╧════════════════════════════════════════════════════╧════════╧══════════╧══════╧═════════════════════════════════════════════════╝

✔ Pull operation completed in 2.6s

Pull issues from Jira or GitHub into markdown files in your repo

2
Edit Locally
$ vim backlog/current-sprint/1-View_my_current_tasks/issue-1.md

# #TODO View my current tasks

**Story:**
As a developer,
I want to see my current sprint tasks in my terminal,
So that I know what to work on without opening Jira.

## Context
**Current State:** Must open Jira in browser to see assigned tasks
**Pain Point:** Context switching breaks flow
**Desired State:** `imdone ls` shows my tasks in terminal

## Acceptance Criteria

Work on issues in your favorite editor—vim, VS Code, whatever

3
imdone push
> imdone push
✔ Linting completed successfully
✔ Pulled 3 existing and 0 new issues from provider
ℹ 📤 Pushing 1 update to provider...
ℹ 🔍 Checking for comments and attachments...
✔ Pushed 1 task to provider
ℹ Issues pushed to provider:

╔═════╤════════════════════════════════════════════════════╤════════╤══════════╤══════╤═════════════════════════════════════════════════╗
║ Key │ Summary                                            │ Status │ Assignee │ Type │ URL                                             ║
╟─────┼────────────────────────────────────────────────────┼────────┼──────────┼──────┼─────────────────────────────────────────────────╢
║ 1   │ View my current tasks                              │ open   │ piascikj │      │ https://github.com/imdone/demo-project/issues/1 ║
╚═════╧════════════════════════════════════════════════════╧════════╧══════════╧══════╧═════════════════════════════════════════════════╝

✔ Push operation completed in 4.1s

Sync your changes back to Jira or GitHub

The Problem: Context Switching Kills Productivity

Alt+Tab to Jira

Open browser → wait for load → navigate → find ticket → read → switch back to editor. Repeat 20 times per day.

Can't grep Jira

Want to find all authentication-related issues? Open Jira, type in search box, wait, click through results. Takes 5 minutes.

Two systems to update

Changed your approach? Update the code, then switch to Jira, update the ticket, switch back. Context lost twice.

Need internet to work

Plane? Coffee shop? Flaky WiFi? Can't access Jira = can't see your tasks. Work blocked.

Keep Plans and Code Together

Issues as files in your repo. Work locally, sync automatically. Best of both worlds—local files with team visibility.

Bidirectional Sync

Changes in Jira/GitHub → pull to local. Changes local → push to Jira/GitHub. Always in sync.

Works Offline

Edit issues on a plane, in a coffee shop, anywhere. Sync when you're back online.

Git-Style Conflicts

Multiple people editing the same issue? Conflict resolution works like git merge. You already know how.

Real Example: Jira Issue as Markdown

In Jira (browser):

Navigate through UI, click tabs, scroll through comments...

In Your Repo (markdown):
# #TODO View my current tasks

**Story:**
As a developer,
I want to see my current sprint tasks in my terminal,
So that I know what to work on without opening Jira.

## Context

**Current State:** Must open Jira in browser to see assigned tasks
**Pain Point:** Context switching breaks flow
**Desired State:** `imdone ls` shows my tasks in terminal

## Acceptance Criteria

- [ ] Given I have 5 tasks in current sprint, When I run `imdone ls`, Then I see all 5 tasks
- [ ] Given a task has status "To Do", When I run `imdone ls`, Then status displays correctly
- [ ] Given a task has priority "High", When I run `imdone ls`, Then priority is visible
- [ ] Given no tasks exist, When I run `imdone ls`, Then I see "No tasks found"

## Examples

Now you can:

# Find all "terminal" issues
$ grep -r "terminal" backlog/

# Edit in vim
$ vim backlog/current-sprint/1-View_my_current_tasks/issue-1.md

# Sync changes back
$ imdone push

Built for Developers Who Live in the Terminal

Jira Integration

Full support for Jira Cloud and Jira Server. JQL queries, sprints, custom fields, attachments.

GitHub Issues

Sync GitHub issues to markdown. Search syntax, labels, milestones, assignees—all supported.

Version Control

Issues are files. Files go in git. Full history of every change to every issue.

CLI First

Built for developers who live in the terminal. Follows git conventions (pull/push/status).

Team Friendly

Your team keeps using Jira/GitHub UI. You work locally. Everyone stays in sync automatically.

Secure

Authentication tokens stored locally in .env (gitignored). Uses official Jira/GitHub APIs.

Installation

1

Install via npm

$ npm install -g imdone-cli
2

Initialize in your project

$ cd your-project
$ imdone init

Choose provider: Jira or GitHub
Configure authentication
3

Start syncing

$ imdone pull    # Fetch issues
$ imdone push    # Sync back
$ imdone log     # See changes

Full documentation: imdone-cli on npm

Common Commands

imdone pull

Fetch issues from Jira/GitHub to local markdown files

imdone push

Sync local changes back to Jira/GitHub

imdone merge

Resolve conflicts when both local and remote changed

imdone log

Show which issues changed locally or remotely

imdone ls

List local issues with filtering options

imdone template

Apply templates to issues (bug, feature, etc)

Common Questions

Does this replace Jira or GitHub?

No. Your team keeps using Jira/GitHub normally. You work locally and sync changes. Everyone sees the same data.

What happens if two people edit the same issue?

Git-style conflict resolution. You see both versions, choose what to keep, then push. Just like resolving code merge conflicts.

Can I work offline?

Yes. Pull issues before you lose internet. Edit locally. Push when you're back online. Perfect for planes, coffee shops, remote work.

Does this work with custom Jira fields?

Yes. Custom fields map to markdown frontmatter. Sprint, story points, labels, custom dropdowns—all supported.

Can I use this with Imdone Desktop?

Yes! Pull issues with imdone-cli, visualize them in Imdone Desktop. Same files, different views.

Ready to Stop Alt-Tabbing to Jira?

Install imdone-cli and work on issues in your editor.

© 2025 Innobuilt Software LLC. All rights reserved. | Logos provided by Logo.dev | Privacy Policy | EULA | Contact Us