Contents
1) Cheat Sheet
Git workflow
The commands below follow the standard KomITi branching model: main → staging → feature branch → promote back. Copy-paste ready.
Start a new feature
PS C:\dev\komiti_library> git checkout main
PS C:\dev\komiti_library> git pull origin main
PS C:\dev\komiti_library> git checkout -b YYYY-MM-DD-feature_name
PS C:\dev\komiti_library> git push -u origin YYYY-MM-DD-feature_name
PS C:\dev\komiti_library> git merge origin/staging --no-edit
Daily work cycle
PS C:\dev\komiti_library> git add .
PS C:\dev\komiti_library> git status --short
PS C:\dev\komiti_library> git commit -m "short description of the change"
PS C:\dev\komiti_library> git push
Promote feature → staging
PS C:\dev\komiti_library> git checkout staging
PS C:\dev\komiti_library> git pull origin staging
PS C:\dev\komiti_library> git merge origin/YYYY-MM-DD-feature_name --no-edit
PS C:\dev\komiti_library> git push origin staging
Promote staging → main
PS C:\dev\komiti_library> git checkout main
PS C:\dev\komiti_library> git pull origin main
PS C:\dev\komiti_library> git merge origin/staging --no-edit
PS C:\dev\komiti_library> git push origin main
Return to your feature branch
PS C:\dev\komiti_library> git checkout YYYY-MM-DD-feature_name
PS C:\dev\komiti_library> git merge origin/staging --no-edit
Clean up after merge
PS C:\dev\komiti_library> git branch -d YYYY-MM-DD-feature_name
PS C:\dev\komiti_library> git push origin --delete YYYY-MM-DD-feature_name
PS C:\dev\komiti_library> git fetch --prune
Useful one-liners
PS C:\dev\komiti_library> git log --oneline -5 # last 5 commits, compact
PS C:\dev\komiti_library> git diff --stat # changed files overview
PS C:\dev\komiti_library> git branch -a # all branches (local + remote)
PS C:\dev\komiti_library> git stash # stash uncommitted changes
PS C:\dev\komiti_library> git stash pop # restore stashed changes
Docker
Essential Docker and Docker Compose commands for the KomITi local development stack.
Container lifecycle
PS C:\dev\komiti_library\infra\local\odoo-dev-docker-desktop> docker compose up -d # start all containers in background
PS C:\dev\komiti_library\infra\local\odoo-dev-docker-desktop> docker compose down # stop and remove containers
PS C:\dev\komiti_library\infra\local\odoo-dev-docker-desktop> docker compose restart # restart all containers
PS C:\dev\komiti_library\infra\local\odoo-dev-docker-desktop> docker compose restart odoo # restart only the Odoo container
Inspect running containers
PS C:\dev\komiti_library\infra\local\odoo-dev-docker-desktop> docker compose ps # list running containers with status
PS C:\dev\komiti_library\infra\local\odoo-dev-docker-desktop> docker compose logs -f odoo # follow Odoo logs in real time
PS C:\dev\komiti_library\infra\local\odoo-dev-docker-desktop> docker compose logs --tail 50 # last 50 lines from all containers
Database operations
PS C:\dev\komiti_library\infra\local\odoo-dev-docker-desktop> docker compose exec db psql -U odoo -d komiti_odoo_dev # open psql shell
PS C:\dev\komiti_library\infra\local\odoo-dev-docker-desktop> docker compose exec db pg_dump -U odoo komiti_odoo_dev > backup.dump # backup DB
Useful one-liners
PS C:\dev\komiti_library\infra\local\odoo-dev-docker-desktop> docker compose exec odoo odoo -u komiti_web -d komiti_odoo_dev --stop-after-init # upgrade a module
PS C:\dev\komiti_library\infra\local\odoo-dev-docker-desktop> docker system prune -f # remove unused images, containers, networks
PS C:\dev\komiti_library\infra\local\odoo-dev-docker-desktop> docker compose build --no-cache # rebuild from scratch
2) Glossary
This is an appendix document for the learning library. Its purpose is not to replace the main learning documents, but to serve as a quick index of terms, abbreviations, and concepts that recur throughout the KomITi onboarding. The reading rule is simple:
- check the brief meaning of a term here first,
- then go to the referenced canonical documents if you need a deeper explanation or a hands-on task.
Where it appears does not mean "every possible file in the repo", but the main learning/codex documents where the term matters most.
A
ACL- Stands for
Access Control List. In the Odoo context it is a table/rule that defines who canread,write,create, andunlinkon a given model. - Where it appears:
05_Odoo_from_0_to_hero.html(Step 5)
Action- The Odoo UI wiring layer that connects a model, view, and menu so a user can actually open a given flow.
- Where it appears:
05_Odoo_from_0_to_hero.html(Step 6)
Addon- An Odoo module package in the repo. In the KomITi context the candidate builds a
librarymodule; production addons include e.g.komiti_timesheet,komiti_project,komiti_web. - Where it appears:
05_Odoo_from_0_to_hero.html(Step 1)
Apply- A Terraform terminal command that applies the changes from a plan to actual infrastructure.
- Where it appears:
04_infrastructure.html
Asset reset- The discipline of refreshing frontend/website assets when a stale runtime state is still serving old JS/CSS/QWeb.
- Where it appears:
05_Odoo_from_0_to_hero.html(summary)
AWS- Stands for
Amazon Web Services. In this library it denotes the cloud layer on which the KomITi DEV/PROD runtimes live. - Where it appears:
00_end2end_onboarding.html04_infrastructure.html
B
Branch- A Git line of development. In the KomITi workflow it is important to distinguish feature,
staging, andmainbranches and the promotion between them. - Where it appears:
00_end2end_onboarding.html02_git_vscode_basics.html
C
Capstone- The central hands-on project that the candidate builds throughout the onboarding. In this library it is the
libraryOdoo 19 module. - Where it appears:
00_end2end_onboarding.html05_Odoo_from_0_to_hero.html
Caddy- A reverse proxy/web server layer that appears in the infra/runtime context.
- Where it appears:
04_infrastructure.html
CLI- Stands for
Command-Line Interface. It means working from a terminal through commands such asdocker compose,git,rg, andterraform. - Where it appears:
02_git_vscode_basics.html04_infrastructure.html
CODEX- The KomITi name for a canonical policy/discipline document for a given layer or domain. Examples include
ENGINEERING_CODEX.mdandHTML_CODEX.md. - Where it appears:
00_end2end_onboarding.htmlENGINEERING_CODEX.md(repo root)
Commit- A Git snapshot of changes with a clear message explaining what was done.
- Where it appears:
02_git_vscode_basics.html
Compute field- An Odoo field whose value is calculated from other fields or state.
- Where it appears:
05_Odoo_from_0_to_hero.html(Step 4)
Compose- In this library most often means the terminal command
docker composeand the compose YAML that describes multiple services. - Where it appears:
04_infrastructure.html
Constraint- In the Odoo context most often means a server-side rule, frequently via
@api.constrains. - Where it appears:
05_Odoo_from_0_to_hero.html(Step 7)
Container- A running instance of a Docker image.
- Where it appears:
04_infrastructure.html
Context- The Odoo runtime meta-layer for defaults, toggles, and auxiliary behavioural signals.
- Where it appears:
05_Odoo_from_0_to_hero.html(Step 6)
CSV- Stands for
Comma-Separated Values. In the Odoo learning context it often appears as their.model.access.csvfile for access rights. - Where it appears:
05_Odoo_from_0_to_hero.html(Step 5)
Custom addon- An Odoo module that is not upstream/core Odoo but a KomITi or project-specific extension.
- Where it appears:
05_Odoo_from_0_to_hero.html(Step 1)
D
Data source- A Terraform construct for reading an existing resource without owning it.
- Where it appears:
04_infrastructure.html
DB- Short for database — here most often the PostgreSQL database that Odoo uses.
- Where it appears:
04_infrastructure.html05_Odoo_from_0_to_hero.html
Debugging- The process of finding the root cause of a problem, not just its symptoms.
- Where it appears:
00_end2end_onboarding.html
Deploy- Releasing a change to a given runtime environment.
- Where it appears:
00_end2end_onboarding.htmlENGINEERING_CODEX.md(repo root)
DNS- Stands for
Domain Name System. It is the layer that maps a domain name to the actual host/IP endpoint. - Where it appears:
04_infrastructure.html
Docker- A container runtime and packaging layer.
- Where it appears:
00_end2end_onboarding.html04_infrastructure.html
Domain- In the Odoo context means search/filter logic over a recordset. In the broader KomITi context it can also mean a business domain, so the meaning is always read from context.
- Where it appears:
05_Odoo_from_0_to_hero.html(Step 4, Step 6)
Drift- The difference between what the Terraform state expects and what actually exists in the cloud runtime.
- Where it appears:
04_infrastructure.html
E
EC2- Stands for
Elastic Compute Cloud. In practice it is the AWS virtual machine on which the runtime lives. - Where it appears:
00_end2end_onboarding.html04_infrastructure.html
EIP- Stands for
Elastic IP. It is a stable public IP address in AWS. - Where it appears:
00_end2end_onboarding.html04_infrastructure.html
End2End- In the KomITi learning naming means the candidate goes through the entire path from foundations to independent delivery.
- Where it appears:
00_end2end_onboarding.html
env- The Odoo runtime accessor for models, the current user, the company, and the context.
- Where it appears:
05_Odoo_from_0_to_hero.html
Engineering Codex- The canonical repo-level policy document for way of working, verification, and delivery discipline.
- Where it appears:
00_end2end_onboarding.htmlENGINEERING_CODEX.md(repo root)
F
Feature branch- A working Git branch on which a specific batch of changes is made before promotion to
stagingandmain. - Where it appears:
02_git_vscode_basics.html
Field- An Odoo model attribute, e.g.
Char,Many2one,Selection, orDatetime. - Where it appears:
05_Odoo_from_0_to_hero.html(Step 4)
Form view- An Odoo view for opening and editing a single record.
- Where it appears:
05_Odoo_from_0_to_hero.html(Step 6)
G
Git- A version control system used for branch, commit, merge, and promotion flow.
- Where it appears:
00_end2end_onboarding.html02_git_vscode_basics.html
Group- An Odoo security concept for role/permission segmentation of users.
- Where it appears:
05_Odoo_from_0_to_hero.html(Step 2, Step 5)
H
Health check- A quick verification that a service is actually running, e.g.
http://localhost:8069/web/health. - Where it appears:
04_infrastructure.html
Hotfix- A limited and fast fix for a specific production/runtime problem.
- Where it appears:
00_end2end_onboarding.html
I
Image- A Docker template from which a container is created.
- Where it appears:
04_infrastructure.html
Inheritance- In the Odoo context means extending an existing model or an existing XML view instead of building everything from scratch.
- Where it appears:
05_Odoo_from_0_to_hero.html
J
JS- Stands for JavaScript. In the Odoo/KomITi context it appears in the frontend/OWL component layer.
- Where it appears:
05_Odoo_from_0_to_hero.html(Step 8)
K
Kanban- One of the Odoo view types.
- Where it appears:
05_Odoo_from_0_to_hero.html
KomITi- The organizational and project context of this repo, workflow, and learning library.
- Where it appears:
- virtually all learning documents
L
Localhost- The local development runtime environment on the developer's machine.
- Where it appears:
04_infrastructure.html05_Odoo_from_0_to_hero.html
Lock date- An Odoo accounting concept frequently used to explain business rules and write discipline.
- Where it appears:
05_Odoo_from_0_to_hero.html
M
Manifest- The Odoo file
__manifest__.pythat describes dependencies, data loading, and the basic identity of a module. - Where it appears:
05_Odoo_from_0_to_hero.html(Step 1)
Merge- A Git operation that joins the history and changes from one branch into another.
- Where it appears:
02_git_vscode_basics.html
Model- An Odoo Python class that describes a business object.
- Where it appears:
05_Odoo_from_0_to_hero.html(Step 4)
Module upgrade- An Odoo terminal command and operational step by which the runtime loads module changes into the database and registry.
- Where it appears:
05_Odoo_from_0_to_hero.html(Step 1, summary)
O
Odoo- The framework and ERP platform on which this repo is based.
- Where it appears:
- virtually all learning documents
Onchange- An Odoo UI helper pattern that modifies the form during input, but on its own is not sufficient as the sole business guarantee.
- Where it appears:
05_Odoo_from_0_to_hero.html
Output- A Terraform output value that the stack displays after
apply. - Where it appears:
04_infrastructure.html
P
Plan- A Terraform terminal command and the result of an analysis showing what will change if you run
apply. - Where it appears:
04_infrastructure.html
PR- Stands for
Pull Request. It is the review unit in which a change is presented, explained, and verified before a merge. - Where it appears:
00_end2end_onboarding.html02_git_vscode_basics.html
Provider- A Terraform plugin that gives Terraform the vocabulary and API bridge to a specific system, e.g. AWS.
- Where it appears:
04_infrastructure.html
R
Record rule- An Odoo security mechanism that restricts which specific records a user can see or modify.
- Where it appears:
05_Odoo_from_0_to_hero.html(Step 5)
Recordset- An Odoo collection of one or more records on which methods operate.
- Where it appears:
05_Odoo_from_0_to_hero.html
Resource- A Terraform object that Terraform manages throughout the infrastructure lifecycle.
- Where it appears:
04_infrastructure.html
Reverse proxy- A service that receives HTTP/HTTPS traffic and forwards it to the actual backend runtime.
- Where it appears:
04_infrastructure.html
Rollout- A planned release of a change to a runtime, with impact thinking and verification steps.
- Where it appears:
01_project_product_mgmt.html
Root cause- The actual cause of a problem, not its surface-level symptom.
- Where it appears:
00_end2end_onboarding.html
Runbook- An operational document that describes day-2 ops steps, verification, recovery, and routine procedures.
- Where it appears:
04_infrastructure.html
Runtime- The actual running, live state of the system: processes, containers, database, loaded code, and behaviour that actually works.
- Where it appears:
04_infrastructure.html05_Odoo_from_0_to_hero.html
S
Search view- An Odoo view for filter and search controls in the UI.
- Where it appears:
05_Odoo_from_0_to_hero.html(Step 6)
Security group- An AWS network firewall boundary for inbound/outbound rules.
- Where it appears:
04_infrastructure.html