Documentation
Everything you need to install Sanctra, analyze a repository, and review the pull request it produces.
Introduction
Sanctra is a GitHub-connected DevOps platform. You install the Sanctra GitHub App on a repository; it analyzes the code, produces recommendations, and opens a pull request containing the CI/CD, container, and deployment configuration your project needs.
Nothing is committed to your default branch. Every change is a reviewable diff you can question, dismiss, or refine.
Install the GitHub App
Sanctra reads repositories through a GitHub App you install with least-privilege scopes on the repositories you select.
- Sign in to Sanctra with GitHub.
- Install the Sanctra GitHub App on your organization or personal account.
- Choose which repositories Sanctra can see.
Run your first analysis
From the dashboard, pick a connected repository and click Analyze. Sanctra performs a sparse checkout, detects your stack, and generates a health score with ranked recommendations.
sanctra analyze \
--repo acme/api \
--target railwayA completed analysis produces:
- Detected stack (framework, runtime, package manager)
- Existing infrastructure snapshot
- Ranked findings with severity, effort, and evidence
- Suggested deployment target(s)
Generate a pull request
The generation wizard walks through target, scope, and configuration. You'll see the exact file tree, diff, and any warnings before the branch is created.
# .github/workflows/deploy.yml (added)
# Dockerfile (added)
# .env.example (added)
# DEPLOYMENT.md (added)Supported stacks
Sanctra ships first-class detection for common stacks and a generic Docker fallback for anything else.
FAQ
Does Sanctra deploy my application?
No. Sanctra prepares your repository for deployment on providers you choose (Vercel, Railway, Render, Fly, AWS, or a Docker-based VPS). You keep the deployment relationship with those providers.
Can Sanctra merge PRs automatically?
No. Merge is always a human action. This is intentional.
Does Sanctra store my secrets?
No. We generate templates (.env.example) and instructions. You add the values in your provider.