How we work
A short list of principles that shape our engineering practice.
Conventions over opinions
We adopt strong conventions across naming, branching, secrets, CI/CD, and deployment. A developer joining a new MIDDAG repository should not have to re-learn the basics. Conventions are documented as ADRs, enforced by CI, and revisited only when context changes.
Secrets never travel as files
Every credential lives in a centralized secret store, retrieved at the moment of use. CI runs and production servers fetch secrets through scoped, short-lived tokens; local development injects them at process start. A .env file never reaches the repository, and never leaves a developer's machine.
Production-parity by default
Local development, CI builds, and production all use the same base images, the same composer dependency tree, and the same configuration shape. If it works on your laptop and breaks in production, the problem is the difference between your laptop and production — and we document the gap before shipping.
Documentation is part of the build
Every decision that affects more than one repository becomes an ADR. Every operational task that runs more than once becomes a how-to. Every repository's README.md answers "what is this and how do I run it" before asking anyone for help.
English-first
See Brazilian roots, international operations for the reasoning. Everything we produce — code, comments, ADRs, guides, and the documentation you are reading — is written in English.