Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR transitions the project from an Nx-based monorepo to a single-package CLI (“pull-up”) and introduces an initial (“v0”) rule/transform engine plus a CODEOWNERS aggregation rule.
Changes:
- Replace Nx workspace setup with a single-package build using
tsdown. - Add a new core rules API (
Rule,resolveRule,defineRule) and a CODEOWNERS rule implementation. - Add a Clipanion-based CLI with
checkandsynccommands.
Reviewed changes
Copilot reviewed 22 out of 25 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| yarn.lock | Updates dependency lockfile for the new single-package setup and CLI deps. |
| tsdown.config.ts | Adds tsdown build config for the CLI entrypoint/bundle settings. |
| tsconfig.json | Updates TS project include list to cover the new tsdown config file. |
| src/core/types.ts | Introduces core types (Rule, Ruleset, snapshots, context). |
| src/core/rules/index.ts | Exports built-in rules. |
| src/core/rules/codeowners-rule.ts | Adds CODEOWNERS aggregation rule and marker-section writing. |
| src/core/resolve-rule.ts | Implements globbing + reading inputs + invoking rule transforms. |
| src/core/index.ts | Public barrel export for the core package surface. |
| src/core/define-rule.ts | Adds a small helper for defining rules. |
| src/cli/utils.ts | Adds repository root discovery utility. |
| src/cli/index.ts | Adds Clipanion CLI entrypoint + command registration. |
| src/cli/constants.ts | Defines default rules exposed by the CLI. |
| src/cli/commands/sync.ts | Implements pullup sync command to write generated outputs. |
| src/cli/commands/index.ts | CLI command barrel export. |
| src/cli/commands/check.ts | Implements pullup check command to validate outputs are up to date. |
| packages/core/tsdown.config.ts | Removes old packages/core build config. |
| packages/core/tsconfig.json | Removes old packages/core TS config. |
| packages/core/src/index.ts | Removes placeholder core package source. |
| packages/core/package.json | Removes old core package manifest. |
| package.json | Converts project to a distributable CLI package and adds deps/scripts. |
| nx.json | Removes Nx workspace configuration. |
| eslint.config.mjs | Updates ESLint TS project references for the new structure. |
| README.md | Updates project name/description text. |
| .vscode/settings.json | Removes some editor save-time code actions. |
| .gitignore | Removes Nx cache ignores; keeps dist ignore. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
d35d2b1 to
515b164
Compare
10 tasks
515b164 to
62e2c60
Compare
62e2c60 to
39f4c2b
Compare
39f4c2b to
906e973
Compare
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.
No description provided.