Skip to content

Quickstart

Catch your first violation in 10 minutes. No DevOps team required.

In your workspace, add a Git credential for GitHub, GitLab (gitlab.com or self-managed), Bitbucket Cloud or Azure DevOps under Credentials → Add credential. See Connecting a Git provider.

Pick a repository with the connected credential and create your project. AppArch generates a project-specific runner token.

Start from a ready-made template (Clean, Hexagonal, Layered) or write your own arch.yaml file:

version: 2
style: hexagonal
layers:
- { name: presentation, paths: ["src/ui/**"] }
- { name: domain, paths: ["src/domain/**"] }
- { name: infrastructure, paths: ["src/infra/**"] }
rules:
- { id: RULE-014, forbid: "presentation → infrastructure" }
- { id: RULE-002, forbid: "domain → *", except: ["std"] }

Add the runner to your CI pipeline (GitLab CI example):

# Image pulls are authorized with your INSTALLATION credential, not the project token
# (Settings → CI/CD → Variables):
# DOCKER_AUTH_CONFIG = {"auths":{"hub.apparch.io":{"auth":"base64(<installation-id>:<installation-key>)"}}}
archpilot:
image: hub.apparch.io/collectors/dotnet:latest
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
variables:
APPARCH_Collector__Token: "$APPARCH_TOKEN"
APPARCH_Collector__ApiUrl: "https://api.yourdomain.com"
script:
# Optional flags: --modules archpilot,archscan (pin what runs)
# --fail-on critical (fail this step when findings at/above the level exist)
- apparch "$CI_PROJECT_DIR"

The next time a PR/MR is opened, AppArch leaves line-by-line comments. See the Integrations section for details.