From a project configuration, MainPath generates GitLab repositories with a code scaffold, pipelines and deployment configuration and runs everything from git push to the running container; your part is the product code.
Organization, project and repositories
An organization holds members, billing, servers, store accounts and connections such as Sentry, Cloudflare, GitHub, GitLab or SMTP; administrators manage it, developers work on their projects. A project is one product inside it and by default gets a GitLab group on gitlab.application-platform.com with one repository per component, gitlab-profile for the README and two platform-maintained repositories. At the bottom of the project you can choose GitHub or GitLab.com instead:
local-configurationholds the editor configuration (.vscode,.idea) and is symlinked into the project folder. Rules for AI agents come from the agent plugin (mp agent install).gitops-configurationdescribes, per environment (dev and prod), which version runs with which configuration; the pipelines write the versions into it, your own values go intocustom.yaml.
From push to production
flowchart LR push["Push or merge to main"] --> pipeline["Pipeline: test, version, build"] pipeline -->|"automatic"| dev["Dev"] pipeline -->|"manual job"| prod["Prod"]
A push or merge to main starts the pipeline, which derives the version from the commit messages (feat:, fix:), builds the artifact and records the state in gitops-configuration; dev is rolled out automatically, production through a manual job in GitLab, and feature branches build without a version commit. Git workflow and deployment describes the flow including rollback.
Where things live
In the web interface at app.application-platform.com you manage organizations, Projects, Servers, Connections, Docker Apps, Domains and Workspaces. GitLab holds the code, pipelines, job logs and merge requests, and Sentry collects errors once a Sentry account is connected under Connections. How Ansible, image tags and servers interact is covered in Architecture.
Two ways of working
Locally, the MainPath Toolbox prepares your machine and clones all repositories into ~/Documents/MainPath/<organization-slug>/<project-slug>/; alternatively you work in a remote workspace, an Ubuntu VM in the cloud. In both cases you open the project folder in your editor and start each application with mp run-local from the repository root, see Local development and CLI and agent plugin. Then you create a new project or import an existing repository.