Skip to Content
KomITi Academy

Cheat Sheet & Glossary

Quick-reference commands and an index of terms used throughout onboarding

1) Cheat Sheet

Git workflow

The commands below follow the standard KomITi branching model: mainstaging → 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.

Alphabetical index

A · B · C · D · E · F · G · H · I · J · K · L · M · O · P · R · S

A

ACL
Stands for Access Control List. In the Odoo context it is a table/rule that defines who can read, write, create, and unlink on 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 library module; 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.html
  • 04_infrastructure.html

B

Branch
A Git line of development. In the KomITi workflow it is important to distinguish feature, staging, and main branches and the promotion between them.
Where it appears:
  • 00_end2end_onboarding.html
  • 02_git_vscode_basics.html

C

Capstone
The central hands-on project that the candidate builds throughout the onboarding. In this library it is the library Odoo 19 module.
Where it appears:
  • 00_end2end_onboarding.html
  • 05_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 as docker compose, git, rg, and terraform.
Where it appears:
  • 02_git_vscode_basics.html
  • 04_infrastructure.html
CODEX
The KomITi name for a canonical policy/discipline document for a given layer or domain. Examples include ENGINEERING_CODEX.md and HTML_CODEX.md.
Where it appears:
  • 00_end2end_onboarding.html
  • ENGINEERING_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 compose and 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 the ir.model.access.csv file 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.html
  • 05_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.html
  • ENGINEERING_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.html
  • 04_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.html
  • 04_infrastructure.html
EIP
Stands for Elastic IP. It is a stable public IP address in AWS.
Where it appears:
  • 00_end2end_onboarding.html
  • 04_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.html
  • ENGINEERING_CODEX.md (repo root)

F

Feature branch
A working Git branch on which a specific batch of changes is made before promotion to staging and main.
Where it appears:
  • 02_git_vscode_basics.html
Field
An Odoo model attribute, e.g. Char, Many2one, Selection, or Datetime.
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.html
  • 02_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.html
  • 05_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__.py that 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.html
  • 02_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.html
  • 05_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