Files

1.9 KiB

name, description
name description
stage-and-commit Stage changed files and create a commit following the repo's translation, formatting, and git workflow rules. Use when the user asks to stage, commit, or both.

Follow these steps in order. Do not skip steps or reorder them.

1. Translations (if applicable)

If apps/dashboard/src/lib/utils/translations/en.json is among the changed files:

cd apps/dashboard && pnpm translate

After running, review the generated locale files and verify that any placeholders wrapped in {} were preserved exactly. Fix translated variable names if needed before continuing.

2. Format changed files

Run the changed-file formatter from the repo root:

pnpm format:changed

If any files under packages/ui/src/** were changed, also run the UI prefix fixer first:

pnpm --filter @cio/ui prefix

Then re-run pnpm format:changed after the prefix fix.

3. Stage files

Stage only the files relevant to the task. Prefer explicit paths over broad commands:

git add path/to/file1 path/to/file2

Never use git add -A or git add . — those risk accidentally staging unrelated files, env files, or large binaries.

4. Pre-commit checks

Run these before creating the commit:

pnpm format:check

If staged changes include any file matching packages/ui/src/**/*.{svelte,ts,tsx,js,jsx}:

pnpm --filter @cio/ui prefix:check:staged

Fix any failures before proceeding.

5. Commit

Commit messages must follow Conventional Commits 1.0.0:

<type>[optional scope]: <description>

[optional body]

Common types: feat, fix, chore, refactor, docs, style, test.

Never add Co-Authored-By trailers for Claude, Cursor, Codex, or any other AI tool.

git commit -m "$(cat <<'EOF'
type(scope): short description

Optional longer body if needed.
EOF
)"