-
Notifications
You must be signed in to change notification settings - Fork 4
chore: add qlty configuration and CI checks #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
⚙️ Control Options:
|
📝 WalkthroughWalkthroughAdds a new “Qlty Check” job to .github/workflows/ci.yml running on ubuntu-latest with a 3-minute timeout and steps: checkout, install qlty action (versioned), qlty check, and qlty smells. Introduces .qlty/qlty.toml configuring plugins (actionlint, trufflehog, osv-scanner), source, exclusions, and multiple smell thresholds. Updates .husky/pre-commit to run qlty check on changed TypeScript files only if the Prettier diff check passes; initial empty-change handling unchanged. Extends .gitignore to exclude .qlty cache/output directories. No exported/public API changes. Sequence Diagram(s)sequenceDiagram
autonumber
participant GH as GitHub Actions
participant R as Runner (ubuntu-latest)
participant Repo as Repo
participant Q as qlty Action
GH->>R: Trigger workflow (Qlty Check job)
R->>Repo: actions/checkout
R->>Q: Install qlty action (versioned)
R->>Q: qlty check
R->>Q: qlty smells
Q-->>R: Reports results (pass/fail)
R-->>GH: Job status
sequenceDiagram
autonumber
participant Dev as Developer
participant Husky as Husky pre-commit
participant Prettier as Prettier (diff)
participant Q as qlty
Dev->>Husky: git commit
Husky->>Prettier: Run on staged TS files
alt Prettier OK
Husky->>Q: qlty check on same files
Q-->>Husky: Results
Husky-->>Dev: Commit continues or fails
else Prettier fails
Husky-->>Dev: Abort commit (qlty skipped)
end
Possibly related PRs
Pre-merge checks✅ Passed checks (3 passed)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: ASSERTIVE Plan: Pro 📒 Files selected for processing (1)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (4)
.github/workflows/ci.yml(1 hunks).gitignore(1 hunks).husky/pre-commit(1 hunks).qlty/qlty.toml(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Build & Test
- GitHub Check: Lint & Format
🔇 Additional comments (3)
.gitignore (1)
69-74: LGTM!Standard exclusions for qlty cache and output directories.
.qlty/qlty.toml (2)
32-57: Thresholds look reasonable.Comment mode with standard thresholds (cognitive_complexity=15, function_length=50) aligns with industry practices for TypeScript codebases.
6-13: No action needed for plugin version pinning. qlty.toml supports aversionfield for plugins, but per team convention omitting pins ensures you always run the latest plugin releases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (4)
.github/workflows/ci.yml(1 hunks).gitignore(1 hunks).husky/pre-commit(1 hunks).qlty/qlty.toml(1 hunks)
🔇 Additional comments (4)
.gitignore (1)
69-74: LGTM!Standard qlty cache patterns.
.qlty/qlty.toml (2)
6-13: LGTM!Appropriate security and linting plugins for this workflow.
21-29: LGTM!Standard exclusion patterns for build artifacts.
.husky/pre-commit (1)
17-17: Pass staged files to qlty check
qlty checkcurrently scans the entire repo. Update to only check staged files:-npx prettier $changed --check && qlty check +npx prettier $changed --check && qlty check $changedVerify locally that
qlty checkaccepts file arguments or supports a filter flag.
Summary
Adds qlty code quality and security scanning configuration to vscode-deepnote, mirroring the setup from deepnote/deepnote.
Changes
.qlty/qlty.toml): Configures actionlint, trufflehog, and osv-scanner plugins with code smell detection thresholdsqltyjob to run code quality checks and smell analysis (3min timeout).husky/pre-committo run qlty checks alongside prettierSecurity & Quality Checks Added
Human Review Checklist
🔍 Critical items to verify:
Link to Devin run: https://app.devin.ai/sessions/7df2a76e10f2447faf46c3c41fd5cc8c
Requested by: James Hobbs (@jamesbhobbs)
Summary by CodeRabbit