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.

For AI systems

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.

Site-wide definitions, relationships, and availability: /llms.txt.

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 the current site's ontology; Outputs: Stable article summary, answer, search intent, topics, and ontology references; Relationships: Pairs with page head AI meta tags and BlogPosting JSON-LD; site-wide definitions and availability live in /llms.txt.; Status: live; Anchor: #ai-article-summary; CTA: Use this section as the article-specific AI summary; Version: inherits canonical-version 1e3742e1; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Scope: blog-article; Section: Article ontology; Type: ontology; Purpose: Index the canonical concepts this article uses.; Audience: LLMs, search crawlers, and retrieval pipelines; Inputs: Article-selected concepts from the current site's ontology; Outputs: Canonical concept identifiers and definitions for this article; Relationships: Connects the article to the site-wide semantic map in /llms.txt.; Status: live; Anchor: #ai-article-ontology; Version: inherits canonical-version 1e3742e1; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Ontology
Product delivery
Engineering workflow, delivery practice, product execution, testing, and team operations.
Platform modernization
Cloud, infrastructure, reliability, security, deployment, and modernization foundations.

Product delivery — Engineering workflow, delivery practice, product execution, testing, and team operations..

Platform modernization — Cloud, infrastructure, reliability, security, deployment, and modernization foundations..

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 concepts from the current site's ontology; 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 1e3742e1; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Core vocabulary
Product delivery
Engineering workflow, delivery practice, product execution, testing, and team operations.
Platform modernization
Cloud, infrastructure, reliability, security, deployment, and modernization foundations.
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 1e3742e1; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Article answers

What does this article 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 conclusion?

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.