Skip to content

repo setup and commit check changes - #2

Merged
SaiCharan99 merged 4 commits into
mainfrom
develop
May 13, 2026
Merged

SaiCharan99 merged 4 commits into
mainfrom
develop

Conversation

@SaiCharan99

@SaiCharan99 SaiCharan99 commented May 13, 2026 •

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • Documentation

    • Added comprehensive Neon Postgres documentation with getting started guides and feature references.
  • Chores

    • Configured Git hooks for pre-commit linting and commit message validation.
    • Added GitHub Actions CI workflow to run automated lint, format, and type checks on pull requests and pushes.
    • Added project environment configuration and pull request template for development setup.

Review Change Stack

Enforce conventions automatically so they cannot rot:

- husky 9 wires git hooks; "prepare" script auto-installs on pnpm install
- pre-commit runs lint-staged: eslint --fix + prettier --write on
  changed TS/JS, prettier --write on JSON/MD/YAML
- commit-msg runs commitlint with config-conventional and an explicit
  scope-enum matching the workspaces (pipeline, web, db, channels,
  types, remotion, ci, deps, repo)
- pre-push runs typecheck across all workspaces — catches type
  regressions before they hit CI
Run on push and PR to main/develop. Uses .nvmrc for Node version
and packageManager (pnpm 9.15.0) via the official pnpm action.

Pipeline:
- pnpm install --frozen-lockfile (catches lockfile drift)
- pnpm format:check
- pnpm lint
- pnpm typecheck

Also adds a PR template so changes describe what/why/how-tested
without me having to remember.

Concurrency group cancels superseded runs on the same branch so a
fast follow-up commit does not queue behind a stale one.
Grouped by the phase that introduces each key, so contributors only
fill in what the phase they are working on actually needs. Phases 0-1
have no LLM/API dependencies; Phase 2 needs Anthropic + Brave; Phase 5
adds ElevenLabs/Pexels/Replicate; Phase 6 adds YouTube OAuth.

Every var has an inline pointer to where to obtain the credential.
@coderabbitai

coderabbitai Bot commented May 13, 2026 •

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This PR establishes foundational developer experience and project infrastructure, adding Neon Postgres AI skill documentation, environment variable configuration, automated commit validation with Husky and commitlint, pre-commit code quality checks via lint-staged, a GitHub Actions CI pipeline, and a PR template to guide contributor submissions.

Changes

Project Infrastructure and Developer Experience

Layer / File(s) Summary
Commit Message Validation Configuration
commitlint.config.js, .husky/commit-msg
Enforces conventional commits with allowlisted types and scopes, validates messages via Husky commit-msg hook.
Pre-commit Code Quality Automation
package.json, .husky/pre-commit
Stages ESLint and Prettier checks via lint-staged, integrates with Husky pre-commit hook and adds devDependencies.
CI Pipeline and Type Checking
.github/workflows/ci.yml, .husky/pre-push
Adds GitHub Actions CI that checks format, lints, and type-checks; pre-push hook enforces typecheck before push.
Neon Postgres AI Skills Documentation
.agents/skills/neon-postgres/SKILL.md, .claude/skills/neon-postgres/SKILL.md, skills-lock.json
Comprehensive guides to Neon Serverless Postgres covering documentation, drivers, admin APIs, auth, and platform features; registered in skills lock file.
Environment Configuration and Contribution Guidelines
.env.example, .github/PULL_REQUEST_TEMPLATE.md
Environment variables template organized by startup phase and PR form with summary, test plan checklist, and reviewer notes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • SaiCharan99/VideoGenAI#1: Sets up the ESLint, Prettier, TypeScript, and pnpm workspace configurations that the git hooks and CI pipeline in this PR depend on and invoke.

Poem

🐰 Git hooks and pipelines align,
Commits validated, code refined,
Neon glows in docs so fine,
Workflows dance in perfect line,
Infrastructure's grand design!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'repo setup and commit check changes' accurately describes the main changes: adding development tooling configuration (Husky hooks, commitlint, lint-staged), CI workflow setup, and environment documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch develop

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

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

⚠️ Outside diff range comments (1)
.claude/skills/neon-postgres/SKILL.md (1)

1-187: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick win

Consolidate duplicate Neon Postgres skill documentation.

The file .claude/skills/neon-postgres/SKILL.md is identical to .agents/skills/neon-postgres/SKILL.md. Maintaining two copies creates a maintenance burden and risks divergence. Use one of these approaches:

  1. Keep a single source of truth and use a symlink
  2. Use a build step to copy from a single source
  3. Remove one location if only one is needed
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.claude/skills/neon-postgres/SKILL.md around lines 1 - 187, The SKILL.md for
the neon-postgres skill is duplicated (two copies of the same SKILL.md for the
neon-postgres skill), causing maintenance risk; consolidate to a single source
of truth by removing one duplicate or converting one copy into a symlink or
adding a build/copy step: pick which SKILL.md to keep, delete the other
duplicate, or replace it with a symlink to the kept file, or add a build script
that copies the canonical SKILL.md for neon-postgres into the other location
during CI, and update any references to use the single canonical SKILL.md.
🧹 Nitpick comments (1)
.agents/skills/neon-postgres/SKILL.md (1)

27-29: ⚡ Quick win

Add language specifier to fenced code block.

The fenced code block should specify a language identifier for proper rendering and tooling support.

📝 Proposed fix
-```
+```text
 https://neon.com/docs/llms.txt
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.agents/skills/neon-postgres/SKILL.md around lines 27 - 29, The fenced code
block containing the URL in SKILL.md lacks a language specifier; update the
triple-backtick fence that wraps "https://neon.com/docs/llms.txt" to include a
language identifier (e.g., change totext) so the block is rendered and
processed correctly by tooling and syntax highlighters.


</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.env.example:

  • Around line 71-73: Reorder the dotenv keys so LOG_LEVEL appears before
    NODE_ENV to satisfy the dotenv-linter UnorderedKey rule: open the .env.example
    and move the LOG_LEVEL entry to be listed above the NODE_ENV entry (ensure the
    exact variable names LOG_LEVEL and NODE_ENV are preserved and no other lines are
    changed).

In @commitlint.config.js:

  • Around line 7-16: The commitlint configuration currently allows extra types
    and scopes; update the 'type-enum' and 'scope-enum' arrays in
    commitlint.config.js so they exactly match the repository policy: set
    'type-enum' to only ['feat','fix','chore','docs','refactor','test'] and set
    'scope-enum' to only ['pipeline','web','db','channels','remotion','ci','deps'];
    keep the same validator structure (severity and 'always') but replace the enum
    lists to enforce the approved Conventional Commit matrix.

Outside diff comments:
In @.claude/skills/neon-postgres/SKILL.md:

  • Around line 1-187: The SKILL.md for the neon-postgres skill is duplicated (two
    copies of the same SKILL.md for the neon-postgres skill), causing maintenance
    risk; consolidate to a single source of truth by removing one duplicate or
    converting one copy into a symlink or adding a build/copy step: pick which
    SKILL.md to keep, delete the other duplicate, or replace it with a symlink to
    the kept file, or add a build script that copies the canonical SKILL.md for
    neon-postgres into the other location during CI, and update any references to
    use the single canonical SKILL.md.

Nitpick comments:
In @.agents/skills/neon-postgres/SKILL.md:

  • Around line 27-29: The fenced code block containing the URL in SKILL.md lacks
    a language specifier; update the triple-backtick fence that wraps
    "https://neon.com/docs/llms.txt" to include a language identifier (e.g., change
    totext) so the block is rendered and processed correctly by tooling and
    syntax highlighters.

</details>

<details>
<summary>🪄 Autofix (Beta)</summary>

Fix all unresolved CodeRabbit comments on this PR:

- [ ] <!-- {"checkboxId": "4b0d0e0a-96d7-4f10-b296-3a18ea78f0b9"} --> Push a commit to this branch (recommended)
- [ ] <!-- {"checkboxId": "ff5b1114-7d8c-49e6-8ac1-43f82af23a33"} --> Create a new PR with the fixes

</details>

---

<details>
<summary>ℹ️ Review info</summary>

<details>
<summary>⚙️ Run configuration</summary>

**Configuration used**: defaults

**Review profile**: CHILL

**Plan**: Pro Plus

**Run ID**: `8091c99c-fe0e-4b80-8a2f-9d07bf32426a`

</details>

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 22c8b0ac585d65a16641776a30f921b1c01ec099 and 682d1c36fd3750001c393191e0387371d1c2b22e.

</details>

<details>
<summary>⛔ Files ignored due to path filters (1)</summary>

* `pnpm-lock.yaml` is excluded by `!**/pnpm-lock.yaml`

</details>

<details>
<summary>📒 Files selected for processing (11)</summary>

* `.agents/skills/neon-postgres/SKILL.md`
* `.claude/skills/neon-postgres/SKILL.md`
* `.env.example`
* `.github/PULL_REQUEST_TEMPLATE.md`
* `.github/workflows/ci.yml`
* `.husky/commit-msg`
* `.husky/pre-commit`
* `.husky/pre-push`
* `commitlint.config.js`
* `package.json`
* `skills-lock.json`

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Comment thread .env.example
Comment on lines +71 to +73
NODE_ENV=development
# debug | info | warn | error
LOG_LEVEL=info

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix dotenv key ordering to satisfy lint checks.

LOG_LEVEL should be declared before NODE_ENV to resolve the dotenv-linter UnorderedKey warning.

Suggested change
-# development | production
-NODE_ENV=development
 # debug | info | warn | error
 LOG_LEVEL=info
+# development | production
+NODE_ENV=development
🧰 Tools
🪛 dotenv-linter (4.0.0)

[warning] 73-73: [UnorderedKey] The LOG_LEVEL key should go before the NODE_ENV key

(UnorderedKey)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.env.example around lines 71 - 73, Reorder the dotenv keys so LOG_LEVEL
appears before NODE_ENV to satisfy the dotenv-linter UnorderedKey rule: open the
.env.example and move the LOG_LEVEL entry to be listed above the NODE_ENV entry
(ensure the exact variable names LOG_LEVEL and NODE_ENV are preserved and no
other lines are changed).

Comment thread commitlint.config.js
Comment on lines +7 to +16
'scope-enum': [
2,
'always',
['pipeline', 'web', 'db', 'channels', 'types', 'remotion', 'ci', 'deps', 'repo'],
],
'type-enum': [
2,
'always',
['feat', 'fix', 'chore', 'docs', 'refactor', 'test', 'perf', 'style', 'build', 'revert'],
],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Align commitlint enums with the repository’s allowed Conventional Commit matrix.

The configured scope-enum and type-enum currently permit values outside the approved project policy, so commit validation won’t enforce the intended standard.

Suggested patch
     'scope-enum': [
       2,
       'always',
-      ['pipeline', 'web', 'db', 'channels', 'types', 'remotion', 'ci', 'deps', 'repo'],
+      ['pipeline', 'web', 'db', 'channels', 'remotion', 'ci', 'deps'],
     ],
     'type-enum': [
       2,
       'always',
-      ['feat', 'fix', 'chore', 'docs', 'refactor', 'test', 'perf', 'style', 'build', 'revert'],
+      ['feat', 'fix', 'chore', 'docs', 'refactor', 'test'],
     ],

As per coding guidelines, commitlint.config.{js,cjs} must enforce only feat|fix|chore|docs|refactor|test with scopes pipeline|web|db|channels|remotion|ci|deps.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
'scope-enum': [
2,
'always',
['pipeline', 'web', 'db', 'channels', 'types', 'remotion', 'ci', 'deps', 'repo'],
],
'type-enum': [
2,
'always',
['feat', 'fix', 'chore', 'docs', 'refactor', 'test', 'perf', 'style', 'build', 'revert'],
],
'scope-enum': [
2,
'always',
['pipeline', 'web', 'db', 'channels', 'remotion', 'ci', 'deps'],
],
'type-enum': [
2,
'always',
['feat', 'fix', 'chore', 'docs', 'refactor', 'test'],
],
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@commitlint.config.js` around lines 7 - 16, The commitlint configuration
currently allows extra types and scopes; update the 'type-enum' and 'scope-enum'
arrays in commitlint.config.js so they exactly match the repository policy: set
'type-enum' to only ['feat','fix','chore','docs','refactor','test'] and set
'scope-enum' to only ['pipeline','web','db','channels','remotion','ci','deps'];
keep the same validator structure (severity and 'always') but replace the enum
lists to enforce the approved Conventional Commit matrix.

@SaiCharan99
SaiCharan99 merged commit d818275 into main May 13, 2026
3 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.

1 participant