chore: adopt PassionFactory standards (toolchain, ESLint migration, OSS settings split)#108
Conversation
Adopt PassionFactory standard local dev toolchain: - mise.toml: pin node 24 and bun 1.3.5, add tasks - bunfig.toml: linker=hoisted - .editorconfig: from pleaseai/code-style - commitlint.config.js + .husky/commit-msg: commitlint wiring - .github/dependabot.yml: bun + github-actions ecosystems, weekly - package.json/bun.lock: add @pleaseai/eslint-config, @commitlint/cli, @commitlint/config-conventional; remove @antfu/eslint-config
Swap the antfu ESLint config for the @pleaseai/eslint-config wrapper. Relax style/max-statements-per-line and markdown/no-multiple-h1, and ignore .impeccable/.
Mechanical auto-fixes across source and docs after migrating to @pleaseai/eslint-config (antfu v8). Adds one eslint-skip comment in ARCHITECTURE.md for a pseudo-code fence, and normalizes YAML quote style in .github/workflows/release-please.yml. No behavior changes.
…e plugins) Remove 6 internal passionfactory-only plugins from .claude/settings.json for public OSS use, add language: en, and register the pleaseai marketplace (with autoUpdate) plus turborepo/bun/ast-grep plugins.
📝 WalkthroughWalkthroughIntroduces new development tooling configuration (editorconfig, dependabot, husky commit-msg hook, commitlint, eslint config migration to pleaseai, mise, bunfig), updates Claude plugin/marketplace settings, adjusts documentation and examples accordingly, and applies mechanical single-line brace reformatting to conditional statements across multiple existing packages with no behavioral changes. ChangesDevelopment Tooling & Documentation
Single-line Brace Formatting Normalization
Estimated code review effort: 2 (Simple) | ~15 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Code Review
This pull request focuses on project-wide configuration updates, formatting adjustments, and tooling enhancements. Key changes include migrating the ESLint configuration to @pleaseai/eslint-config, adding .editorconfig, .husky/commit-msg, commitlint.config.js, mise.toml, and bunfig.toml files, and updating Dependabot settings. Additionally, numerous TypeScript files were updated to enforce curly braces on single-line if statements, alongside minor documentation and comment formatting improvements. No review comments were provided, so there is no additional feedback to evaluate.
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Greptile SummaryThis PR adopts PassionFactory's standard OSS toolchain and settings for the
Confidence Score: 5/5Safe to merge — all changes are toolchain configuration additions and mechanical lint reformatting with no runtime behavior changes. Every source-code change is a mechanical brace-style rewrite produced by eslint --fix; the before/after logic is identical in all cases. The one non-trivial rewrite in multiplexer.ts (setTimeout arrow closure to argument-passing form) is functionally equivalent in Bun and Node.js. New config files (mise.toml, bunfig.toml, commitlint, dependabot) are additive and well-formed. The ESLint migration relaxes two style rules and adds a documented MDC-aware override — no previously enforced correctness rules are dropped. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Developer commits] --> B{commitlint hook}
B -->|valid| C[Push to repo]
B -->|invalid| D[Rejected]
C --> E[CI pipeline]
E --> F[bun install hoisted]
F --> G[ESLint via pleaseai config]
F --> H[TypeScript check]
F --> I[Tests via Bun]
C --> J[Dependabot weekly]
J --> K[bun ecosystem PRs]
J --> L[github-actions PRs]
subgraph Claude Code env
M[settings.json]
M --> N[pleaseai marketplace autoUpdate]
M --> O[turborepo plugin]
M --> P[bun plugin]
M --> Q[ast-grep plugin]
end
subgraph Local dev via mise
S[mise install]
S --> T[Node 24]
S --> U[Bun 1.3.5]
end
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[Developer commits] --> B{commitlint hook}
B -->|valid| C[Push to repo]
B -->|invalid| D[Rejected]
C --> E[CI pipeline]
E --> F[bun install hoisted]
F --> G[ESLint via pleaseai config]
F --> H[TypeScript check]
F --> I[Tests via Bun]
C --> J[Dependabot weekly]
J --> K[bun ecosystem PRs]
J --> L[github-actions PRs]
subgraph Claude Code env
M[settings.json]
M --> N[pleaseai marketplace autoUpdate]
M --> O[turborepo plugin]
M --> P[bun plugin]
M --> Q[ast-grep plugin]
end
subgraph Local dev via mise
S[mise install]
S --> T[Node 24]
S --> U[Bun 1.3.5]
end
Reviews (2): Last reviewed commit: "fix(docs): restore MDC slot markers brok..." | Re-trigger Greptile |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
mise.toml (1)
1-34: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueConsider pinning a more recent Bun patch.
Bun's
1.3.xline has moved to1.3.14as of the latest release;1.3.5is several patches behind. Not a defect, but worth bumping periodically since patch releases include bugfixes/perf improvements.🤖 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 `@mise.toml` around lines 1 - 34, The pinned Bun version in the [tools] section is outdated; update the bun entry from the current 1.3.x patch to a newer 1.3.14-style patch version. Keep the existing tool/task structure intact, and only adjust the bun version so mise install uses the newer patch release.
🤖 Prompt for all review comments with 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.
Inline comments:
In `@apps/docs/content/index.md`:
- Around line 24-27: The markdown in this doc uses repeated heading markers like
“# title” and “# content”, which triggers the MD024 duplicate-heading lint
failure. Update the markers in this page to non-heading syntax (or otherwise
make them unique) so markdownlint passes, and ensure the same change is applied
anywhere else this pattern appears, including the referenced duplicate section.
---
Nitpick comments:
In `@mise.toml`:
- Around line 1-34: The pinned Bun version in the [tools] section is outdated;
update the bun entry from the current 1.3.x patch to a newer 1.3.14-style patch
version. Keep the existing tool/task structure intact, and only adjust the bun
version so mise install uses the newer patch release.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: ddadde80-1812-47a9-bebc-0a9afb7c3a12
⛔ Files ignored due to path filters (1)
bun.lockis excluded by!**/*.lock
📒 Files selected for processing (43)
.claude/settings.json.editorconfig.github/dependabot.yml.github/workflows/release-please.yml.husky/commit-msg.please/config.ymlARCHITECTURE.mdREADME.ko.mdREADME.mdapps/docs/content/index.mdbunfig.tomlcommitlint.config.jseslint.config.jsexamples/lsp-typescript/README.mdexamples/lsp-typescript/tsconfig.jsonmise.tomlpackage.jsonpackages/code/src/commands/setup.tspackages/code/src/hooks/lsp.tspackages/code/src/providers/lsp/index.tspackages/code/src/tools/index.tspackages/dora/src/client/jetbrains-client.tspackages/dora/src/client/port-discovery.tspackages/dora/src/providers/ast-grep/napi.tspackages/dora/src/providers/jetbrains/index.tspackages/dora/src/providers/lsp/index.tspackages/dora/src/providers/registry.tspackages/dora/src/tools/utils.tspackages/format/src/formatter.tspackages/format/src/index.tspackages/lsp/src/client.tspackages/lsp/src/index.tspackages/lsp/src/multiplexer.tspackages/lsp/src/server/clangd.tspackages/lsp/src/server/deno.tspackages/lsp/src/server/gopls.tspackages/lsp/src/server/oxlint.tspackages/lsp/src/server/rust-analyzer.tspackages/lsp/src/server/utils.tspackages/lsp/test/unit/multiplexer.test.tsplugins/code-intelligence-lsp/README.mdplugins/typescript-lsp/package.jsonscripts/gen-unified-lsp-json.ts
There was a problem hiding this comment.
2 issues found across 44 files
Architecture diagram
sequenceDiagram
participant Dev as Developer
participant Git as Git/Hooks
participant Local as Local Toolchain
participant CI as GitHub CI
participant Dependabot as Dependabot
participant Claude as Claude Code
Note over Dev,Claude: Developer workflow after config adoption
Dev->>Local: mise run check
Local->>Local: bun run lint (ESLint config @pleaseai)
Local->>Local: bun run typecheck
Local->>Local: bun run test
Local-->>Dev: results
Dev->>Git: git commit -m "feat: ..."
Git->>Git: .husky/commit-msg hook
Git->>Local: commitlint (conventional commits)
alt Commit message valid
Local-->>Git: pass
Git-->>Dev: commit accepted
else Invalid format
Local-->>Git: fail
Git-->>Dev: commit rejected
end
Dev->>Git: git push
Git->>CI: run workflows (release-please, tests)
CI->>CI: ESLint check with @pleaseai/eslint-config
CI->>CI: Curly-brace style enforcement via config rules
CI-->>Git: status
Dependabot->>Dependabot: weekly scan (bun + github-actions)
Dependabot-->>Dev: creates PRs for updates
Note over Dev,Claude: Claude Code IDE integration
Dev->>Claude: open project
Claude->>Claude: loads .claude/settings.json
Claude->>Claude: registers pleaseai marketplace plugins (turborepo, bun, ast-grep)
Claude->>Claude: internal passionfactory plugins removed
Claude-->>Dev: ready with OSS-safe plugins
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
…tofix The markdown/no-missing-atx-heading-space autofix inserted spaces into Nuxt Content slot references (#title, #description, #links, #content), turning them into ATX headings and breaking the u-page-hero / u-page-section component slots. Revert the seven markers to the no-space form and disable the ATX-heading-space rule for apps/docs/content/** so the fix survives lint. Addresses cubic P0 and CodeRabbit MD024 review findings on PR #108.
|



Summary
Adopts PassionFactory's standard toolchain and settings for this OSS repo, via
/standards:setup:mise.toml(node 24 + bun 1.3.5 pinned),bunfig.toml(linker=hoisted),.editorconfig(frompleaseai/code-style),commitlint.config.js+.husky/commit-msg,.github/dependabot.yml(bun + github-actions ecosystems, weekly), and relatedpackage.json/bun.lockchanges (added@pleaseai/eslint-config,@commitlint/cli,@commitlint/config-conventional; removed@antfu/eslint-config).@antfu/eslint-configto the@pleaseai/eslint-configwrapper, relaxingstyle/max-statements-per-lineandmarkdown/no-multiple-h1, and ignoring.impeccable/.eslint --fixmechanically acrosspackages/**,scripts/**,plugins/**,examples/**,apps/docs/**,ARCHITECTURE.md(plus one eslint-skip comment for a pseudo-code fence),README.md,README.ko.md,.please/config.yml, and.github/workflows/release-please.yml(YAML quote style). No behavior changes..claude/settings.jsonremoves 6 internalpassionfactory-only plugins, addslanguage: en, and registers thepleaseaimarketplace (withautoUpdate) plusturborepo/bun/ast-grepplugins.Notes:
bun run testpasses except for 5 pre-existing, environment-dependentDartServerintegration test failures caused by the Dart SDK being unavailable in this sandbox — unrelated to the changes in this PR.Related issue
N/A
Checklist
bun run test) — passes overall; see the pre-existing Dart SDK caveat in Summarybun run lint)BREAKING CHANGE:note is includedSummary by cubic
Adopts PassionFactory’s standard toolchain and ESLint config, splits Claude Code OSS settings, and fixes a Nuxt Content slot-marker regression. Mechanical lint/docs changes only; no runtime behavior changes.
Refactors
mise.toml(Node 24, Bun 1.3.5 + tasks),bunfig.toml(hoisted linker),.editorconfig,commitlint.config.js+.husky/commit-msg,.github/dependabot.yml(weekly).@pleaseai/eslint-config: relaxstyle/max-statements-per-lineandmarkdown/no-multiple-h1, disablemarkdown/no-missing-atx-heading-spaceforapps/docs/content/**, ignore.impeccable/**, and runeslint --fix. Dependencies updated: add@pleaseai/eslint-config,@commitlint/cli,@commitlint/config-conventional; remove@antfu/eslint-config..claude/settings.jsonfor OSS: remove internal plugins, setlanguage: en, registerpleaseaimarketplace withautoUpdate, and addturborepo,bun,ast-grepplugins.Bug Fixes
Written for commit 6b15392. Summary will update on new commits.
Summary by CodeRabbit
New Features
Documentation