docs: add stage and commit skill, format

This commit is contained in:
Rotimi Best
2026-06-14 09:24:15 +01:00
parent 0975f82c8b
commit 64571dd5ec
2 changed files with 85 additions and 4 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ Cloudflare Worker that fronts every browser-facing ClassroomIO host:
The Worker forwards each request to one of two Render services based on path: The Worker forwards each request to one of two Render services based on path:
| Host / path | Upstream | | Host / path | Upstream |
| ------------- | ------------------------------------------------------------ | | ------------- | ------------------------------------------------------------------------------ |
| `embed.*` | R2 `assets` bucket — `/{widget}` maps to internal keys (`src/embed-assets.ts`) | | `embed.*` | R2 `assets` bucket — `/{widget}` maps to internal keys (`src/embed-assets.ts`) |
| `/proxy/*` | API service (`/proxy` prefix stripped, rest forwarded as-is) | | `/proxy/*` | API service (`/proxy` prefix stripped, rest forwarded as-is) |
| anything else | Dashboard service | | anything else | Dashboard service |
+81
View File
@@ -0,0 +1,81 @@
---
name: stage-and-commit
description: 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:
```bash
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:
```bash
pnpm format:changed
```
If any files under `packages/ui/src/**` were changed, also run the UI prefix fixer first:
```bash
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:
```bash
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:
```bash
pnpm format:check
```
If staged changes include any file matching `packages/ui/src/**/*.{svelte,ts,tsx,js,jsx}`:
```bash
pnpm --filter @cio/ui prefix:check:staged
```
Fix any failures before proceeding.
## 5. Commit
Commit messages must follow [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.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.
```bash
git commit -m "$(cat <<'EOF'
type(scope): short description
Optional longer body if needed.
EOF
)"
```