# cin90 day publish

Publish a day folder's student-safe starter template

cin90 day publish stages the day folder's allowlist (data/ and
docker-compose.yml) and force-pushes it as the target repo's main, a
fresh single-commit root. --dry-run prints the files it would push.

Republishing replaces main; it does not recall a leak. Clones, forks,
and GitHub's own refs keep old commits reachable, so the only remedy
for a published solution is deleting and recreating the repo. Publish
refuses a repo whose default branch is not main or that holds other
branches, tags, or pull-request refs, unless --force.

The target is a GitHub owner/name pushed with your gh credentials
(gh auth setup-git once). The repo is created private if missing.
Exits 6 when the day folder has nothing publishable.

## Usage

```
cin90 day publish <day-folder> [flags]
```

## Flags

```
      --dry-run       stage and list the files that would be pushed; push nothing
      --force         publish even when the repo holds refs besides main
  -h, --help          help for publish
      --repo string   target starter repository, owner/name (required)
```

## See also

- [cin90 day](/docs/cin90_day/)
