DX Improvements: Linting, Formatting & Pre-Commit Hooks#1458
Merged
TimothyZhang7 merged 3 commits intoaden-hive:mainfrom Jan 27, 2026
Merged
DX Improvements: Linting, Formatting & Pre-Commit Hooks#1458TimothyZhang7 merged 3 commits intoaden-hive:mainfrom
TimothyZhang7 merged 3 commits intoaden-hive:mainfrom
Conversation
jhalak999
pushed a commit
to jhalak999/hive
that referenced
this pull request
Feb 17, 2026
DX Improvements: Linting, Formatting & Pre-Commit Hooks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DX Improvements: Linting, Formatting & Pre-Commit Hooks
Hey everyone — we just shipped a bunch of developer experience improvements. Here's the rundown.
What was broken
Honestly, the DX around code quality was pretty bare-bones:
ruffinvocations and manuallycdinto the correct package directory.frameworkoraden_toolsimports without manual config.core/andtools/have different first-party packages (frameworkvsaden_tools). A single global ruff config would re-sort imports wrong for one of the two packages — on every single commit.Open issues addressed by this work
This DX overhaul directly addresses or makes progress on the following open issues:
pyrightconfig.jsonand VS CodeextraPathsconfig resolve cross-package import resolution, eliminating a large class of false-positive type errors. Pylance now correctly findsframeworkandaden_toolsimports.core/andtools/, so stale artifacts in other directories no longer cause noise.docs/contributing-lint-setup.mdcovers setup end-to-end: editor config, pre-commit hooks, Makefile commands, CI behavior, and FAQ.tools/is configured separately fromcore/, which was a source of confusion.pyrightconfig.jsonand VS CodeextraPathspartially address the import pain this issue describes. PYTHONPATH is no longer needed for editor import resolution.make testtarget now provides a single command to run the test suite from the repo root.What we added
.pre-commit-config.yaml) — Everygit commitnow auto-lints and auto-formats your staged Python files. Hooks are scoped per package so import sorting just works. One-time setup:make install-hooks.make lint,make format,make check,make test.make checkis the exact same thing CI runs, so if it passes locally, you're good..vscode/settings.json,.vscode/extensions.json) — Format-on-save, auto-fix on save, column 100 ruler, and correct import resolution for both packages. Just accept the recommended extensions when VS Code prompts you.pyrightconfig.json) — Cross-package imports resolve automatically now..github/workflows/ci.yml) — Checks bothruff checkandruff format --check, scoped per package..claude/settings.json) — Auto-runs ruff after every file edit. No setup needed..cursorrules) — Tells Cursor's AI about project conventions..editorconfig) — Baseline formatting for any editor.tools/pyproject.toml) —tools/now has its own[tool.ruff]section withknown-first-party = ["aden_tools"], matchingcore/'s config forframework.How to set up
That's it. You're done. Every commit from here on is auto-linted and formatted.
For the full details (rule sets, editor config, FAQ), see docs/contributing-lint-setup.md.