* docs: add claude ref to agents
* refactor: simplify DockerignoreContext passing and make it required
* refactor: another take at fixing the initial docker ignore load stuff
* style: whitespace formatting tweaks
I'm not sure how it got into this state :/
* fix: apply dockerignore rules when copying local app context, not later in the build process
* fix: merge dockerignore excludes with top-level railpack.json excludes/includes
* test: top-level railpack.json exclude/include
* docs: update excluding files docs
* test: add negation to an existing dockerignore to expand test coverage
* fix: hack to determine if I'm understanding the llb exclude functionality right
* refactor: remove Includes and instead use negation operators and Excludes
* test: respect dockerignore on initial source load
- Apply exclude and include filters during the initial buildkit context load to improve local build performance
- Support top-level exclude and include configurations in railpack.json
Generated-by: aiautocommit
* feat: respect dockerignore on initial source load
- Load local source layers using the plan package directly to ensure .dockerignore patterns are respected at the buildkit level.
- Prevent unnecessary loading of ignored files like node_modules and virtual environments during local builds.
Generated-by: aiautocommit
* style: formatting updates
* docs(config): update documentation for dockerignore and exclude pattern handling
Generated-by: aiautocommit
* feat(plan): respect dockerignore on initial source load
Generated-by: aiautocommit
* refactor(core): access include rules directly from layer struct
Generated-by: aiautocommit
* feat(buildkit): respect exclude patterns on initial source load
- Apply exclude patterns at the buildkit level during local context loading to prevent transferring unnecessary large directories like node_modules or virtual environments.
Generated-by: aiautocommit
* feat: respect dockerignore on initial source load
Generated-by: aiautocommit
* feat(core): respect dockerignore on initial source load
- Expose the parsed dockerignore context via the build generate context
- Ensure build results preserve the correct dockerignore metadata and excludes on initial load
Generated-by: aiautocommit
* style(docs): fix trailing whitespace in CLAUDE.md
Generated-by: aiautocommit
* feat(core): respect dockerignore on initial source load
- Apply exclude and include filters during buildkit context setup to avoid loading large ignored directories locally.
- Support top-level exclude and include configuration in railpack.json.
Generated-by: aiautocommit
* test(plan): assert all expected empty dockerignore examples are found
Generated-by: aiautocommit
* docs(config): fix typo in excluding-files guide
Generated-by: aiautocommit
* feat(dockerignore): respect dockerignore on initial source load
- Apply exclude and include filters during Buildkit context establishment to drastically improve local build performance.
- Support top-level `exclude` and `include` rules directly in `railpack.json`.
Generated-by: aiautocommit
* docs(config): clarify directory matching behavior in excluding-files guide
Generated-by: aiautocommit
* refactor(core): remove dead dockerignore context fields
- Remove unused dockerignore context properties from build plans and options
- Clean up obsolete metadata checks in core tests
Generated-by: aiautocommit
* feat: add top-level exclude option to railpack config
Generated-by: aiautocommit
* test: failing case where a dockerignore negation dne
* fix: allow .dockerignore negations that dne
* test: expand unit tests for negation tests
* test: negation test for a directory that DOES exist
* test: snapshot update