imdone-cli docs
Changelog
Track imdone-cli release notes and recent fixes.
0.71.0
- Make
imdone addand automatic template application faster and safer by pulling, pushing, and committing only the newly created issue, so unrelated local issue changes stay in the working tree instead of being swept into the add flow - Let users push one issue explicitly with
imdone push <issueKey>, making it possible to force-sync a single Jira or GitHub issue without publishing every pending backlog change - Keep targeted issue sync stable when provider titles change by anchoring target commits to the local issue
source.pathand avoiding duplicate-looking trailing-period issue directories
0.70.3
- Stop retrying GitHub issue-by-number REST lookups after a 404 by default, so stale or inaccessible issue numbers are checked once instead of repeatedly calling the same missing issue during pull refresh
0.70.2
- Fix
imdone pullandimdone resetblowing up withfatal: pathspec 'current-sprint' did not match any fileswhen the sprint directory is temporarily absent during stash, refresh, or reset flows, so provider sync treats the missing path as a no-op instead of aborting the command
0.70.1
- Fix coding-agent discovery so
imdone initandimdone cloneno longer fail whencodexorclaudeis missing or not resolvable on the local PATH, letting setup continue
0.70.0
- Make GitHub PAT setup much easier to complete correctly:
imdone initnow gives direct classic and fine-grained token creation links, names the exact permissions imdone needs, calls out repository-selection requirements more clearly, includes PR permission guidance when provider sync needs it, and keeps the fine-grained link short enough to use more reliably in a terminal - Let GitHub fine-grained PAT users actually sync real work instead of getting stuck on GraphQL-only behavior: repo-scoped refresh and pull paths now fall back to supported REST issue endpoints when GraphQL search returns nothing or is not accessible to the token
- Fix PR-backed GitHub attachment sync so uploads, attachment content updates, attachment link rewrites, and follow-up
imdone mergeruns all resolve to the right issue and publish the final post-merge working-tree content instead of silently leaving old attachment files or local./attachments/...links on GitHub - Make
imdone pusheasier to trust and scan by replacing the old disjointed per-provider output bursts with a single report-oriented summary, and align JSON output to the same issue-centered result model so automation and humans see the same grouped outcome
0.69.2
- Stop interrupting successful credential-required commands with a pre-run 1Password setup prompt, and instead show a non-blocking follow-up tip to run
imdone init --1passwordwhile keeping the in-flow recommendation inimdone initandimdone clone
0.69.1
- Let the package expose both
imdoneandimdone-clibins through explicit./dist/...mappings, sonpxcan launch the CLI reliably from the published package while teams keep the existing command path intact
0.69.0
- Let GitHub Issues setup accept Git-supported SSH repository remotes across
imdone init, git-origin defaults, and GitHub URL handling, so SSH-first users can use forms likegit@github.com:owner/repo.git,ssh://git@github.com/owner/repo.git, andgit+ssh://git@github.com/owner/repo.gitwithout falling back to HTTP assumptions, while invalid input now shows concrete accepted examples - Let
imdone cloneretry the other acceptable Git remote formats for the same GitHub repo when the stored.imdone-cli.ymlremote format fails first, so teams can recover from environment-specific HTTPS or SSH clone failures without manually rewriting the saved remote before onboarding
0.68.2
- Move the
imdone-cliupgrade prompt to after the command completes, so users can finish the work they asked for first and then decide whether to upgrade instead of getting interrupted before pull, push, init, clone, or other real work even starts
0.68.1
- Make
imdone initand post-clone setup feel safer for 1Password users: onceopis detected and the user opts in,imdonenow chooses the right vault, keeps sourcedop://...defaults without copying them into the project unless the user explicitly overrides them, and avoids forcing duplicate local secret entry - Let users reuse an existing 1Password item and field for Jira or GitHub credentials before falling back to typing a new value, so setup can point at secrets they already trust instead of making them recreate tokens or guess raw
op://...references - Make bundled HDD progress notes use full ISO date-time timestamps instead of date-only stamps, so plan pivots and implementation notes are easier to order and resume accurately within the same day
0.68.0
- Prompt
imdone hddusers to confirm or switch the target story when no issue key is passed, with the saved active story preselected and a clean cancel path, so engineers can avoid launching the wrong HDD session without slowing down the common case - Let
imdonemigrate Jira and GitHub provider credentials directly into 1Password withimdone init --1password, then resolveop://...references automatically during normal CLI runs so teams can stop depending on the old wrapper script path - Prompt users toward the direct 1Password path when
opis available but provider secrets are still stored plainly in.env, while allowing a one-time continue path for normal commands and requiring migration before config-rewriting update flows - Stop copying the legacy
setup-1password-token.shandimdone-1phelper artifacts into refreshed backlogs, so bundled docs and project files point at the directopintegration instead of the retired wrapper workflow - Replace the overlapping bundled
imdonecommand skills with one repo-localimdoneskill, so agents have one clear entry point for CLI-backed backlog work instead of choosing among competing skill prompts - Make structured CLI output more automation-friendly by keeping JSON and YAML responses clean on
pull,push,add,list, andmove, adding--formatsupport topush, and lettingtestverify every configured provider instead of assuming Jira only
0.67.1
- Fix GitHub-only
imdone pullruns so newly discovered issues sync into the backlog reliably instead of failing before local issue folders are created, letting teams pull a fresh repo or a new slice of GitHub work without manual recovery
0.67.0
- Archive provider-backed work automatically when it is no longer active, including Jira issues completed through
imdone push, GitHub issues or pull requests that come back done on refresh, and local provider-backed issues that disappear after a confirmed refresh, socurrent-sprint/stays aligned with what is actually still in progress - Treat merged GitHub pull requests as completed even when they still carry a stale workflow label like
in-progress, so merged PRs move toDONEand archive instead of lingering in the active backlog - Let
imdone pull --gql "<github issue query>"temporarily override the saved GitHub query for one pull run, so engineers can bring in a targeted GitHub issue or pull-request slice without changing the project’s default sync scope - Let one
imdone pullrun take both--jqland--gql, so mixed Jira/GitHub projects can temporarily override each provider independently without editing.imdone/config.yml - Speed up mixed Jira and GitHub pulls by running one shared git refresh and commit envelope around the full pull, so syncing both providers does less repeated work and produces one cleaner pull commit
- Fix pull output so GitHub issues show up correctly alongside Jira issues, including in structured pull output where GitHub issue keys and timestamps were previously missing
0.66.3
- Fix
imdone hddso it stops the terminal spinner before launching Codex or Claude, preventing the HDD session handoff from keeping the CLI spinner running over the active AI agent session
0.66.2
- Fix the post-
pullupdate notice soimdonestops its spinner before asking whether to runimdone update, preventing the CLI from appearing hung after a successful pull when bundled backlog files likeREADME.mdorCHANGELOG.mdneed refreshing
0.66.1
- Change
imdone show <issue-key>to display local shared context from the repo, including issue and comments paths, attachment files, tags, and metadata, so engineers and AI agents can inspect one issue without leaving the terminal - Prompt users to run
imdone updateafter a top-levelimdonecommand completes, so bundled backlog updates do not block the command they were trying to run first - Keep long-running CLI commands visibly active by showing progress output and automatically restarting the spinner after info and warning messages, so
imdoneno longer looks hung when it is still working
0.66.0
- Launch Codex or Claude directly into the current HDD story with
imdone hdd [issueKey], so engineers can start an HDD-oriented coding session from the backlog without rebuilding the same prompt by hand - Save the selected coding agent and active HDD story in
backlog/.imdone/hdd-skill.yml, so laterimdone hddruns reopen the same working context with one command - Add
imdone hdd --setupto force reselecting the story key and coding agent when the saved HDD launch context needs to change - Fix templated
imdone addattachment creation across Jira and GitHub by waiting for the new issue to become provider-visible, pulling it through the normal sync path, and recognizing the local card reliably before template files are created - Fix
imdone logcrashing on Jira changelog entries with missing author fields by falling back to another available author value and otherwise leaving the author blank, so teams can still inspect issue history when Jira changelog data is incomplete
0.65.12
- Fix
imdone pullhanging indefinitely when processing issues or comments with problematic text patterns by moving parsing to worker threads that can be forcibly terminated after a timeout, so content that previously caused infinite regex loops now completes with placeholder content instead of blocking the entire sync - Add SafeJiraParser with 5-second timeout protection per issue/comment, preventing catastrophic backtracking in regex patterns from hanging the CLI while still processing valid content successfully
0.65.7
- Fix
imdone pullhanging on Jira issues with text containing many contractions (doesn’t, didn’t, hasn’t) by replacing catastrophic-backtracking lazy quantifiers in the italicUnderscores regex with length-limited greedy matching, so changelog descriptions with repeated apostrophes parse in milliseconds instead of hanging indefinitely
0.65.5
- Add version logging to
imdone-debugstartup output, making it easier to identify CLI version in debug logs and troubleshoot version-specific issues - Wrap all regex operations in JiraParser with timeout detection and diagnostic logging to identify potentially hung regex patterns during issue parsing
- Make
imdone-1pwrapper automatically runimdone-debugwhen--debugflag is passed, so 1Password-backed projects get full debug logging without switching commands
0.65.1
- Fix
imdone-1pso it resolves 1Passwordop://secrets into a temporary.envbefore launchingimdone, letting teams run provider-sync commands successfully from a 1Password-managed backlog without manually exporting credentials first
0.65.0
- Copy the optional 1Password setup script and wrapper into each backlog during
imdone initandimdone update, so teams can move Jira and GitHub tokens into 1Password and run imdone with resolved project-local secrets without keeping raw tokens in.env. - Refresh bundled backlog files in place instead of creating
.bakcopies, soimdone initandimdone updateno longer leave backup clutter behind for generated project docs and helper scripts. - Prompt for
imdone updatewhen the installed CLI has newer bundled backlog files than the current project, so local docs, helper scripts, skills, and templates can refresh even whenorigin/mainhas no relevant changes.
0.64.1
- Let expired paid CLI licenses refresh automatically from imdone.io and replace the home license in
~/.imdone/.env, so subscribed users can keep running provider-sync commands without manually pasting a new token into each backlog - When a paid CLI license cannot be refreshed, explain the reason, open imdone.io in the user’s default browser, and continue the command after activation so renewal and subscription recovery happen in one flow from the terminal
- Make
imdone initrespect an existing home license by leavingIMDONE_LICENSEout of the backlog.env, keeping license state machine-wide while project credentials stay project-local - Make GitHub Issues setup faster by defaulting the GitHub URL to the repo’s remote origin, deriving owner and repo from the entered URL, and skipping redundant owner/repo prompts when the URL already identifies the repository
- Prefer the GitHub repository URL entered during
imdone initover the remote origin defaults, so the generated.imdone/config.ymlpoints at the issue tracker the user chose and public GitHub URLs do not get written toGITHUB_URL
0.64.0
- Fix
imdone pullhanging indefinitely when pulling Jira issues that contain code blocks with nested braces or unusual formatting in comments, so teams can now sync all their issues without having to manually clean up comment content in Jira first - Make GitHub attachments branch-backed end to end by reading the current attachment set from the
imdone-attachmentsbranch, skipping machine-readable attachment ledger comments on push, and deleting old stable branch paths when attachments are renamed or deleted so stale GitHub files do not reappear on pull - Remove the noisy npm
gitignore-fallbackwarning during global installs by cleaning up themonquerydependency packaging path used throughimdone-core
0.63.4
- Remove the deprecated
node-domexceptioninstall warning by relying on the platform-native fetch support provided by modern Node.js throughimdone-core. - Fix GitHub attachment comment-ledger loading for stable attachment paths by preserving SHA values from ledger comments, so
imdone pullrefreshes changed attachment content even when the GitHub attachment URL stays the same.
0.63.3
- Fix GitHub stable-path attachment downloads so
imdone pulldetects content changes using SHA comparison instead of only checking URL and size, which was causing updated GitHub attachment content to stay stale locally after a successful push - Store GitHub attachments using clean stable paths like
_imdone-attachments/{issue}/{filename}without timestamped suffixes, so attachment URLs stay readable and GitHub file history tracks content changes through commits instead of creating new versioned files on every update
0.63.2
- Use stable GitHub attachment storage paths with SHA-based optimistic locking, so sibling links keep pointing at the same published filename while concurrent attachment edits are protected by GitHub’s content SHA check
- Fix same-issue attachment links inside text attachments so GitHub rewrite and rename flows treat both
./file-name.extand barefile-name.extas valid sibling attachment paths
0.63.1
- Give anonymous CLI users 50 provider syncs to try imdone, then 10 provider syncs per month forever on the same device without creating an account
- Show a clear Node.js upgrade message before initialization when the installed runtime is too old, instead of failing later with an internal path error
- Make the bundled HDD skill rely on Claude and Codex’s built-in edit diffs, so artifact review messages list changed files and summarize the revision instead of replaying manual diffs in chat
- Copy
HDD-SKILL-CHEAT-SHEET.mdinto the backlog duringimdone initandimdone update, so teams get the latest bundled HDD quick-reference doc alongside the refreshed skills and templates - Keep bundled HDD skill Mermaid diagrams easier to read in both light and dark mode by steering story diagrams toward theme-safe styling instead of hard-coded colors that disappear in one theme
0.63.0
- Let engineers list valid next statuses for a single issue with
imdone move --list-statusesbefore attempting a workflow change, including script-friendly JSON/YAML/CSV output they can reuse in follow-up automation - Keep
imdone move --list-transitionsas an equivalent alias for teams that think in Jira workflow terms instead of status names - Show Jira users the exact issue-specific outgoing transitions available right now, while GitHub users see the workflow statuses already mapped in
.imdone/config.yml, including the current mapped entry for visibility - Make
imdone clonepreserve the provider already configured in the cloned.imdone-cli.yml, then prompt only for missing post-clone setup values instead of incorrectly falling back to Jira prompts - Let GitHub-backed clones finish setup in one pass by prompting after clone for any missing GitHub owner, repo, and token values while leaving
gqlin the cloned config as the source of truth
0.62.0
- Help engineers working in Jira projects with custom workflows keep the exact workflow status in local issue files without polluting provider-side metadata, and prefer exact
statuses[*].jiramatches against that workflow name before falling back to the Jira status category - Let engineers using GitHub express workflow state with labels like
code-review, while keeping labels available as tags and preserving the existing open/closed fallback - Keep GitHub workflow labels visible in local issue metadata by setting local
statusto the configured mapped label/tag on pull when that label/tag is present on the provider issue - Keep Jira and GitHub workflow state aligned with the imdone kanban board by having
imdone pushupdate the provider status when an engineer moves a provider-backed issue to a different mapped local imdone list, improving imdone Desktop workflows where list changes happen visually - Let
imdone movefor GitHub prompt from configuredstatuses[*].githubmappings, so custom workflow labels use the same status-label sync path as local list moves - Show every changelog section newer than the user’s previously installed
imdone-cliversion after a prompt-driven upgrade, so skipped versions are visible before rerunning the original command
0.61.2
- Fix bundled skill, template, and doc refresh during
imdone updateandimdone initwhenimdone-cliis run through annpm linkshim, so linked installs resolve bundled files from the real package location instead of incorrectly skipping every bundled item as missing - Show concise terminal progress for each bundled item refreshed during
imdone updateandimdone init, so teams can see which docs, skills, and templates were copied and which ones were skipped
0.61.1
- Fix
imdone updateso bundled Codex and Claude skills, docs, and templates are refreshed reliably even when the backlog has no gitoriginremote, instead of silently skipping those bundled files during local-only updates
0.61.0
- Add
imdone add --list-sprintsso Jira users can print active sprint names and IDs before creating an issue with--sprint-id, instead of hunting for sprint IDs in Jira first - Add
imdone add --list-issue-typesso Jira users can print valid issue types before scripting--issue-type, instead of guessing the exact provider value - Update the bundled
imdone-addskill and wrapper so local issue-creation workflows can use the new sprint and issue-type discovery modes instead of falling back to hand-builtimdone addcommands - Keep GitHub attachment-to-attachment links working more reliably by rewriting same-issue attachment references to the current GitHub attachment URL, preserving stable URLs on content-only updates, and adding
imdone push --rewrite-attachment-linksto explicitly migrate and republish touched attachment bundles when needed - Convert markdown repo file links that point out of the backlog and into the parent source repo into provider-friendly web links on push, then restore them back to local relative links on pull, across both Jira and GitHub issue bodies and text attachments.
- Add
imdone push --rewrite-repo-linksso touched issues can be explicitly republished when repo-link mapping needs to be refreshed without waiting for the issue markdown file itself to change.
0.60.0
- Make bundled HDD implementation plans explicitly use red/green/refactor so story execution stays test-first, easier to review, and less likely to skip the cleanup step after the first passing change
- Make
imdone statuswork offline without leaking raw DNS errors, and show a friendly actionable connectivity message from network-required commands likeimdone pullandimdone pushwhen the internet is unavailable - Fix GitHub attachment-to-attachment links inside uploaded attachment content so same-issue markdown links resolve to the current prefixed attachment filename on GitHub, including when an existing attachment is updated, while still leaving markdown image syntax
![]()unchanged
0.59.0
- Add
tagsfield toimdone lsJSON and YAML output so migration scripts and automation tools can read issue tags without parsing individual issue files - Let
imdone-clilook forIMDONE_LICENSEin~/.imdone/.envbefore the backlog.env, automatically migrate that license into a machine-level home config on first use, and keep unrelated project or Jira settings out of the new home file
0.58.2
- Fix prompt-driven
imdone-cliupgrades so the changelog section is visibly shown after install by rendering the success headline separately from the longer release-notes body and rerun instruction
0.58.1
- Make bundled HDD review steps easier to inspect by applying the proposed artifact change first, listing the changed file paths for one-click editor navigation, and showing the normal terminal diff instead of pasting a rewritten draft back into chat
0.58.0
- Prompt HDD users to push after writing the first real plan or adding
Progress notesinattachments/plan.mdwhen phase-based sync prompting is enabled, so shared-context updates do not sit locally by accident - Show the exact release notes for the version you just installed after a prompt-driven
imdone-cliupgrade, and fall back to a support message instead of showing the wrong changelog section when no exact entry exists - Make the bundled HDD workflow easier to resume for humans and AI by treating
attachments/plan.mdas the live source of truth for pivots and corrections, withProgress notesthat capture both what changed and why - Make bundled HDD story setup flow in a more decision-friendly order by defining the hypothesis before the vertical slice, then locking acceptance criteria before moving into assumptions and demo planning
- Keep HDD demos trustworthy as stories move into implementation by treating
attachments/demo.mdas one evolving proof artifact that gets revised to match the real built behavior instead of splitting into a second demo-planning step - Make active HDD sessions easier to follow by showing a visible story indicator and an explicit progress-notes update message in user-facing guidance, so teams can tell which story is in scope and when resumability context changed
- Make HDD refinement prompts easier to read in terminal and editor workflows by dropping blockquote-style draft formatting from the bundled interaction guidance
- Show a success-level confirmation after an interactive prompt-driven upgrade completes, so the upgrade outcome reads like a completed action instead of a neutral status line
- Bundle only stock templates from the backlog source of truth, which keeps the packaged CLI templates stable and avoids shipping local project-specific templates by accident
0.57.0
- Let
imdone updatekeep working in configured projects that have no gitoriginremote by skipping branch rebuild, refreshing bundled imdone files locally, and continuing into the normal provider pull - Make the bundled HDD workflow easier to resume after interruptions by keeping outcome-defining story sections like Acceptance Criteria, Vertical Slice, Hypothesis, and Assumptions above the workflow checklist instead of burying that context inside checkbox items
- Make HDD closeout artifacts easier for humans and AI to recover by linking Measure Results and Retrospect directly to shared results notes in
success-metrics.md - Improve HDD handoff quality during implementation by treating
attachments/plan.mdas the live source of truth for pivots, including separate progress notes for what changed and implementation notes for why it changed - Clarify when to create focused supporting attachments during HDD work so specialized test, rollout, API, review, or diagram context is preserved only when it materially improves resumability
0.56.1
- Fix attachment ignored-list replay so a later comment that adds an attachment back removes the stale ignored entry instead of leaving the live file blocked from pull
0.56.0
- Fix GitHub templated
imdone addso new issues are created first, then pulled locally and templated reliably instead of failing to find the just-created card - Wait for newly created GitHub issues to become available before the follow-up pull, and force the immediate post-create pull to include the new issue number so GitHub search indexing lag does not break template application
- Update the bundled
imdone-addskill to use YAML-backed project defaults and keep its wrapper/config guidance aligned between Codex and Claude bundles - Tighten the bundled HDD skill so Phase 2 planning and implementation explicitly prefer small DRY refactors in touched flows and use code-as-documentation defaults
0.55.0
- Prompt interactive users to upgrade immediately when a newer
imdone-clinpm version is available, run the real global npm upgrade on confirmation, and tell them to rerun their original command after success - Fall back cleanly when the automatic npm upgrade fails by showing the exact manual
npm i -g imdone-clicommand instead of leaving the user without a next step - Let teams choose between phase-based push prompts and timed push reminders, with configurable intervals that match how often they want Jira kept up to date during HDD sessions
- Keep HDD workflow push behavior consistent across sessions by saving prompted setup to
.imdone/hdd-skill.yml, so users do not have to re-answer the same sync-preference questions every time - Make HDD closeout clearer by rendering not-applicable Definition of Done items with visible strike-through instead of leaving them looking unfinished
- Slim down the bundled HDD skill so it stays easier to load, easier to follow, and more consistent during longer sessions
0.54.0
- See issue lifecycle history locally in a human-readable
changelog.yml, including started and completed timestamps that make cycle-time inputs visible without reopening Jira - Generate archived cycle-time reports from local issue history with the bundled
cycle-time-reportskill, which produces a markdown report, SVG trend chart, and PDF output - Keep Claude and Codex skill bundles aligned more reliably so the backlog-local AI workflows stay consistent across the tools teams actually use
0.53.1
- Reworked the bundled
hypothesis-driven-developmentskill so it trains engineers toward product-engineering behavior: explicit user-valued outcomes, named product risk, thin slices, measurable evidence, and direct user-feedback paths - Add story-level HDD feedback artifacts plus evaluator and bundling scripts so teams can capture workflow friction, handoff-risk reduction, and author feedback across HDD sessions
- Tighten the HDD guidance around outcome-first refinement, live plan updates, external-evidence gates, and reviewable shared context for implementation handoff
0.53.0
- Get prompted to run
imdone updateafter successful top-levelimdone pushorimdone pullwhenorigin/mainhas newer bundled imdone files, with a short summary before you decide - Avoid false update prompts from working-branch differences by checking local
mainagainstorigin/main - Use a new bundled
imdone-templateskill in Claude Code and Codex, and get smoother HDD story setup through updated workflow guidance - See clearer README and npm package messaging that positions imdone as a shared-context repo for AI and humans
0.52.0
- Fix Jira
imdone pull --jql ...so the override is sent to Jira exactly as provided, without local key merging or provider-side wrapping - Eliminate
Maximum call stack size exceededduring large Jira override pulls by avoiding oversized local-card filters and matching existing cards from a bounded local provider card pool - Change Jira pull refresh behavior to fetch already-synced local issues in bounded
key in (...)batches instead of building one oversized combined JQL query - Map Jira issues to TODO/DOING/DONE using
fields.status.statusCategory.nameso statuses likeCancelledfollow their Jira status category - Add regression coverage for raw JQL passthrough, bounded Jira refresh batching, and status-category-based Jira list mapping
0.51.0
- Added support for specific project shared context report
- Fixed failing
imdone cleanbug - Cleaned up templates so they won’t get changed by linter after
imdone update
0.50.2
- Fix issue-directory renames so provider-side and push-side title changes converge on a single correctly named local folder instead of leaving duplicate same-key directories behind
- Preserve the kept issue directory during duplicate cleanup by only removing stale same-key siblings after the final target directory exists on disk
- Commit rename-side deleted files as part of the normal pull/push git flow so folder renames do not leave staged deletions behind in the backlog repository
0.50.1
- Create newly pulled done-mapped issues directly in the archive folder when archive is configured, for both Jira and GitHub
- Keep active issues creating under
current-sprint/and preserve the fallback behavior when no archive folder is configured - Avoid leaving stale
current-sprint/<issue>directories behind for newly pulled done issues
0.50.0
- Add a Jira-only
--jqloverride toimdone pullso one run can fetch a broader issue set for backlog refinement without changing the saved project query - In mixed Jira/GitHub projects, apply the override only to the Jira pull and leave GitHub on its configured default query
- Keep the override temporary: a later plain
imdone pullstill uses the configured default Jira query - Add focused pull tests covering default query behavior, one-run override behavior, and fallback to the saved query after the override run
0.49.0
- Jira now discovers the
Flaggedfield, falls back toBlockedwhen needed, and persists that provider signal as localblockedmetadata duringimdone pull - The shared-context-report now surfaces blocked work explicitly and adds deterministic unblock advice based on blocked metadata plus local story signals for communication gaps, mock-to-real integration, feature flags, or a neutral fallback
- Updated bundled skill and package documentation to describe blocked-work reporting and unblock guidance more clearly
0.48.0
- Added backlog-refinement skill
- Added diagramming in design phase of the hypothesis-driven-development skill
0.47.0
GitHub Attachment Branch Storage
- Replace GitHub release-backed attachment storage with a dedicated
imdone-attachmentsbranch - Store GitHub attachments under
_imdone-attachments/{issueNumber}/...instead of creating or updating releases that can interfere with product release automation - Keep the existing local
attachments/workflow and comment-ledger model while shifting GitHub attachment URLs to branch-backed paths
GitHub Attachment Pull Compatibility
- Fix GitHub attachment downloads to request contents from the
imdone-attachmentsbranch explicitly duringimdone pull - Support both current branch-backed attachment paths under
_imdone-attachments/...and legacy raw branch URLs when reconstructing GitHub attachment download requests - Tighten dual-provider routing so GitHub attachment flows do not leak into Jira-owned issues during push and pull
GitHub Attachment Workflow
- Keep unique version-prefixed stored filenames for GitHub attachments so concurrent pushes do not overwrite each other
- Preserve old stored attachment versions while using the issue comment ledger to determine the current live attachment for pull and local link restoration
0.46.1
- Fix Jira attachment links in issue bodies so local attachment markdown links are converted reliably during push and restored correctly during pull
- Ensure the main branch is up to date and clean before runn imdone update
- Fail gracefully when there are no issues to pull during
imdone pullinstead of showing an error
0.46.0
GitHub Changelog Routing Fix
- Fixed
imdone login mixed Jira/GitHub projects so GitHub issue numbers selected from the prompt or passed on the CLI are resolved to the GitHub adapter instead of falling through the default Jira adapter - Updated 404 handling on the changelog path so GitHub-backed failures no longer show Jira credential guidance
Hypothesis-Driven-Dev Workflow Skill
- Added the
hypothesis-driven-developmentskill to guide a story through a structured delivery workflow across three phases: Before Building, During Build, and After Deploy- Helps developers define a vertical slice, hypothesis, success metrics, assumption checks, and demo plan before implementation
- Keeps design, task breakdown, implementation progress, definition of done, and retrospective notes tied directly to the story as work evolves
- Supports resumable, checkbox-driven execution so the workflow can pick up where the story left off
- Bundled with the CLI skill assets for local use and distribution
Dual provider support
- Simultaneous Jira and GitHub support: imdone-cli can now manage both Jira and GitHub issues within the same project
- Issues from both providers are stored in the same backlog directory with provider-specific metadata
imdone lsand other commands seamlessly handle issues from both providers- Provider-specific commands (like
imdone add) automatically prompt for provider selection when creating new issues - Configuration supports multiple providers with automatic detection based on git remote URL
GitHub Enterprise
- Add GitHub Enterprise support
GitHub Issues GA
- GitHub Issues integration is no longer experimental
Relaxed imdone init Requirements
imdone initno longer requires the current working directory to be a git repository
0.45.0
Unified Filter Syntax for imdone ls -q
- imdone filter syntax for all providers: The
-q, --queryoption now uses imdone’s filter syntax for both Jira and GitHub, applied locally viaproject.getAllCards- Single query language works across all providers — no need to learn JQL or GitHub search syntax
- Examples:
meta.status="open",tag:bug,meta.assignedTo="username"
Reactions
- Make github reactions their own metadata values
PR Support
- Use PR prefix on PR issue directories
- Add PR metadata to issues created from pull requests
- Only add reaction metadata if value is greater than 0
0.44.1
- Fix getting github attachments from private repos by using the correct API endpoint with authentication
0.44.0
GitHub Attachment Support
Full bidirectional attachment synchronization for GitHub Issues, with concurrency-safe storage.
Storage and upload:
- Attachments are stored as assets on a per-issue GitHub release tagged
imdone-attachments-{issueNumber}— one release per issue avoids GitHub’s 1,000-asset-per-release limit - Every upload uses a unique version-prefixed asset name:
{11-hex-epoch}{4-hex-random}-{filename}(e.g.,000191a3b4c5d6e7-plan.md), eliminating 422 conflicts when two users push the same file simultaneously - Old release assets are never deleted — all versions are preserved in the release for history and auditability
Pull / link rewriting:
- On pull, the comment ledger is replayed to build a URL → original-filename map; versioned asset URLs are transparently resolved back to
./attachments/plan.md— the prefix never appears in local files - Local attachment links (
[plan.md](./attachments/plan.md)) are converted to the versioned GitHub download URL on push, and back to the original local path on pull
Comment ledger:
- Every attachment event (added, modified, deleted, renamed) is recorded as a machine-readable comment on the issue
- The
Filename:field always stores the original name;URL:stores the versioned download URL - The ledger is the source of truth —
buildAttachmentStatereplays it in order so the most recent event always wins - After push, the new ledger comment appears in your local
comments-{key}.mdimmediately — no pull required
Concurrency safety:
- Two users pushing the same attachment simultaneously each get a unique asset name — no last-write-wins data loss
- No delete step means no race conditions between delete and upload
- The comment ledger automatically resolves concurrent modifications — the most recent
modifiedcomment wins on the next pull
0.43.0
- Fix ls command to work when piping output to other commands (like grep) by disabling the spinner when stdout is not a TTY.
- Clean up favorites column display in ls output to prevent formatting issues when piping output.
- Provide details on git actions in output for clarity and debugging.
- Only add files in defaultDirectory (current-sprint) to staging area during merge, instead of all changes.
- Use :(exclude)${defaultDirectory}/** to exclude the default directory from the stash, on
imdone update - Add
/imdone-lsclaude skill forimdone ls - Add
imdone statuscommand to show the changes in the defaultDirectory (current-sprint)
0.42.2
Fix vulnerabilities in dependencies.
0.42.1
Use the correct template names for attachements (eg. stock_partials_dod instead of dod)
0.42.0
Attachment Versioning (No More 403 Errors)
Breaking Change: Attachment metadata format has changed from ID-keyed to filename-keyed with version tracking. Metadata is automatically migrated on first use with no data loss.
- Eliminate 403 permission errors: Team members can now modify attachments created by others without encountering “403 Unauthorized” errors
- Upload new versions without deleting old ones (no delete permission required)
- Old versions preserved in Jira for audit trail
- Multiple versions supported - all visible in Jira UI
- Multi-version tracking: Metadata tracks all attachment versions per filename
- Filename-keyed structure instead of ID-keyed
currentpointer indicates most recent versionversionsarray stores complete version history with author info and timestamps- Auto-migration from old format on first use
- Smart pull behavior: Downloads only the most recent version when multiple exist
- Keeps local filesystem clean (one file per attachment)
- Sorts versions by creation date automatically
- Metadata preserves full version history for reference
- Team-wide sync via issue comments: Deleted and renamed attachments automatically sync across team
- When you delete or rename an attachment, a machine-readable comment is posted to Jira
- All team members automatically sync these changes on their next pull
- Prevents re-downloading deleted files across the entire team
- No manual coordination needed - comments drive synchronization
- Comment format includes: Action, Filename, Attachment ID
- Local ignored list is automatically updated from issue comments
What changed:
- Modified attachments now upload new versions without deleting old ones
- Pull operations download only the most recent version of each attachment
- Metadata format migrated to support version arrays and ignored lists
- Team-wide sync: Deleted/renamed attachments post comments to Jira for automatic team synchronization
- Comments are parsed on pull to automatically update each team member’s ignored list
- Old versions remain in Jira (team members automatically skip them on pull)
Migration:
- Automatic on first pull/push after upgrade
- No manual intervention required
- No data loss during migration
- Old metadata format still readable during transition
See Attachment Versioning documentation for details.
0.41.0
Branch Safety for Backlog Repository
- Automatic branch switching: All backlog git operations now happen on the
imdone-workbranch instead ofmain, preventing accidental commits to the shared default branch- Automatically creates and switches to
imdone-workbranch on first use - Applies to all commands that modify backlog files:
pull,push,add,update,merge,move,reset - Smooth user experience with spinner feedback when switching branches
- Reduces merge conflicts when multiple team members work simultaneously
- Special handling for
initandclonecommands - initial setup commits go tomain, then subsequent operations switch toimdone-work
- Automatically creates and switches to
Template Selection Improvements
-
Smart template filtering: Only show templates that contain
${markdown}in template selection prompts, ensuring users only see templates that will create issues with content, improving the user experience and reducing confusion when selecting templates for issue creation -
Automatic documentation update: When
imdone updateruns, automatically copy documentation files from the package to the project directory, ensuring that users always have the latest documentation available in their project after an update, improving the user experience and keeping documentation up to date without requiring manual copying by users.
0.40.1
Added
- Smart placeholder creation for attachment links: When templates reference
attachment files (likehypothesis.md,plan.md), placeholder files are automatically created with<!-- place content here -->markers, giving you a clear starting point for documentation
Fixed
- Automatic conflict resolution during issue creation: No more manual merge conflict resolution when creating issues with templates - the system intelligently keeps the right content from Jira while preserving your local work
- Jira attachment links: Now converted to the proper Jira url format during sync, ensuring they work correctly in Jira without manual adjustments
Improved
- Cleaner issue creation experience: Eliminated confusing warning messages about missing attachments that were actually just template placeholders
- Streamlined sync workflow: Simplified the process of creating issues with attachments - the system now handles all the complexity of syncing content between local files and Jira automatically
0.40.0
Template Auto-File Creation
- Automatic file generation: Templates can now automatically create files in the issue’s
attachments/directory using special link syntax- Syntax:
[Link Text](./attachments/filename.ext?template=<template_name>) - Links with
?template=namecreate files populated with template content - Links without template parameter create empty files
- Template names support both
template_nameandnameformats (prefix optional)
- Syntax:
- Works everywhere: Feature available in both
imdone add(when creating issues) andimdone template(when applying templates) - Smart variable replacement: Template variables automatically replaced in generated files
${markdown}replaced with empty string for new files${meta.jira},${meta.status}, and other metadata variables replaced with actual values- Example:
## ✅ ${meta.jira} Definition of Donebecomes## ✅ PROJ-123 Definition of Done
- Safe operations: Existing files are never overwritten
- Robust timing: Retry logic with progress feedback ensures newly created issues are found even with provider API delays
- Up to 10 retry attempts with 1-second intervals
- User feedback every 3 attempts: “Waiting for issue PROJ-123 to be available locally (3/10)…”
- Automatic project refresh between attempts
- Fallback pull mechanism if initial attempts fail
- Clear feedback: Users see file creation progress and issue file paths for easy navigation
✔ Created 6 attachment file(s) in .../attachmentsℹ 📄 Issue file: /path/to/issue-PROJ-123.md
Example template (lean-story.md):
### Step 1: Validate Vertical Slice
- [ ] **Vertical Slice Check** - [Slice Validation](./attachments/01-vertical-slice.md)
### Step 2: Define Success Metrics
- [ ] **Metrics & Analytics Plan** - [Metrics Document](./attachments/02-metrics.md)
### Step 3: Plan Implementation
- [ ] **Implementation Plan** - [Build Plan](./attachments/03-plan.md?template=story)
When applied, automatically creates 6 documents: 01-vertical-slice.md (empty), 02-metrics.md (empty), 03-plan.md (with story template content), 04-results.md, 05-learnings.md, and 06-next-steps.md.
New Template
lean-story - Product-minded development workflow for execution
- Validate vertical slice: Ensure end-to-end value (UI → API → Database)
- Define success metrics BEFORE building
- Plan implementation with shippable increments
- Build, measure, and learn from real usage
- Focus on shipping in < 3 days
- 6 auto-created attachments: vertical-slice.md, metrics.md, plan.md, results.md, learnings.md, next-steps.md
Perfect for teams practicing continuous delivery and lean product development.
0.39.0
Attachment Modification Workflow
- Edit attachments locally: Modify, delete, or rename Jira attachments directly in your file system
- Modify: Edit files locally →
imdone pushuploads new version and deletes old version - Delete: Remove files from
attachments/folder →imdone pushdeletes from Jira - Rename: Rename files locally →
imdone pushhandles as delete old + upload new - Add new: Copy files into
attachments/folder →imdone pushuploads to Jira
- Modify: Edit files locally →
- Safety mechanism: Upload-then-delete pattern ensures old versions are preserved if upload fails
- New attachment is uploaded first
- Old attachment is only deleted after successful upload
- Prevents data loss during network failures or errors
- Git-aware detection: Uses git status captured before pull to properly detect deleted/renamed attachments
- Resolves issues with git stash/pop cycle interfering with change detection
- Handles cases where pull re-downloads attachments that were deleted locally
- Automatic cleanup: Orphaned attachments (deleted/renamed locally) are removed from Jira on push
- User feedback: Clear progress messages and summaries
✓ Updated: PROJ-123/screenshot.png (125KB)✓ Deleted: PROJ-123/old-file.pdf✓ Renamed: PROJ-123/draft.png → PROJ-123/final.png
0.38.0
Unix-Style ls Command Enhancement
- Familiar terminal behavior:
imdone lsnow follows Unixlsconventions for a more intuitive command-line experience - New display flags:
-l- Long format showing detailed issue information in table view (status, assignee, type, filename)-1- One issue per line (compact KEY + PATH format)-t- Sort by modification time (most recent first)-r- Reverse sort order
- Default format change: Compact listing showing KEY and PATH (similar to
ls -1) - Flag combinations: Support for combined flags like
-lt(long + time sort) and-ltr(long + time + reverse) - Backward compatibility: Existing
--limit,--format, and--queryoptions work with new flags - Time-based sorting: Issues sorted by
jiraUpdatedorgithubUpdatedmetadata field when using-t
Migration guide:
- Old default table format → Use
imdone ls -lfor detailed table view - Compact listing → Default behavior (or
imdone ls -1) - No breaking changes to command-line options or output formats
Favorites Feature
- Mark issues as favorites: New
imdone favoritecommand (alias:f) to mark issues for quick access - Filter by favorites:
imdone ls --favorites(orimdone ls --fav) shows only favorited issues - Visual indicators: Favorited issues show a ★ symbol in all list views
- Interactive prompts:
- Prompt for issue selection when adding favorites (shows all available issues)
- Prompt for removal shows only favorited issues for easy selection
- Personal workspace: Favorites stored locally in
.imdone/favorites.yml(git-ignored) - Provider support: Works with both Jira (PROJECT-123) and GitHub (issue numbers)
- Commands:
imdone favorite PROJ-123- Add to favoritesimdone favorite --remove- Remove from favorites (interactive)imdone ls --favorites- List only favoritesimdone ls --fav -lt- Favorites in long format, sorted by time
When to use: Perfect for users managing 10+ issues in current sprint who need to quickly focus on 2-3 active work items without scanning the full list.
Path Sanitization Enhancement
- Shell-safe directory names: Issue directory paths now remove shell-problematic characters
- Added
sanitizePathComponentfunction to handle backticks, quotes, and parentheses - Prevents issues when running shell commands with issue paths
- Example:
Issue (with parens)→Issue_with_parens - Improves reliability of CLI operations that involve file paths
- Added
Other Changes
- Implement
imdone logfor github issues.
0.37.0
- Fix comments files not generating properly
- Add gihub reactions metadata
0.36.0
GitHub Provider Enhancements
imdone addGitHub support: Fully supports creating GitHub Issues with template support- Provider-aware prompts: Skip irrelevant options (no issue type or sprint/backlog prompts for GitHub)
- Replay commands: Tailored to provider capabilities
- Template tags: Automatically converted to GitHub labels
- Provider capabilities system: Graceful handling of provider differences
Query Command Improvements
- Provider-agnostic query option: Changed
-j, --jqlto-q, --queryinimdone list/lscommand- Supports JQL for Jira:
imdone ls -q "project = PROJ AND assignee = currentUser()" - Supports GitHub search syntax:
imdone ls -q "assignee:@me is:open label:bug"
- Supports JQL for Jira:
- GitHub
@mesupport: Automatically resolvesassignee:@meto your GitHub username - Query validation: JQL validated for Jira; GitHub queries passed directly to API
- Verbose mode: Shows the actual query being executed (
--verboseor-v)
Configuration
- GitHub query configuration: Default query during init (
is:issue state:open) - Auto-detection: GitHub owner/repo detected from git remote origin URL
0.35.0
- Implemented
imdone pushfor GitHub issues - Supports pushing issue content, labels, and comments
0.34.0
- Added experimental GitHub provider support
imdone initnow allows selecting GitHub as the providerimdone pullfully functional for GitHub issues- Auto-detection of GitHub owner/repo from git remote origin URL
0.32.0
- Create ignore files with the proper splat pattern on init
- Import plugins properly for running in cli or desktop
0.31.0
Desktop Integration Improvements
- Manual watcher control commands: Added
imdone pauseandimdone resumecommandsimdone pause- Manually pause the desktop watcher for extended operationsimdone resume- Resume the desktop watcher after manual pause- Provides explicit control over desktop/CLI coordination
- Useful for manual conflict resolution or extended editing sessions
0.30.0
Free Plan Enhancements
- Expanded free plan capabilities: Enhanced free tier to allow attachments and comments
- Users on the free plan can now add comments to Jira issues
- Attachment support is now available for free plan users
- Improves user experience for small projects and teams evaluating imdone-cli
Desktop Integration Improvements
- Automatic desktop watcher pause: Added
.imdonepausefile mechanism to prevent conflicts- Creates
.imdonepausefile in backlog directory before any imdone-cli command runs - Automatically removes the pause file when command completes (even on errors)
- Prevents imdone desktop watcher from conflicting with CLI operations
- Ensures clean synchronization between desktop and CLI tools
- Creates
0.29.0
Enhanced Clean Project Functionality
- Simplified clean operation: Streamlined the
imdone cleancommand to focus on cleaning the default directory- Commit message changed to “Cleaned project files” for better clarity
- Always commits deletions after cleaning, regardless of directory contents
- Uncommitted changes protection: Added safety check to prevent cleaning when there are uncommitted changes
- Displays clear error message: “There are modified files. Commit or stash your changes before cleaning the project.”
- Prevents accidental data loss by ensuring working directory is clean before proceeding
- Stack traces are logged for debugging but not shown to users
0.28.0
Resolution Management for Jira Issues
- Automatic Resolution Setting: When moving issues to “Done” status, the resolution field is now automatically set to “Done” if no resolution exists
- Custom Resolution Flag (
-r, --resolution <value>): Set a custom resolution when moving to Done statusimdone move PROJ-123 Done --resolution "Fixed" - Skip Resolution Flag (
--no-resolution): Skip setting resolution even when moving to Doneimdone move PROJ-123 Done --no-resolution - Interactive Resolution Prompting (
-p, --prompt-resolution): Interactively select from available Jira resolutionsimdone move PROJ-123 Done --prompt-resolution- Fetches available resolutions from Jira API
- Includes “Skip” option
- Shows resolution descriptions
- Graceful fallback to common resolutions if API fails
Enhanced Move Command
- Respects existing resolutions (never overwrites)
- Non-blocking: move succeeds even if resolution setting fails
- Only prompts/sets resolution when moving to “Done” status category
- Supports multiple output formats (text, json, yaml, csv)
0.27.0
- Multi-project support for issue creation: Enhanced
imdone addcommand to support multiple Jira projects- Added
--project-keyoption to specify which project to create the issue in (e.g.,imdone add --project-key PROJ) - Interactive project selection prompt when multiple projects are configured in Jira adapter
- Automatically uses the only configured project when just one is available
- Project key validation with helpful feedback for invalid project keys
- Replay command now includes the selected project key for future non-interactive use
- Sprint options are now fetched for the selected project, ensuring accurate sprint assignment
- Added
0.26.0
- Fixed image rendering in Jira list items: Enhanced markdown-to-Jira conversion to properly handle images within list items
- Images that appear directly in ordered or unordered list items are now moved to separate lines during Jira sync
- Ensures images render correctly in Jira, which doesn’t support inline images within list items
0.25.0
- Template System Enhancement: Added
imdone templatecommand for applying templates to existing Jira issues- Interactive prompts for issue selection and template application
- Templates can include metadata (tags, custom fields) that gets merged with existing issue metadata
- Template content can reference existing issue content using
${markdown}placeholder - Includes default story template created during
imdone init - Perfect for applying Definition of Done (DoD) templates to existing stories
- JSON Metadata Format: Switched from YAML to JSON for issue metadata in comment blocks
- Improved parsing reliability and consistency
- Better integration with JavaScript-based tooling
- Maintains backwards compatibility during transition
- Enhanced Documentation: Updated “What you’ll see” section in README with more accurate project structure examples
0.24.4
- Remove the “command requires a Pro license.” message after
imdone pull - Show a list of issues after
imdone pull
0.24.3
1. Accurate Conversion of Jira Images
- Jira image macros like
!image.png|width=100%!are now correctly converted to HTML<img>tags (or Markdown image syntax) with all attributes preserved (width, height, alt, etc.). - When converting back from Markdown/HTML images to Jira markup, all attributes are retained. This means users won’t lose image sizing or alt text when roundtripping content.
2. Better Table Handling
- Blank lines are automatically added before and after tables when converting to Markdown, ensuring that Markdown renders tables correctly and consistently.
- Tables followed by images or other content are formatted so that display issues are avoided.
3. Improved Roundtrip Fidelity
- Complex Jira content (tables, images, quotes, lists) can be converted to Markdown and back to Jira without losing structure or formatting. This includes edge cases with images, tables, and block quotes.
4. Markdown Image Support
- Markdown syntax for images (
) is now supported and converted to Jira image macros when syncing content to Jira. - HTML
<img>tags with attributes are also supported, making the conversion more flexible and user-friendly.
0.24.2
- Fixed blank lines getting removed from comments
0.24.1
- Fixed imdone clone
0.24.0
- Imdone CLI is free for up to 5 issues: Updated licensing model to allow free usage for small projects
- Projects with 5 or fewer issues are now free to use imdone-cli without a license
- Larger projects still require a valid license token for full functionality
- Simplifies onboarding for small teams and individual developers
0.23.3
- Fixed comment formatting preservation: Enhanced comment formatting to maintain proper nested bullet structure during push operations
- Nested bullet formatting in comments is now preserved when syncing to Jira
- Ensures consistent formatting behavior between issues and comments
0.23.2
- Fixed inline code parsing: Enhanced JiraParser to correctly handle inline code that starts and ends with curly braces
- Prevents malformed rendering when code contains pattern like
{{variable}} - Improved regex pattern to avoid conflicts with Jira markup syntax
- Prevents malformed rendering when code contains pattern like
- Fixed header content parsing: Improved inline parsing of content within markdown headers
- Headers now preserve their content correctly during markdown-jira conversion
- Enhanced table formatting in list output: Improved the
imdone listcommand table display with dynamic column sizing- All columns (except summary) now auto-size based on actual content width for optimal space usage
- URL column configured to never wrap, ensuring URLs remain readable and copy-able
- Removed unnecessary padding to create more compact, efficient table layout
- Summary column remains fixed-width for consistent formatting while other columns adapt to content
0.23.1
- Enhanced AI integration: Added AI instructions to all generated issue content
- Issues now include context instructions for better AI-assisted development
0.23.0
- Fixed code preservation in markdown-jira conversion: Enhanced JiraParser to properly protect code content from formatting conversion
- Asterisks and other formatting characters in inline code (backticks) and code blocks now preserve correctly
- Prevents constants like
MEDICARE*SECONDARY*PAYER_APPLIESfrom being corrupted during roundtrip conversion
- Fixed underscore preservation in identifiers: Enhanced JiraParser italic regex to prevent snake_case variables from being converted to italics
- Constants like
ONE_TWO_THREE_FOURandSNAKE_CASE_VARIABLE_NAMEnow preserve correctly - Improved regex pattern requires word boundaries around italic markers to avoid matching identifier underscores
- Constants like
0.22.0
- Custom JQL support for list command: Enhanced
imdone listandimdone lscommands with custom JQL query capability- Added
--jqloption to override default project JQL configuration for flexible issue filtering - Added
--verboseoption to display the actual JQL query being executed - Comprehensive JQL validation with helpful error messages and examples
- Support for complex queries including assignee filters, status filters, sprint filters, and date ranges
- Automatic project key validation and suggestions for configured projects
- Seamless integration with existing output formats (text, json, yaml, csv) and limit options
- Examples include filtering by assignee, status, labels, sprints, priority, and creation date
- Added
- Enhanced show command: Improved
imdone showcommand with better format support and interactive prompts- Added
--formatoption support for structured output (json, yaml, csv, text) - Interactive issue selection when no issue key is provided on command line
- Improved markdown formatting for text output
- Added
- Improved move command: Fixed status display issues in transition prompts
- Corrected “from status” display to show accurate current status
- Enhanced push feedback: Updated table format after push operations
- Push results now display in same format as
imdone lsfor consistency
- Push results now display in same format as
- Better project initialization: Enhanced
imdone initcommand safety- Prevents running
imdone initwhen.imdone-cli.ymlfile exists in ancestor directories - Protects against accidentally creating nested or conflicting configurations
- Prevents running
0.21.0
- Improved file handling: Enhanced
.gitignorefile formatting- Adds proper newline before appending content to
.gitignorefiles for cleaner formatting
- Adds proper newline before appending content to
- Enhanced Jira API compatibility: Added automatic API version fallback for better enterprise support
- Automatically falls back to
/rest/api/3/search/jqlwhen/rest/api/2/searchreturns 410 - GONE - Improves compatibility with newer Jira instances that have deprecated v2 search API
- Automatically falls back to
0.20.1
- Enhanced user experience improvements: Improved interactive prompts and user feedback throughout the CLI
- Added comprehensive issue summaries to selection prompts for better context
- Enhanced feedback messages during git and Jira operations to keep users informed
- Improved error handling and user guidance for common scenarios
- File handling optimization: Enhanced gitignore and imdoneignore file management
- Prevents duplicate entries when appending content to .gitignore and .imdoneignore files
- Smart content checking ensures cleaner configuration files
- Clear command enhancement: Made
imdone clearcommand more robust- Now safely handles cases where no current-sprint directory exists
- Eliminates unnecessary errors and provides better user feedback
- Documentation improvements: Streamlined README.md Key Features section for better developer experience
- More concise and focused feature descriptions
- Better organization of developer-focused information
0.19.0
- Enhanced output formatting: Added
-f, --formatoption to major commands for structured data output- Supported formats:
json,yaml,csv,text(default) - Available on:
list,log,pull,add,move,resetcommands - Perfect for automation, scripting, and integration with other tools
- Supported formats:
- Improved Jira table handling: Fixed conversion issues with empty table cells from Jira to markdown
- Better text formatting support: Enhanced handling of bold and italic text without requiring spaces
- Git commit enhancement: All imdone operations now include version information in commit messages for better tracking
0.18.2
- Fixed bug
fatal: pathspec ...metadata.yml did not match any files
0.18.0
- Issue creation command: Added
imdone addcommand for creating new Jira issues directly from the CLI- Interactive prompts for template selection, issue type, location (backlog/sprint), and summary
- Command-line options support for automation:
--template,--issue-type,--location,--sprint-id,--summary - Template integration from
.imdone/templatesfor consistent issue structure - Automatic sprint assignment when creating issues for active sprints
- Displays replay command after creation showing exact options for future use without prompts
0.17.1
- Fixed folder cleanup after status changes: Resolved issue where issue folders weren’t automatically removed after using
imdone movecommand- Issue folders are now properly cleaned up immediately after status transitions
- No longer requires running
imdone pullto remove empty issue folders - Improves workspace organization and reduces clutter
0.17.0
- Attachment upload support: Added ability to upload new attachments to Jira during
imdone push- Automatically detects new files in
attachments/directories within issue folders - Uploads files to corresponding Jira issues and updates local metadata tracking
- Includes author information (display name, email, account ID) in attachment metadata
- Provides user feedback on successful uploads and handles errors gracefully
- Maintains backwards compatibility with existing attachment download functionality
- Automatically detects new files in
0.16.1
- Fixed attachment download functionality: Resolved critical issue with Jira attachment downloads
- Fixed HTTP redirect handling in fetch adapter for binary downloads (Jira returns 303 redirects for attachments)
- Enhanced file validation to ensure downloaded attachments match expected sizes
- Improved error handling and debugging output for attachment download failures
- Verified attachment downloads are properly saved to the configured
backlogDirlocation - All attachment types (images, documents, etc.) now download correctly during
imdone pull
0.16.0
- Enhanced move command with fuzzy search: Improved
imdone movecommand with intelligent issue key selection- Added fuzzy search to issue key prompt for faster issue discovery
- Automatically suggests existing issue keys from your project
- Supports exact match, prefix match, contains match, and character sequence matching
- Case-insensitive search with smart ranking
- Fallback to manual input for new issue keys
- Enhanced log command with interactive prompts: Improved
imdone logcommand with fuzzy search capabilities- Made issue key parameter optional - command now prompts for selection when not provided
- Added fuzzy search functionality for issue key selection with intelligent ranking
- Consistent user experience with the move command’s interactive prompts
- Attachment synchronization: Added automatic attachment download during
imdone pull- Downloads all issue attachments to local
attachments/folders - Preserves original filenames and supports all attachment types
- Graceful error handling for failed downloads
- Downloads all issue attachments to local
0.15.0
- Issue status transitions: Added
imdone movecommand to change Jira issue statuses directly from the command line- Use
imdone move <issue-key> <status>to move an issue to a specific status - Interactive prompts when arguments are not provided
- Automatic discovery of available transitions for each issue
- Support for case-insensitive status matching
- Alias:
mvfor shorter commands - Automatic sync: After successfully changing an issue’s status, the command automatically runs
imdone pullto sync the updated status to your local files. If the selected status is the same as the current status, no changes are made and no sync occurs.
- Use
0.14.1
- Make sure rank is using the correct field (Not obsolete one)
0.14.0
- Backlog ordering: Enhanced
imdone listto display issues in proper rank order, making it easier to find the next most important things to work on - Enhanced list command: Added
--limitoption toimdone listandimdone lscommands for controlling the number of displayed tasks- Use
-lor--limit <number>to show only the first N tasks - Helpful for large projects with many issues
- Shows informative feedback when limiting results (e.g., “showing first 5”)
- Use
- Improved initialization flow: Enhanced
imdone cloneandimdone initcommands with better help text and guidance links- Clearer prompts and instructions for new users
- Better onboarding experience for Jira integration setup
- Comment file improvements: Added HTML comment headers to comments files for better organization
- Extended metadata support: Added assignee and reporter information to issue metadata
assignedTo: Display name of the person assigned to the issueassignedToEmail: Email address of the assigneereporter: Display name of the person who created the issuereporterEmail: Email address of the reporter- Automatic field detection and mapping from Jira
0.13.0
- Comment requirements: Added
commentRequiredmetadata support to enforce comments on specific tasks- Tasks with
commentRequired:truemust have a comment before they can be pushed to Jira - Interactive prompts guide users to add required comments during
imdone push - Comments are automatically added to the appropriate comments file and synced to Jira
- Git hooks properly handle interactive prompts with terminal input redirection
- Tasks with
0.12.2
- Only update .gitignore files on init if the content doesn’t already exist
- Replace .env values on init
0.12.1
- Exclude order metadata from getting saved to jira
0.12.0
- Add comments to jira issues with
imdone push
0.11.8
- Git hooks integration: Added
imdone hookscommand with setup and remove subcommands for automatic synchronization- Post-merge hook automatically runs
imdone pullafter successful git pull operations - Pre-push hook runs
imdone pushbefore git push and blocks push if imdone sync fails - Hooks use smart directory resolution to find
.imdone-cli.ymlin git repository or parent directories - Force overwrite option available with
--forceflag for existing hook management
- Post-merge hook automatically runs
- Improved installation reliability: Enhanced preinstall and postinstall scripts to run from correct directory
- Optimized data handling: Removed encodedText from data processing to avoid unnecessary removeMD operations and improve performance
0.11.6
- Removed remark dependency: Eliminated unnecessary dependency to reduce package size and improve installation speed
- Fixed empty blockquote handling: Resolved issue where empty blockquotes were being added to markdown files, now uses blank lines instead for cleaner formatting
- Fixed ordered list numbering: Corrected issue where ordered list numbering continued across separate lists instead of restarting at 1
- Enhanced mixed list parsing: Improved Jira parsing and generation for ordered lists nested within unordered lists
- Automatic directory cleanup: Empty directories in current-sprint folder are now automatically removed after
imdone pullto keep workspace clean - Fixed concurrency race condition: Resolved race condition in throttledPromiseAll function that could cause operations to appear completed before all async work finished
0.11.0
- Standardized list formatting: All list nesting now uses consistent 4-space indentation for better readability and Jira compatibility
- Automated installation scripts: Added pre and post install scripts to check for uncommitted changes and automatically run updates
- Improved quote handling: Fixed issue where blockquotes were being moved to incorrect sections in files
- Better inline code processing: Fixed inline code spans being incorrectly interpreted as markdown formatting
- Multiple table support: Enhanced support for documents containing multiple markdown tables
- Updated ignore patterns: Added
current-sprint/**/*to ignore files for better git management - URL validation improvements: Fixed error when Jira URL contains trailing slash during
imdone init - Metadata in code blocks: Metadata is now stored in code blocks on Jira side and properly populated on pull without adding code blocks to markdown
- Comments file creation: Automatically creates separate comments files during
imdone pullfor better organization - Enhanced markdown linting: Improved linter to normalize tables and clean up mixed ordered/unordered lists
- New directory structure: Implemented organized folder structure in current-sprint directory with individual folders per Jira item
0.10.2
- Fix prefix being added by Jira in ordered and unordered lists
0.10.1
- line breaks in tables on the jira side were causing the tables to break on the markdown side
- Convert line breaks to
<br>tags in markdown
- Convert line breaks to
0.10.0
- Enhanced markdown linting: Integrated markdownlint for improved code formatting and consistency
- Code blocks are automatically unindented and normalized to proper formatting
- Enforces consistent markdown standards across all backlog files
- Improved list command: Enhanced
imdone list(aliasls) with better formatting- Added status display (TODO, DOING, etc.) for each issue
- Output now displays as a formatted table for better readability
- Epic support: Added epic linking and metadata tracking
- Epic information is now included in issue metadata
- Automatic detection of epic custom field configuration
- Epic links are preserved during Jira synchronization
- New show command: Added
imdone show <ISSUE_KEY>command (aliass)- Display detailed issue information including description, status, and comments
- Provides comprehensive view of Jira issue data from the command line