Repository navigation
Add [bundle] include / exclude globs - #83
Merged
Merged
Conversation
A bundle can now be a subset of its directory: include (a .md must match one; empty = every .md) and exclude (applied after include), both bundle-relative globs. This lets a bundle sit at the root of a workspace that also holds non-concept markdown (READMEs, project notes, logs) and limit itself to, say, ["wiki/**", "sources/**"]. validate, viz and migrate walk through the filter. Directories are pruned only when that is certain, so a narrow include never descends into the rest of a large tree: off every include's literal leading path, or under an `X/**` exclude. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing: 7
✨ Finishing Touches
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 |
# Conflicts: # lib.ts # test/lib.test.ts # validate.ts # viz-app/config.test.ts # viz-app/config.ts
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.
A bundle can now be a subset of its directory. This lets a bundle sit at the root of a workspace that also holds markdown that isn't knowledge (READMEs, project notes, logs, task lists) and limit itself to the parts that are:
Today the only way to keep files out is a leading
.or_, which means renaming folders other tools depend on.Behavior
Bun.Globpatterns. Config validation rejects absolute paths and.., the same rule as the other path fields.validate,vizandmigratewalk through the filter, via a newbundleFilter()passed towalkMd(root, filter?).wiki/**never entersprojects/), or under anX/**exclude. A leading wildcard (**/*.md) or a non-/**exclude never prunes.include: [],exclude: [], andconfig.test.tswas updated for that.Testing
test/lib.test.tscover doc matching, directory pruning, and awalkMdrun on a real temp tree, with a spy confirming excluded trees are never entered.viz-app/config.test.tscovers parsing and the rejection of../and/-rooted globs.oven/bun:1.4.3): 607 pass / 0 fail,tsgo --noEmitclean.include = ["wiki/**", "sources/**"].It touches
walkMd, and so does #82, so whichever merges second will have a one-hunk conflict there. Resolved, it's this branch's version withrelUnder(root, abs)in place ofabs.slice(root.length + 1); that combination passes 610/610 on Windows.🤖 Generated with Claude Code