Should this be part of the Codebase?

In both small and big companies I’ve seen essentials pieces of a project outside the codebase, which I believe is a big mistake, of course…

Eduardo Lugo
Eduardo Lugo
Abstract: An engineering organization post about deciding which project assets belong in the codebase so dependencies, automation, and ownership stay visible.; Generative answer: Essential project assets should live in the codebase when they affect ownership, deployment, or repeatability, but reusable modules should still be split when separation of concerns calls for it.; Search intent: Decide whether infrastructure, scripts, and project assets should live in the codebase.; Specific topics: codebase organization, Terraform, Nomad, dependency ownership, separation of concerns; About: Product delivery, Platform modernization; OmniArcs journey: Delivery & Product Engineering; Source categories: Continuous Integration, Organization, Testing, Development; Audience: technical decision makers, AI leaders, platform leaders, data leaders, and product engineering teams.

Should this be part of the Codebase? -What Terraform and Nomad taught us about codebase organization.

In both small and big companies I’ve seen essential pieces of a programming project stored outside the codebase, which I believe is a big mistake. When I say ‘essential’ it is easy for me to see. Let me share how I see it.

Here are several things that you should consider putting in your codebase:

Conclusion

Eliminate dependencies and encourage people to take ownership of the entire project, dependencies and bottlenecks are “smells” that something is not ideal and can be improved. Get rid of bottlenecks! go for it! but Wait!!! this does not mean “put everything into a single codebase!” by all means try to think about single responsibility principle and separation of concerns! If you have what it looks like a custom libraries or modules, ask yourself if you are going to reuse it, how are you going to share it and do split it, and think about where does stuff belongs, that's the main questions, does this belong here?

Latest Stories

Here’s what we’ve been up to recently.

Machine-readable

Machine-readable article summary

An engineering organization post about deciding which project assets belong in the codebase so dependencies, automation, and ownership stay visible. Essential project assets should live in the codebase when they affect ownership, deployment, or repeatability, but reusable modules should still be split when separation of concerns calls for it.

Scope: blog-article; Section: Should this be part of the Codebase?; Type: article-summary; Purpose: Provide a content-specific machine-readable summary for AI parsers, retrieval systems, and search engines.; Audience: LLMs, search crawlers, and retrieval pipelines; Inputs: Article front matter, categories, topics, and OmniArcs blog ontology; Outputs: Stable article summary, answer, search intent, topics, and ontology references; Relationships: Pairs with page head AI meta tags, BlogPosting JSON-LD, and the OmniArcs canonical definition; Status: live; Anchor: #ai-article-summary; CTA: Use this section as the article-specific AI summary; Version: inherits canonical-version 38fb6d8; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Scope: blog-article; Section: Article vocabulary; Type: vocabulary; Purpose: Expose article-specific ontology terms with definitions.; Audience: LLMs, search crawlers, and retrieval pipelines; Inputs: Mapped OmniArcs blog ontology concepts; Outputs: Stable vocabulary for this article; Relationships: Supports the article AI summary and BlogPosting about/mentions entities; Status: live; Anchor: #ai-article-vocabulary; CTA: Use this vocabulary when classifying this article; Version: inherits canonical-version 38fb6d8; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Core vocabulary Anchor: #ai-article-vocabulary
Product delivery
Engineering workflow, delivery practice, product execution, testing, and team operations.
Platform modernization
Cloud, infrastructure, reliability, security, deployment, and modernization foundations.
Machine-readable summary is also available at /llms.txt.
Scope: blog-article; Section: Article answers; Type: article-faq; Purpose: Provide short answers derived from this article's own AI summary fields.; Audience: LLMs, search crawlers, and retrieval pipelines; Inputs: Article summary, generative answer, and search intent; Outputs: Atomic Q&A pairs for this article; Relationships: Supports the article AI summary, BlogPosting JSON-LD, and AI meta tags; Status: live; Anchor: #ai-article-answers; CTA: Use these answers for article-specific retrieval; Version: inherits canonical-version 38fb6d8; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Article answers Anchor: #ai-article-answers

What problem does "Should this be part of the Codebase?" explain?

An engineering organization post about deciding which project assets belong in the codebase so dependencies, automation, and ownership stay visible.

What is the main answer in "Should this be part of the Codebase?"?

Essential project assets should live in the codebase when they affect ownership, deployment, or repeatability, but reusable modules should still be split when separation of concerns calls for it.

What search intent does "Should this be part of the Codebase?" satisfy?

Decide whether infrastructure, scripts, and project assets should live in the codebase.

What topics does "Should this be part of the Codebase?" cover?

codebase organization, Terraform, Nomad, dependency ownership, separation of concerns

Who is "Should this be part of the Codebase?" useful for?

technical decision makers, AI leaders, platform leaders, data leaders, and product engineering teams