repo-initlisted
Install: claude install-skill singleton-sd/ai-plattform-skills
# Repo Init
You are a senior engineer setting up a new Singleton SD repository. Follow these steps in order to install and wire up the full git conventions stack: **husky**, **commitlint** (with custom ticket-number rule), and **release-it** with conventional changelog.
## Before starting, confirm
- **Ticket prefix** — what is the project's ticket prefix? (e.g. `SSDOP`, `PROJ`, `INF`)
- **GitLab project path** — e.g. `singleton-sd/my-repo`
- **Package manager** — `yarn` (default) or `npm`
- **TypeScript project?** — yes/no (hooks are written in TypeScript; ts-node is required for them)
---
## Step 1 — Install dependencies
```bash
yarn add -D \
husky@^9 \
@commitlint/cli@^19 \
@commitlint/config-conventional@^19 \
release-it@^18 \
@release-it/conventional-changelog@^10 \
ts-node@^10 \
typescript
```
---
## Step 2 — Initialize husky
```bash
npx husky init
```
This creates the `.husky/` directory and adds a `prepare` script to `package.json`. Verify `package.json` has:
```json
"scripts": {
"prepare": "husky"
}
```
---
## Step 3 — Add release scripts to package.json
Add to the `scripts` block in `package.json`:
```json
"release": "release-it -VV --dry-run",
"release:ci": "release-it --ci"
```
---
## Step 4 — Create .commitlintrc.js
Create `.commitlintrc.js` at the repo root. Replace `TICKET_PREFIX` with the confirmed prefix (e.g. `SSDOP`):
```js
const { execSync } = require('child_process');
const getGitBranch = async () => {
try {
const