Getting Started

Git Setup

Hardstand deploys directly from Git. Here is what your repository needs to look like and how to connect private repos.

Public repositories

No setup needed. Paste the HTTPS clone URL of any public repo ending in .git and Hardstand will clone it without any credentials.

https://github.com/your-username/my-project.git
https://gitlab.com/your-username/my-project.git

Private repositories

Connect your GitHub or GitLab account via OAuth — Hardstand stores an access token so it can clone private repos on your behalf. You only need to do this once per provider.

  1. 01In the Create Project dialog, click the GitHub or GitLab button.
  2. 02A popup opens — authorise Hardstand to read your repositories.
  3. 03The picker loads your repos. Search by name and click one to select it.
  4. 04Your connection is saved — all future deployments use the stored token automatically.
You can connect both GitHub and GitLab at the same time from Settings → Connected Accounts.

Branch selection

Hardstand defaults to main. If your default branch is masteror anything else, update the branch field in the Create Project form before deploying. When a repo is selected via the picker the branch is set automatically from the repo's default.

Hardstand always deploys the latest commit on that branch at the time you click Deploy. There is no automatic redeploy on push — you trigger each deployment manually.

Repository requirements

Framework file must be in the repo root

next.config.js, package.json, go.mod, Cargo.toml, pom.xml, manage.py, etc. — one of these is how Hardstand identifies your framework.

Lock files should be committed

package-lock.json, yarn.lock, Cargo.lock, go.sum — committing them makes builds faster and reproducible.

Do not gitignore your source files

Hardstand builds from source. Make sure source code, requirements.txt, and any config files are committed.

Build artefacts (dist/, .next/, target/) can stay gitignored

Hardstand runs the build step itself inside Docker. You do not need to commit compiled output.

Recommended .gitignore additions

These paths are safe to ignore — Hardstand never needs them in the repo:

# Build output — Hardstand builds these itself
.next/
dist/
build/
target/

# Runtime secrets — use the Env Vars dashboard instead
.env
.env.local
.env.production

# OS / editor noise
.DS_Store
*.swp