Skip to content

feat(generate): add provider default exclude patterns - #670

Open
iloveitaly wants to merge 7 commits into
railwayapp:mainfrom
iloveitaly:build/default-dockerignore
Open

feat(generate): add provider default exclude patterns#670
iloveitaly wants to merge 7 commits into
railwayapp:mainfrom
iloveitaly:build/default-dockerignore

Conversation

@iloveitaly

@iloveitaly iloveitaly commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Motivation

Projects without a .dockerignore or configured excludes can send unnecessary dependency and cache files into the build context, increasing build overhead.

Description

Provider-specific defaults now supply sensible exclude patterns when users have not defined their own. Explicit .dockerignore and configuration excludes take precedence, while Node, Deno, and Python providers define their respective defaults.

Breaking Changes

Projects without a .dockerignore or configured excludes will now omit .git, dependency, and local virtual-environment directories from the build context by default. Builds that intentionally rely on checked-in node_modules, venv, or .venv may be affected; users should add a .dockerignore or adjust their exclude configuration as needed.

Test

  • Added coverage for default excludes and user-defined override behavior.
  • Validated generated build plans across Node, Deno, and Python examples.

@iloveitaly

Copy link
Copy Markdown
Collaborator Author

@coffee-cup this change is a little risky, but I think these sort of smart defaults make a lot of sense for users.

@iloveitaly
iloveitaly requested a review from coffee-cup July 31, 2026 20:54
- Configure default exclusion patterns for Node, Deno, and Python providers during build planning.
- Remove obsolete node_modules warning logic now handled by default exclusions.

Generated-by: aiautocommit
…exist

- Add provider default exclude support to GenerateContext
- Fall back to provider defaults and warn users when no `.dockerignore` or config excludes are provided
- Prioritize user-defined `.dockerignore` and config excludes over provider defaults

Generated-by: aiautocommit
@iloveitaly
iloveitaly force-pushed the build/default-dockerignore branch from f166e74 to 84e767c Compare August 10, 2026 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant