# Init

> One-time template initialization. Collects app name, description, and package manager preference, then updates all project files. Run once when starting a new project from this template.

- Skill: `sahildave/init` (Agent Skill)
- Install (CLI): `npx skillmds@latest add sahildave/init`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sahildave/init/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: sahildave (https://skillmd.com/u/sahildave)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/sahildave/init

---


You are helping a user initialize this template for their specific application. This command is typically run once when starting a new project.

## Step 1: Collect Information

Ask the user for:

1. **App Name**: What is the name of their application?
2. **App Description**: What does their app do? (1-2 sentences)
3. **Package Manager**: Which package manager? (`npm`, `bun`, or `pnpm`) — default is `npm`

## Step 2: Process and Update Files

After receiving their input:

1. **Reword the description** to be coherent and professional
2. **Get GitHub username** using `gh api user --jq .login` or `git config user.name`
3. **Update `package.json`**: Set `name` (kebab-case) and `description`
4. **Update `src/index.html`**: Set `<title>` tag
5. **Update `AGENTS.md`**: Update the Overview section with app name and description
6. **Update `README.md`**: Replace "Tauri React Template" with app name, update description
7. **Update `src-tauri/tauri.conf.json`**:
   - `productName`: App name
   - `identifier`: `com.${githubUsername}.${kebab-case-app-name}`
   - `windows[0].title`: App name
   - `bundle.shortDescription` and `bundle.longDescription`
   - `bundle.publisher` and `bundle.copyright` with GitHub username
   - `plugins.updater.endpoints`: Update to use their GitHub username and repo name
8. **Update `src-tauri/Cargo.toml`**:
   - `name`: Kebab-case app name
   - `description`: Their description
   - `authors`: GitHub username
9. **Update `.github/workflows/release.yml`**:
   - Workflow `name`
   - Release name and body references
10. **Update `docs/SECURITY.md`**:
    - Replace `YOUR_SECURITY_EMAIL` with appropriate contact (or GitHub username if no email)
11. **Update `docs/CONTRIBUTING.md`**:
    - Replace `YOUR_USERNAME/YOUR_REPO` with their GitHub username and repo name

## Step 3: Switch Package Manager (if needed)

If the user chose `bun` or `pnpm` (anything other than `npm`), run `/change-package-manager <chosen-pm>` to update all references across the project.

If they chose `npm` (the default), skip this step.

## Step 4: Verify

Run these commands (using whichever package manager was selected):

```bash
<pm> install
<pm> run check:all
```

Fix any errors before proceeding.

## Step 5: Next Steps

Summarize what was updated, then guide the user:

1. **Try the app**: Run `<pm> run tauri:dev` to verify everything works
2. **Set up releases** (if using GitHub Actions): See `docs/developer/releases.md` for signing key generation and GitHub secrets
3. **Explore the codebase**:
   - Read `docs/developer/architecture-guide.md` for patterns
   - Try the command palette (Cmd+K)
   - Try `/check` before finishing work sessions
4. **Clean up**: Once comfortable, delete `docs/USING_THIS_TEMPLATE.md`

