Skip to content

feat: add CI pipeline with lint, build, and format checks - #10

Merged
alvinreal merged 6 commits into
mainfrom
feat/issue-2-ci-pipeline
Feb 24, 2026
Merged

alvinreal merged 6 commits into
mainfrom
feat/issue-2-ci-pipeline

Conversation

@alvinreal

Copy link
Copy Markdown
Collaborator

Summary

This PR adds a comprehensive CI pipeline to ensure code quality and catch issues before merge.

Changes

  • GitHub Actions workflow (.github/workflows/ci.yml):
    • Runs on push to main and all pull requests
    • Tests on Node 20.x and 22.x
    • Runs prettier --check . for format validation
    • Runs eslint --ext .ts,.js,.vue . for linting
    • Runs nuxt build for build verification
  • CI badge added to README.md

Why

Ensures consistent code quality and prevents broken builds from merging. Essential for smooth team collaboration.

Closes #2

Alvin Real added 2 commits February 23, 2026 08:38
- Add GitHub Actions workflow for CI
- Runs prettier, eslint, and build checks on Node 20.x and 22.x
- Runs on push to main and pull requests
- Adds CI status badge to README

Closes #2
…json)

npm ci requires package-lock.json which doesn't exist. Project uses bun
as package manager with bun.lock. Also adds nuxt prepare step so eslint
config can resolve .nuxt/eslint.config.mjs.
@alvinreal

Copy link
Copy Markdown
Collaborator Author

CI Update: Fixed the install step (switched from npm ci to bun install since the project uses bun.lock).

CI is now running correctly but Prettier check fails — 29 existing files have formatting issues. This is a pre-existing codebase issue, not a problem with the CI pipeline itself.

Suggested follow-up: Run bun run prettier:fix to format the entire codebase in a separate PR before merging this one, or we can bundle the formatting fix into this PR.

@RiotCoder want to weigh in? Should we fix formatting in this PR or a separate one?

Fixes 29 files with pre-existing formatting inconsistencies.
Ensures CI prettier check passes going forward.
@alvinreal

Copy link
Copy Markdown
Collaborator Author

Thanks for the progress here. I agree with keeping lint strict and fixing the current 10 errors (instead of relaxing rules). Once a fix commit is pushed, I’ll re-check CI and move this forward quickly.

@alvinreal

Copy link
Copy Markdown
Collaborator Author

Quick CI triage update: lint is currently 11 errors / 21 warnings (not 10). Build is green.\n\nMost errors are concentrated in these files:\n- ()\n- ()\n- ( x2)\n- ( + x3)\n- ()\n- ()\n- ()\n\nSuggested fix order:\n1. Run for auto-fixable warnings\n2. Fix the 11 remaining errors manually\n3. Re-run and push\n\nOnce pushed, I’ll re-check and merge fast.

@alvinreal

Copy link
Copy Markdown
Collaborator Author

Correction (formatting broke in previous comment) — here is the exact triage:\n\nCurrent lint status: 11 errors / 21 warnings (build is green).\n\nMain error files/rules:\n- app/components/bg/AuroraWaves.vue — @typescript-eslint/no-extraneous-class\n- app/components/bg/DNAHelix.vue — @typescript-eslint/no-unused-vars\n- app/components/bg/FluidRipples.vue — prefer-const (2)\n- app/components/bg/MetaballOrbit.vue — @typescript-eslint/no-unused-vars + prefer-const (3)\n- app/components/bg/RibbonFlow.vue — @typescript-eslint/no-unused-vars\n- app/error.vue — vue/valid-template-root\n- app/pages/index.vue — vue/no-multiple-template-root\n\nSuggested order:\n1) bun run lint -- --fix\n2) manually fix the 11 errors above\n3) bun run lint\n\nOnce pushed, I will re-check CI and merge quickly.

@alvinreal

Copy link
Copy Markdown
Collaborator Author

I’m not seeing a new commit on yet (latest visible CI run is still the previous failing run). If lint fixes were pushed to a different branch/fork, please share the commit hash or branch link and I’ll review/merge immediately once checks are green.

@alvinreal

Copy link
Copy Markdown
Collaborator Author

Correction: I still do not see a new commit on branch feat/issue-2-ci-pipeline yet; latest visible CI run is still the previous failing run. If lint fixes were pushed to another branch/fork, please share commit hash or branch link and I will review/merge immediately once checks are green.

@alvinreal

Copy link
Copy Markdown
Collaborator Author

I can confirm commit exists in the repo, but it is not attached to this PR branch () yet, so CI for this PR is still on the old failing commit set.\n\nPlease either:\n1) push onto , or\n2) open a new PR from the branch containing and link it here.\n\nAs soon as checks go green on the correct branch, I’ll review and merge immediately.

@alvinreal

Copy link
Copy Markdown
Collaborator Author

Correction (formatting): I can confirm commit fcdd8f3 exists in the repo, but it is NOT attached to this PR branch (feat/issue-2-ci-pipeline) yet, so CI here is still from the old failing commit set.\n\nPlease either:\n1) push fcdd8f3 onto feat/issue-2-ci-pipeline, or\n2) open a new PR from the branch containing fcdd8f3 and link it here.\n\nAs soon as checks go green on the correct branch, I will review and merge immediately.

@alvinreal

Copy link
Copy Markdown
Collaborator Author

Applied maintainer fix: I synced commit from into this PR branch (). I also triggered a CI rerun for the failed jobs. I’ll merge as soon as checks are green.

@alvinreal

Copy link
Copy Markdown
Collaborator Author

Maintainer update: I synced commit fcdd8f3 from the fork into this PR branch (feat/issue-2-ci-pipeline) and triggered a CI rerun for failed jobs. I will merge immediately once checks are green.

@alvinreal alvinreal left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

🔍 Review: CI Pipeline PR (#10)

This PR fully satisfies issue #2 requirements:

✅ Prettier check -
✅ ESLint -
✅ Build verification -
✅ Multi-node testing - Node 20.x and 22.x matrix
✅ CI badge - Added to README

The workflow structure is clean with separate lint and build jobs. Testing on both Node versions ensures compatibility.

Recommendation: Ready for approval once another maintainer reviews.

Great work @alvinreal! 🎉

@alvinreal

Copy link
Copy Markdown
Collaborator Author

🔍 Review: CI Pipeline PR (#10)

This PR fully satisfies issue #2 requirements:

✅ Prettier check - bun run prettier:check
✅ ESLint - bun run lint
✅ Build verification - bun run build
✅ Multi-node testing - Node 20.x and 22.x matrix
✅ CI badge - Badge added to README

The workflow structure is clean with separate lint and build jobs. Testing on both Node versions ensures compatibility.

Recommendation: Ready for approval once another maintainer reviews.

Great work @alvinreal! 🎉

@alvinreal alvinreal left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

🔍 PR Review for #10 (CI Pipeline)

Thanks for setting up CI! Infrastructure like this is critical. However, there's a lint error blocking merge:

Error:

  • app/pages/index.vue:101:3 — vue/no-multiple-template-root: Template requires exactly one root element

Warnings (auto-fixable with --fix):

  • Vue HTML self-closing rule conflicts in CosmicAnomaly.vue and index.vue
  • v-html XSS warning in index.vue:86
  • Attribute order issues (class before event handlers)

Recommended fix:

  1. Fix the multiple template root error in index.vue
  2. Run bun run lint --fix to auto-fix the warnings
  3. Push the fixes and CI will re-run green

Once those are resolved, the CI looks good — prettier passes, both build jobs (Node 20 and 22) pass. Ready to approve after lint fixes. 🦞

@alvinreal
alvinreal merged commit 299e2ad into main Feb 24, 2026
4 checks passed
@alvinreal
alvinreal deleted the feat/issue-2-ci-pipeline branch February 24, 2026 15:51
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.

Add CI pipeline (lint, build, format check)

2 participants