Skip to content

Conversation

@Jamie-BitFlight
Copy link
Contributor

@Jamie-BitFlight Jamie-BitFlight commented Jan 24, 2026

Summary

Updates documentation to accurately reflect the current state of the repository after the modernization effort.

Changes

CLAUDE.md:

  • Add missing source files documentation (fs-helper.ts, input-helper.ts, utils.ts, index.ts)
  • Add missing script documentation (test:unit, test:integration, test-ci, all, commit, e2e:setup:http)
  • Add missing E2E script documentation (e2e-config.ts, setup-jira.ts)
  • Document __tests__/mocks/ directory with jira-api.ts
  • Add CI Workflows section listing all workflow files

README.md:

  • Add Development section with prerequisites (Node 22+, Yarn, Docker)
  • Document available yarn scripts (build, test, lint, format, e2e:all)
  • Note tooling stack: Biome, Vitest, Rollup
  • Clarify Node version requirements (development: 22+, GitHub Actions runtime: 20)

e2e/README.md:

  • Fix Docker image reference to clarify that project uses haxqer/jira:9.17.5 (third-party Data Center image)
  • Keep Atlassian link for reference with clarifying note

Test Plan

  • Documentation changes only - no code changes
  • Markdown linting passed

Summary by CodeRabbit

  • New Features

    • Reorganized public API with new modular entry points for cleaner imports and better separation of concerns.
    • Enhanced test and development infrastructure with new utilities and configuration files.
  • Documentation

    • Added comprehensive development guide covering prerequisites, build scripts, linting, and testing workflows.
    • Updated E2E documentation with resource references.

✏️ Tip: You can customize this high-level summary in your review settings.

## CLAUDE.md
- Add missing source files: fs-helper.ts, input-helper.ts, utils.ts, index.ts
- Add missing scripts: test:unit, test:integration, test-ci, all, commit, e2e:setup:http
- Add missing E2E scripts: e2e-config.ts, setup-jira.ts
- Document __tests__/mocks/ directory
- Add CI Workflows section

## README.md
- Add Development section with prerequisites
- Document available yarn scripts
- Note tooling: Biome, Vitest, Rollup
- Clarify Node version requirements (dev: 22+, runtime: 20)

## e2e/README.md
- Fix Docker image reference to clarify haxqer/jira usage
Copilot AI review requested due to automatic review settings January 24, 2026 23:44
@coderabbitai
Copy link

coderabbitai bot commented Jan 24, 2026

📝 Walkthrough

Walkthrough

The public API surface is restructured from monolithic core classes to a modular entry point setup with distributed modules per concern. Multiple new public files are introduced, along with E2E infrastructure utilities and test mocks. Documentation is updated to reflect new development workflows.

Changes

Cohort / File(s) Summary
Public API Restructuring
src/index.ts, src/action.ts, src/Jira.ts, src/Issue.ts, src/EventManager.ts, src/input-helper.ts, src/fs-helper.ts, src/utils.ts
Modular API surface replaces single core class exports; new entry point and orchestrator files introduced; domain models and utility helpers exposed as dedicated public modules
E2E Infrastructure
src/e2e-config.ts, src/setup-jira.ts, src/snapshot-check.ts, src/snapshot-save.ts, src/snapshot-restore.ts
E2E configuration, Jira setup, and snapshot management utilities added to public tooling surface
Test Infrastructure
__tests__/mocks/jira-api.ts
Mock infrastructure for Jira API interactions added to test utilities
Documentation
README.md
Development section added covering prerequisites, available scripts, and tooling guidance
E2E Documentation
e2e/README.md
Docker image resource references updated; Atlassian link replaced with third-party Jira Data Center image documentation

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 Modules bloom in organized rows,
Where Jira and helpers in harmony grow,
From monolith to modular delight,
Each concern in its own little light! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'docs: update documentation for accuracy and completeness' is overly broad and vague. It describes a documentation update without specifying what documentation was updated or what the primary changes are. Use a more specific title that identifies the key documentation updates, such as 'docs: add development guide and update Docker image references' or similar.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
CLAUDE.md (1)

148-148: Clarify Node version requirement to avoid conflict with README.

README notes GitHub Actions runtime uses Node 20, while this line reads as a hard requirement for Node 22+. Consider specifying that Node 22+ is for development, not the Actions runtime.

✏️ Proposed edit
-- The action requires Node 22+
+- Development requires Node 22+ (GitHub Actions runtime uses Node 20)
🤖 Fix all issues with AI agents
In `@README.md`:
- Around line 83-111: In the "Node Version Note" section of the README, the last
bullet uses lowercase "node22"; update that bullet to use the same
capitalization as the earlier line (e.g., "Node 22" or "Node 22+"), ensuring
consistency with the "Development" prerequisites and the other Node mentions in
the file.

Comment on lines +83 to +111
## Development

### Prerequisites

- Node.js >= 22.0.0
- Yarn package manager
- Docker (for E2E tests)

### Available Scripts

```bash
yarn build # Build the action (Rollup ESM bundle)
yarn test # Run unit tests (Vitest)
yarn lint # Check linting (Biome)
yarn lint:fix # Auto-fix linting issues
yarn format # Format code (Biome)
yarn e2e:all # Run full E2E test suite
```

### Tooling

- **Biome** for linting and formatting (replaces ESLint + Prettier)
- **Vitest** for unit testing (replaces Jest)
- **Rollup** for bundling (ESM output)

### Node Version Note

- Development requires **Node 22+**
- GitHub Actions runtime uses **Node 20** (GitHub doesn't support node22 yet)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Minor wording polish for Node version note.

The last bullet uses “node22”; consider capitalizing for consistency with earlier lines.

✏️ Proposed edit
-- GitHub Actions runtime uses **Node 20** (GitHub doesn't support node22 yet)
+- GitHub Actions runtime uses **Node 20** (GitHub doesn't support Node 22 yet)
🧰 Tools
🪛 LanguageTool

[grammar] ~111-~111: Ensure spelling is correct
Context: ...ses Node 20 (GitHub doesn't support node22 yet)

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
In `@README.md` around lines 83 - 111, In the "Node Version Note" section of the
README, the last bullet uses lowercase "node22"; update that bullet to use the
same capitalization as the earlier line (e.g., "Node 22" or "Node 22+"),
ensuring consistency with the "Development" prerequisites and the other Node
mentions in the file.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates repository documentation to better reflect the current (modernized) project structure, tooling, and workflows.

Changes:

  • Expanded CLAUDE.md with more complete source file and script documentation, plus a CI workflows section.
  • Added a Development section to README.md (prereqs, scripts, tooling, Node version notes).
  • Clarified E2E Docker image usage in e2e/README.md.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
CLAUDE.md Documents core source files, scripts, E2E assets, and CI workflows (but workflow list is incomplete vs repo).
README.md Adds development prerequisites/scripts/tooling and clarifies Node version expectations (but includes an inaccurate platform claim).
e2e/README.md Clarifies that E2E uses haxqer/jira:9.17.5 and adds context about Atlassian images (but “not used in this project” is inaccurate).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +110 to +111
- Development requires **Node 22+**
- GitHub Actions runtime uses **Node 20** (GitHub doesn't support node22 yet)
Copy link

Copilot AI Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Node version note is internally inconsistent with the repo setup: workflows in .github/workflows/* already use actions/setup-node with Node 22, and action.yml specifies runs.using: node20 (action runtime), not a GitHub platform limitation. Consider rewording to distinguish (1) development/CI using Node 22 (per engines.node), vs (2) the published GitHub Action runtime being Node 20 due to runs.using: node20, and remove/adjust the "GitHub doesn't support node22 yet" claim.

Suggested change
- Development requires **Node 22+**
- GitHub Actions runtime uses **Node 20** (GitHub doesn't support node22 yet)
- Development and CI use **Node 22+** (see `engines.node` and workflows)
- The published GitHub Action runtime currently runs on **Node 20** (configured via `runs.using: node20` in `action.yml`)

Copilot uses AI. Check for mistakes.
- [Docker Compose Documentation](https://docs.docker.com/compose/)
- [Atlassian Docker Images](https://hub.docker.com/r/atlassian/jira-software)
- [haxqer/jira Docker Image](https://hub.docker.com/r/haxqer/jira) - Third-party Jira Data Center image used by this project (`haxqer/jira:9.17.5`)
- [Atlassian Docker Images](https://hub.docker.com/r/atlassian/jira-software) - Official images (for reference; not used in this project)
Copy link

Copilot AI Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The note "Official images (for reference; not used in this project)" is inaccurate: the repo uses an official Atlassian image in docker-compose.test.yml (atlassian/jira-software:9.12-jdk17) for integration testing. Consider rewording to something narrower like "not used for the E2E Docker harness" or explicitly distinguishing E2E (haxqer) vs integration test compose (Atlassian).

Suggested change
- [Atlassian Docker Images](https://hub.docker.com/r/atlassian/jira-software) - Official images (for reference; not used in this project)
- [Atlassian Docker Images](https://hub.docker.com/r/atlassian/jira-software) - Official images (used by integration tests; not used by the E2E Docker harness)

Copilot uses AI. Check for mistakes.
Comment on lines +129 to +138
## CI Workflows

Located in `.github/workflows/`:

- **`ci.yml`** - Main CI pipeline. Runs on PRs to main/develop and pushes to main. Includes validate job (type check, lint, build, verify dist up-to-date) and unit tests.
- **`unit-tests.yml`** - Standalone unit test runner. Runs on PRs to main/develop and pushes to main. Executes `yarn test` and builds.
- **`e2e-jira.yml`** - E2E tests with Dockerized Jira Data Center. Supports snapshot restore for faster runs. Has `skip_snapshots` workflow_dispatch input to force full setup.
- **`build-e2e-snapshots.yml`** - Scheduled workflow (every 5 days at 3am UTC) to build and upload E2E Docker volume snapshots. Supports `force_rebuild` workflow_dispatch input.
- **`push_code_linting.yml`** - Biome linting on pull requests with reviewdog integration for PR review comments.

Copy link

Copilot AI Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new "CI Workflows" list is incomplete: the repo also contains workflows like claude.yml, claude-code-review.yml, create_tag.yml, publish_action.yml, pull_request_cleanup_tags_and_releases.yml, and respond-to-ci-failures.yml under .github/workflows/. Either add the missing workflow files here, or clarify that this section lists only the primary CI workflows (and update the PR description accordingly).

Copilot uses AI. Check for mistakes.
@Jamie-BitFlight Jamie-BitFlight merged commit ddef971 into main Jan 25, 2026
14 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants