← Getting started

Public repos & packages

Share code and packages publicly. The team still owns everything.

Public repositories

A public repo is readable by anyone — they can clone it, browse the code, and see the commit history. Push access still requires team membership. The pipeline still gates every push. Nothing changes about how the team works.

Public repos are useful for open-source libraries, Homebrew taps, documentation repos, and CLI tools you want to distribute. The URL is gittan.eu/{org}/{repo}, and the clone URL is git.gittan.eu/{org}/{repo}.git.

How to make a repo public

Via the CLI:

gittan repos create my-lib --team my-team --public
gittan repos update <repo-id> --public

Or via the API:

POST /orgs/{orgId}/repos  { "name": "my-lib", "teamId": "...", "private": false }
PUT  /orgs/{orgId}/repos/{repoId}  { "isPublic": true }

Making a repo public requires org owner permissions.

No contributions from strangers

gittan is built for teams that ship. Public repos let the world read your work. Contributions happen through your team — not through pull requests from strangers. If someone wants to contribute, they talk to the team. If the team trusts them, they get added as a team member with full push access.

Package visibility

Package visibility is separate from repo visibility. You can have a private repo that publishes a public npm package, or a public repo with private container images.

Visibility is controlled at two levels:

LevelScopeExample
Per packageOne specific packagenpm / @myorg/design-tokens
Per formatAll packages of a typecontainer (all images public)

Supported formats: npm, pypi, go, terraform, container, generic.

Every visibility change is logged in the audit log.