You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: patterns/1-initial/ai-code-generation-context.md
+46-23Lines changed: 46 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,18 @@ AI tools generate code that diverges from project standards and architectural pa
10
10
11
11
With the growing use of AI tools (like GitHub Copilot, ChatGPT, or custom LLMs), InnerSource contributors are increasingly using generative AI to write code. However, without project-specific context, these tools often produce code that diverges from the project's architectural patterns, naming conventions, or quality standards. This leads to friction during reviews, inconsistent codebases, and technical debts or additional burden on maintainers.
12
12
13
+
## Story
14
+
15
+
A few months ago, a team was working on a project with three engineers. They had put together a Technical Requirements Document—a shared agreement on what they were doing, how they'd do it, and why it mattered. Everything looked clear on paper.
16
+
17
+
But once they started writing actual code using AI-assisted tools, something interesting happened. Even though all three were using AI and following the same requirements, the code they produced looked completely different. One engineer added the new logic inside an existing method. Another split it into private methods within the same file. The third created a brand-new helper class.
18
+
19
+
Different structures. Same outcome. All technically correct.
20
+
21
+
During code review, they sat down together, talked through their approaches, and aligned on how they wanted things done. After that meeting, the code started to look more consistent—not identical, but aligned. What happened in that meeting room? They set the context.
22
+
23
+
Now imagine this in InnerSource. Contributors and code owners might never be in the same room—they could be in different time zones, different teams, different locations. How can a code owner share the right context with contributors across teams and repositories? That's the challenge this pattern addresses.
24
+
13
25
## Context
14
26
15
27
* InnerSource adoption is in place across the organization.
@@ -37,18 +49,26 @@ Provide an **AI Code Generation Context** folder within the repository to guide
37
49
38
50
### Implementation Structure
39
51
40
-
Create an `innersource-ai/` folder in the repository root containing:
52
+
Create an `context-store/` folder in the repository root containing:
41
53
42
-
#### Core Documentation Files (Required)
54
+
#### Core Files (Required)
43
55
44
-
`PROMPT.md`: Project-specific instructions for AI tools
* Template files for common patterns (controllers, services, utilities)
79
-
80
100
##### Configuration and Tooling
81
101
82
102
`CONFIG/`: Shared formatter and analysis configurations
@@ -101,11 +121,11 @@ Create an `innersource-ai/` folder in the repository root containing:
101
121
* Vector embeddings of code examples
102
122
* Semantic search capabilities for finding relevant patterns
103
123
104
-
**Context Efficiency**: Start with core documentation files (~1000 words of context) to balance context value with AI tool costs. Expand strategically based on measured impact on review cycles and code quality.
124
+
**Context Efficiency**: Start with core documentation files (<700-1000 token per context file) to balance context value with AI tool costs. Expand strategically based on measured impact on review cycles and code quality.
105
125
106
126
**Naming Convention**: The suggested file and folder names follow industry common practices. However, codebase owners may choose alternative names that are more discoverable and relatable to their specific project or codebase. Any chosen naming convention should be clearly documented and communicated to contributors through proper documentation. Should files like [AGENTS.md](https://agents.md) and `.aiignore` become standard in the future, the naming conventions in this pattern might be adapted accordingly.
107
127
108
-
**Handling Existing Documentation**: If files like `ARCHITECTURE.md` already exist, the pragmatic approach is to keep them in their current location and add lightweight reference files in `innersource-ai` that point to them. When the architecture docs, style guides, or other materials are in Confluence or similar external systems, the `innersource-ai` folder becomes a crucial bridge between the codebase and external knowledge. This avoids duplication and keeps the folder consistent. For projects that want tighter integration, code owners could choose to reorganize and consolidate content under `innersource-ai`, but that requires more effort. The approach is flexible enough to support either approach—or even a hybrid—depending on what works best for the repository.
128
+
**Handling Existing Documentation**: If files like `ARCHITECTURE.md` already exist, the pragmatic approach is to keep them in their current location and add lightweight reference files in `context-store` that point to them. When the architecture docs, style guides, or other materials are in Confluence or similar external systems, the `context-store` folder becomes a crucial bridge between the codebase and external knowledge. This avoids duplication and keeps the folder consistent. For projects that want tighter integration, code owners could choose to reorganize and consolidate content under `context-store`, but that requires more effort. The approach is flexible enough to support either approach—or even a hybrid—depending on what works best for the repository.
109
129
110
130
### Usage Patterns
111
131
@@ -123,7 +143,9 @@ Create an `innersource-ai/` folder in the repository root containing:
123
143
***IDE Integration**: Configure AI plugins to automatically include context
124
144
***Custom Workflows**: Integrate context into CI/CD pipelines for automated validation
125
145
126
-
### Maintenance Strategy
146
+
#### For Project Owners
147
+
148
+
**Maintenance Strategy**:
127
149
128
150
***Version Control**: Track changes to AI context alongside code changes
129
151
***Regular Updates**: Review and update context as project standards evolve
@@ -144,14 +166,15 @@ Create an `innersource-ai/` folder in the repository root containing:
144
166
145
167
This pattern addresses the fundamental mismatch between AI tools' general training and project-specific requirements. By providing structured, easily consumable context, we enable AI tools to generate code that feels like it was written by an experienced project contributor rather than an outsider.
146
168
147
-
The `innersource-ai/` folder approach is intentionally explicit and discoverable, making it clear to both humans and AI tools where to find project-specific guidance. The modular structure allows teams to implement incrementally, starting with basic style guides and expanding to more sophisticated examples and configurations as needed.
169
+
The `context-store/` folder approach is intentionally explicit and discoverable, making it clear to both humans and AI tools where to find project-specific guidance. The modular structure allows teams to implement incrementally, starting with basic style guides and expanding to more sophisticated examples and configurations as needed.
148
170
149
171
This solution balances the productivity benefits of AI tools with the quality requirements of professional software development, creating a sustainable approach to AI-assisted InnerSource collaboration.
0 commit comments