IHJ: Instant High-speed Jira... - #4
Merged
Merged
Conversation
feat: partial refactor to ihj
There was a problem hiding this comment.
Pull request overview
Refactors the dotfiles Jira helper from the legacy apps/jira bash + jira CLI workflow into a new Python-based apps/ihj utility that talks directly to the Jira API and drives an fzf-based TUI.
Changes:
- Added a new
apps/ihjPython utility (config loading/validation, Jira API client/payloads, ADF⇄Markdown formatting, andfzfTUI rendering/bindings). - Updated installation/stowing to introduce an
ihjexecutable entrypoint. - Removed the previous
apps/jirabash subcommands, utils, schemas, and templates.
Reviewed changes
Copilot reviewed 33 out of 36 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
stow.sh |
Updates stow/link behavior to introduce the ihj command. |
apps/jira/utils/jira/validate_with_schema.sh |
Removes legacy bash YAML/schema validation helper. |
apps/jira/utils/jira/validate_param.sh |
Removes legacy bash param validation helper. |
apps/jira/utils/jira/get_filter.sh |
Removes legacy bash JQL filter builder using jira me. |
apps/jira/utils/jira/get_active_sprint.sh |
Removes legacy bash sprint lookup via curl/jq. |
apps/jira/utils/jira/build_frontmatter.sh |
Removes legacy bash frontmatter builder. |
apps/jira/utils/jira/append_template.sh |
Removes legacy bash template appender. |
apps/jira/utils/fzf/pipe_to_fzf.sh |
Removes legacy fzf pipeline and bindings built around jira CLI. |
apps/jira/templates/task.md |
Removes legacy issue template. |
apps/jira/templates/story.md |
Removes legacy issue template. |
apps/jira/templates/epic.md |
Removes legacy issue template. |
apps/jira/templates/bug.md |
Removes legacy issue template. |
apps/jira/subcommands/show.sh |
Removes legacy show subcommand implementation. |
apps/jira/subcommands/create.sh |
Removes legacy create subcommand implementation. |
apps/jira/schemas/frontmatter.json |
Removes static legacy frontmatter schema. |
apps/jira/j |
Removes legacy bash entrypoint for j. |
apps/ihj/ihj |
Adds the new Python entrypoint orchestrating config, cache, API calls, export, and fzf UX. |
apps/ihj/constants.py |
Adds ANSI styling constants shared across the TUI. |
apps/ihj/config/io.py |
Adds config file/YAML parsing via yq. |
apps/ihj/config/processor.py |
Adds config validation + derived maps (type order, formatted custom fields). |
apps/ihj/config/__init__.py |
Initializes config package. |
apps/ihj/jira/client.py |
Adds Jira REST/Agile API calls (search, transitions, issue updates, sprint ops). |
apps/ihj/jira/payloads.py |
Adds request/response payload builders and helpers. |
apps/ihj/jira/jql_builder.py |
Adds safe JQL construction and safety checks. |
apps/ihj/jira/markdown.py |
Adds ADF⇄Markdown conversion + frontmatter/body splitting. |
apps/ihj/jira/hierarchy.py |
Adds export hierarchy building and hashing. |
apps/ihj/jira/idempotency.py |
Adds deterministic hashing for change detection. |
apps/ihj/jira/persistence.py |
Adds export metadata/state persistence helpers. |
apps/ihj/jira/__init__.py |
Initializes jira package. |
apps/ihj/tui/formatters.py |
Adds ANSI formatting helpers + status/priority styling. |
apps/ihj/tui/view_builders.py |
Adds registry/preview builders for fzf list + preview panes. |
apps/ihj/tui/terminal.py |
Adds fzf launcher, raw-mode numeric menu, editor integration, and notifications. |
apps/ihj/tui/__init__.py |
Initializes tui package. |
apps/ihj/commands/upsert.py |
Adds edit/create (“upsert”) workflow including schema generation and transitions/sprint ops. |
apps/ihj/commands/comment.py |
Adds comment workflow using the Jira API. |
apps/ihj/.gitignore |
Adds Python-specific ignores for the new app directory. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+104
to
+106
| cmd = [editor_cmd] | ||
|
|
||
| if any(v in editor_cmd.lower() for v in ["vim", "nvim", "vi"]): |
mikecsmith
added a commit
that referenced
this pull request
Apr 1, 2026
* feat: full python tui refactor feat: partial refactor to ihj * chore: remove legacy jira app * fix: imports and help menu fixes * chore: update stow for ihj
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Full refactor of the
jbash scripts to a python utility - changes:jiraCLIfzffor UIyq(the Go version)stow.sh