Skip to content

Commit 737e4de

Browse files
authored
docs: update the philosophy (#2689)
1 parent e22c043 commit 737e4de

File tree

2 files changed

+21
-20
lines changed

2 files changed

+21
-20
lines changed

.github/pull_request_template.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
## Checklist
3232

3333
- [ ] I've read the [contributing](https://github.com/olimorris/codecompanion.nvim/blob/main/CONTRIBUTING.md) guidelines and have adhered to them in this PR
34+
- [ ] I confirm that this PR has been majority created by me, and not AI (unless stated in the "AI Usage" section above)
3435
- [ ] I've run `make all` to ensure docs are generated, tests pass and [StyLua](https://github.com/JohnnyMorganz/StyLua) has formatted the code
3536
- [ ] _(optional)_ I've added [test](https://github.com/olimorris/codecompanion.nvim/blob/main/CONTRIBUTING.md#testing) coverage for this fix/feature
3637
- [ ] _(optional)_ I've updated the README and/or relevant docs pages

CONTRIBUTING.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,36 +8,36 @@ Before contributing a PR, please open up a discussion to talk about it. While I
88

99
The plugin has adopted semantic versioning. As such, any PR which breaks the existing API is unlikely to be merged.
1010

11-
### Plugin Philosophy
11+
### CodeCompanion is Omakase
1212

13-
**CodeCompanion enables developers to write better code, faster, through LLM interactions.**
13+
In Japanese cuisine, omakase means _"I'll leave it up to you"_ - the diner allows the chef to carefully select each course. CodeCompanion follows this philosophy: carefully curated features, rather than an all-you-can-eat buffet of every possible feature. In the world of LLMs, this means that CodeCompanion will never be at the bleeding edge. However, what it sacrifices in novelty, it makes up for in stability, reliability, and a great user experience.
1414

15-
When proposing new features, please ensure they align with this philosophy:
15+
**Breaking this down:**
16+
- **Intentional over exhaustive** - Each new feature is carefully considered against the whole menu rather than just the course itself
17+
- **Complementary** - New features compliment the dish rather than acting like an unnecessary side
18+
- **Maintainable** - Every addition is code that I commit to maintaining indefinitely
1619

17-
**In Scope:**
18-
- LLM interaction modes (chat, inline, cmd, workflows, agents)
19-
- Tools and context that extend LLM capabilities while coding
20-
- Integrations (MCP, adapters) that enhance LLM assistance
21-
- Essential infrastructure for reviewing and applying LLM-generated changes (diff providers, edit tracking, completion/action providers)
20+
### AI-Assisted Contributions
2221

23-
**Out of Scope:**
24-
- Elaborate UIs (beyond basic diff/review needs) or features that do not facilitate LLM-assisted code generation
25-
- Features better served by standalone plugins
26-
- General development tools not tied to LLM interactions
22+
While CodeCompanion itself is a tool for AI-assisted development, that does not mean I am willing to accept "vibe-coded" contributions - PRs where the contributor used an LLM to generate code but doesn't deeply understand what they're submitting.
2723

28-
**Questions to ask:**
29-
1. Does this help the LLM write code?
30-
2. Is this essential for users to accept/reject LLM code?
31-
3. Or is this nice-to-have feature that belongs in a separate plugin?
32-
4. To add this feature, are we looking at > 1,000 LOC of new code?
24+
**Red flags:**
25+
- User cannot explain implementation decisions when asked
26+
- Code doesn't match existing architectural patterns
27+
- Tests appear comprehensive but don't actually validate edge cases
28+
- Generic LLM patterns (overly defensive coding, verbose comments)
3329

34-
**If a feature is primarily about viewing what's already happened rather than enabling the next LLM interaction, it's out of scope.**
30+
**What I Expect**:
31+
- **Understand** the codebase before contributing (use the rules, read the tests, explore the architecture)
32+
- **Own** your contribution - you should be able to explain every line you submit
33+
- **Test** thoroughly - write tests that demonstrate you understand the feature
34+
- **Iterate** based on feedback - PRs are conversations, not fire-and-forget submissions
3535

36-
If your feature doesn't directly support LLM-assisted code generation or isn't minimal essential infrastructure, consider publishing it as a standalone plugin that works alongside CodeCompanion.
36+
> As a rule of thumb, use an LLM to create a feature _OR_ a test. But never both.
3737
3838
## How to Contribute
3939

40-
1. Open up a [discussion](https://github.com/olimorris/codecompanion.nvim/discussions) to propose your idea.
40+
1. Open up a [discussion](https://github.com/olimorris/codecompanion.nvim/discussions) to propose your idea - Save yourself time and effort by checking this is a feature that aligns with the project's goals.
4141
2. Fork the repository and create your branch from `main`.
4242
3. Add your feature or fix to your branch.
4343
4. Ensure your code follows the project's coding style and conventions.

0 commit comments

Comments
 (0)