CI is passing but my PR was rejected because of "code style" and "philosophy" reasons. How is this different from a normal rejection? #191103
-
🏷️ Discussion TypeQuestion BodyMy PR passes all tests and CI, the feature works perfectly. But the maintainer said it "doesn't fit the philosophy of this project" and "goes against our minimalist approach." I don't really understand this. What does it mean and is there anything I can do? |
Beta Was this translation helpful? Give feedback.
Replies: 7 comments 5 replies
-
|
"Doesn't fit the project philosophy" is one of the hardest rejections to hear because it feels vague and personal, but it's actually one of the most legitimate reasons a technically correct PR can be rejected. What it actually means: Every project has an implicit or explicit philosophy what it is, what it isn't, how complex it should be, what belongs in core vs plugins. A rejection on philosophy grounds means: "This feature works, but it's not something this project wants to be." Examples: A minimalist library that rejects a PR adding 5 new config options (complexity creep) What you can do: Ask for clarification before your next PR: "Before I invest more time here's what I'm thinking about building. Does this align with the project's direction?" One issue/discussion comment can save you weeks. Read the project's philosophy documents: README, CONTRIBUTING.md, blog posts, the maintainer's conference talks. Many projects have explicitly written their design philosophy somewhere. Propose it as a plugin/extension many projects have an ecosystem model: core stays lean, extras go in plugins. Ask if there's a plugin API you could use instead. Accept it and fork. This isn't a failure. If you need the feature and the project won't have it, forking is a legitimate outcome. Thousands of successful projects started as "opinionated fork of X." The lesson: alignment on direction is as important as code quality in open source. |
Beta Was this translation helpful? Give feedback.
-
|
A CI failure is technical (tests, build, errors). Difference:
What to do:
Rule: In open source, maintainers decide the style, not contributors. |
Beta Was this translation helpful? Give feedback.
-
|
It’s basically a subjective rejection, not a technical failure.
In short: |
Beta Was this translation helpful? Give feedback.
-
|
CI passing = code works. Rejected for style/philosophy = code doesn’t match the project’s conventions or design principles. Fix formatting, naming, or design approach as per reviewer feedback. |
Beta Was this translation helpful? Give feedback.
-
|
its better to give a answer with grock |
Beta Was this translation helpful? Give feedback.
-
|
Great distinction to understand: Normal rejection = objective issues (bugs, security, performance, wrong approach). There's a clear fix. Style/philosophy rejection = subjective disagreement about how code should be written, not whether it works. This is trickier because:
What to do differently vs. a normal rejection:
The frustrating reality is that style/philosophy rejections often mean the bar wasn't documented that's on the project, not you. |
Beta Was this translation helpful? Give feedback.
-
|
Style/philosophy rejection: |
Beta Was this translation helpful? Give feedback.
"Doesn't fit the project philosophy" is one of the hardest rejections to hear because it feels vague and personal, but it's actually one of the most legitimate reasons a technically correct PR can be rejected.
What it actually means:
Every project has an implicit or explicit philosophy what it is, what it isn't, how complex it should be, what belongs in core vs plugins. A rejection on philosophy grounds means: "This feature works, but it's not something this project wants to be."
Examples:
A minimalist library that rejects a PR adding 5 new config options (complexity creep)
A CLI tool that rejects a GUI PR (scope creep)
A zero-dependency project that rejects a PR adding a dependency
These…