kenmark-skills 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +115 -0
- package/brain/CHANGELOG.md +48 -0
- package/package.json +46 -0
- package/skills/user-skills/commit-push/SKILL.md +225 -0
- package/skills/user-skills/init-brain/SKILL.md +425 -0
- package/skills/user-skills/issues-check/SKILL.md +121 -0
- package/skills/user-skills/issues-list/SKILL.md +180 -0
- package/skills/user-skills/issues-maintenance/SKILL.md +252 -0
- package/skills/user-skills/issues-scan/SKILL.md +226 -0
- package/skills/user-skills/issues-setup/SKILL.md +176 -0
- package/skills/user-skills/skill-router/SKILL.md +147 -0
package/README.md
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# kenmark-skills
|
|
2
|
+
|
|
3
|
+
Agent skills from [Kenmark ITan Solutions](https://github.com/TanoojMehra/kenmark-skills) — reusable workflows for **Cursor**, **Codex**, **Claude Code**, and other harnesses that read `SKILL.md` files.
|
|
4
|
+
|
|
5
|
+
Created by **Tanooj Mehra** and **Adwait Date**.
|
|
6
|
+
|
|
7
|
+
## What's included
|
|
8
|
+
|
|
9
|
+
| Skill | Purpose |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [`init-brain`](skills/user-skills/init-brain/SKILL.md) | Bootstrap `brain/` and sync project standards to `CLAUDE.md`, `AGENTS.md`, `.cursorrules`, and `.cursor/rules/` |
|
|
12
|
+
| [`skill-router`](skills/user-skills/skill-router/SKILL.md) | Pick the best installed user skill from intent and keywords |
|
|
13
|
+
| [`commit-push`](skills/user-skills/commit-push/SKILL.md) | Group changes by feature, write conventional commits, push (no co-author trailers) |
|
|
14
|
+
| [`issues-setup`](skills/user-skills/issues-setup/SKILL.md) | Create `brain/issues/` layout and `INDEX.md` |
|
|
15
|
+
| [`issues-list`](skills/user-skills/issues-list/SKILL.md) | Dashboard of open issues by area and priority |
|
|
16
|
+
| [`issues-check`](skills/user-skills/issues-check/SKILL.md) | Move resolved issues to `completed/` and refresh the index |
|
|
17
|
+
| [`issues-scan`](skills/user-skills/issues-scan/SKILL.md) | Discover new issues in the codebase and file them under `brain/issues/` |
|
|
18
|
+
| [`issues-maintenance`](skills/user-skills/issues-maintenance/SKILL.md) | Audit issue tracker health (duplicates, stale index, missing files) |
|
|
19
|
+
|
|
20
|
+
These skills assume a **`brain/`** knowledge base (standards, changelog, optional issue tracker). Use **`init-brain`** first on a new repo, then the issues and git workflow skills as needed.
|
|
21
|
+
|
|
22
|
+
## Requirements
|
|
23
|
+
|
|
24
|
+
- **Node.js** 18+ (for npm install/publish only)
|
|
25
|
+
- An agent environment that discovers skills from disk (Cursor, Codex CLI, Claude Code, etc.)
|
|
26
|
+
|
|
27
|
+
## Install
|
|
28
|
+
|
|
29
|
+
### Option A — Clone into your skills directory
|
|
30
|
+
|
|
31
|
+
**Cursor (user-level):**
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
git clone https://github.com/TanoojMehra/kenmark-skills.git
|
|
35
|
+
cp -R kenmark-skills/skills/user-skills/* ~/.cursor/skills/
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Codex / shared agent skills (`~/.agents/skills`):**
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
cp -R kenmark-skills/skills/user-skills/* ~/.agents/skills/
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Project-scoped (team repo):**
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
mkdir -p .cursor/skills
|
|
48
|
+
cp -R /path/to/kenmark-skills/skills/user-skills/* .cursor/skills/
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Commit project-scoped skills only if the whole team should use the same versions.
|
|
52
|
+
|
|
53
|
+
### Option B — npm package
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npm install kenmark-skills
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Published files live under `node_modules/kenmark-skills/skills/user-skills/`. Copy that folder into `~/.cursor/skills/`, `~/.agents/skills/`, or your project's skills path (same as Option A).
|
|
60
|
+
|
|
61
|
+
Verify what will ship before publishing:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npm run pack:check
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Publish (maintainers):
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npm run publish:public
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Using a skill
|
|
74
|
+
|
|
75
|
+
1. Ensure the skill folder (e.g. `init-brain/`) containing `SKILL.md` is on the agent's skill search path.
|
|
76
|
+
2. In chat, refer to the skill by name or trigger phrase, for example:
|
|
77
|
+
- "Run **init-brain** on this repo"
|
|
78
|
+
- "Use **commit-push** to ship these changes"
|
|
79
|
+
- "**issues-list**" or "list open issues"
|
|
80
|
+
3. The agent should **read and follow** the full `SKILL.md` for that skill — not improvise from the description alone.
|
|
81
|
+
|
|
82
|
+
### skill-router note
|
|
83
|
+
|
|
84
|
+
`skill-router` builds a local registry at `skills/user-skills/skill-router/registry.json` when run from a checkout of this repo. That file is **gitignored** and **not** published to npm; it is per-machine generated state.
|
|
85
|
+
|
|
86
|
+
## Repository layout
|
|
87
|
+
|
|
88
|
+
```text
|
|
89
|
+
kenmark-skills/
|
|
90
|
+
├── README.md
|
|
91
|
+
├── package.json
|
|
92
|
+
├── brain/
|
|
93
|
+
│ └── CHANGELOG.md # Versioned notes for this package
|
|
94
|
+
└── skills/
|
|
95
|
+
└── user-skills/ # Skills shipped in the npm package
|
|
96
|
+
├── init-brain/
|
|
97
|
+
├── skill-router/
|
|
98
|
+
├── commit-push/
|
|
99
|
+
└── issues-*/
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Contributing
|
|
103
|
+
|
|
104
|
+
1. Edit skills under `skills/user-skills/<skill-name>/SKILL.md`.
|
|
105
|
+
2. Append an entry to [`brain/CHANGELOG.md`](brain/CHANGELOG.md) with a dated version slug.
|
|
106
|
+
3. Open a PR; describe which skills changed and any new trigger phrases.
|
|
107
|
+
|
|
108
|
+
## License
|
|
109
|
+
|
|
110
|
+
MIT — Kenmark ITan Solutions (see `package.json`).
|
|
111
|
+
|
|
112
|
+
## Links
|
|
113
|
+
|
|
114
|
+
- **Repository:** https://github.com/TanoojMehra/kenmark-skills
|
|
115
|
+
- **Issues:** https://github.com/TanoojMehra/kenmark-skills/issues
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# CHANGELOG
|
|
2
|
+
|
|
3
|
+
## v2026.06.02-1912-init-brain-user-choice
|
|
4
|
+
- init-brain now asks which agent config files to sync instead of creating all targets by default.
|
|
5
|
+
- Brain scaffold still always runs; only user-selected files (CLAUDE.md, AGENTS.md, Cursor, GEMINI.md) are written.
|
|
6
|
+
|
|
7
|
+
## v2026.06.02-readme
|
|
8
|
+
- Added root `README.md` with skill inventory, install paths (Cursor, `~/.agents/skills`, npm), usage notes, and repo layout.
|
|
9
|
+
|
|
10
|
+
## v2026.06.02-package-metadata
|
|
11
|
+
- Updated `package.json` description, authors, and GitHub URLs for Kenmark ITan Solutions (`TanoojMehra/kenmark-skills`).
|
|
12
|
+
|
|
13
|
+
## v2026.06.02-1905-init-brain-cross-agent
|
|
14
|
+
- Expanded `skills/user-skills/init-brain/SKILL.md` to bootstrap `brain/` and sync standards to `CLAUDE.md`, `AGENTS.md`, `.cursorrules`, and `.cursor/rules/project-standards.mdc`.
|
|
15
|
+
- Documented `brain/rules/standards.md` as source of truth with `init-brain` merge markers for idempotent updates across Claude Code, Codex, and Cursor.
|
|
16
|
+
|
|
17
|
+
## v2026.06.02-1810-init-skills
|
|
18
|
+
- Initialized project scaffold with local `skills/`, `brain/`, and `temp/` directories.
|
|
19
|
+
- Copied user-authored skills from `~/.claude/skills` and `~/.codex/skills` into workspace-local skill packs.
|
|
20
|
+
|
|
21
|
+
## v2026.06.02-1814-skill-filter
|
|
22
|
+
- Filtered copied skills to requested set only: `issues-*`, `commit-push`, and `skill-router`.
|
|
23
|
+
- Re-copied using symlink target resolution so requested skills are fully included.
|
|
24
|
+
|
|
25
|
+
## v2026.06.02-1819-skill-unify
|
|
26
|
+
- Merged split skill packs into a single folder: `skills/user-skills/`.
|
|
27
|
+
- Deduped by skill name and preserved source provenance in `skills/user-skills-manifest.md`.
|
|
28
|
+
- Removed `skills/claude-user-skills/` and `skills/codex-user-skills/` after merge.
|
|
29
|
+
|
|
30
|
+
## v2026.06.02-1820-brain-rules-skill
|
|
31
|
+
- Added `skills/user-skills/brain-rules/SKILL.md` with all provided Cursor rules embedded in one reusable skill.
|
|
32
|
+
- Preserved all rule sections and bullet points from the supplied rule set.
|
|
33
|
+
|
|
34
|
+
## v2026.06.02-1826-npm-package-config
|
|
35
|
+
- Added root `package.json` for npm publishing with public access config and Node engine requirement.
|
|
36
|
+
- Whitelisted publish files to include unified user skills and changelog artifacts only.
|
|
37
|
+
- Added helper scripts: `pack:check` and `publish:public`.
|
|
38
|
+
|
|
39
|
+
## v2026.06.02-1844-init-brain-rename
|
|
40
|
+
- Renamed skill folder from `skills/user-skills/brain-rules/` to `skills/user-skills/init-brain/`.
|
|
41
|
+
- Updated skill title to `Init Brain Skill`.
|
|
42
|
+
- Updated skill inventory files to include `init-brain` and refresh counts.
|
|
43
|
+
|
|
44
|
+
## v2026.06.02-1851-skill-router-registry-runtime
|
|
45
|
+
- Updated `skills/user-skills/skill-router/SKILL.md` to generate `skills/user-skills/skill-router/registry.json` at runtime on each invocation.
|
|
46
|
+
- Added repo and publish ignores so the generated registry file is not committed or shipped (`.gitignore`, `.npmignore`).
|
|
47
|
+
- Removed tracked `skills/user-skills/skill-router/registry.json`; it is now per-user generated state.
|
|
48
|
+
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "kenmark-skills",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Skills by Kenmark ITan Solutions — Cursor/Codex agent skills from our development workflows. Created by Tanooj Mehra & Adwait Date.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"private": false,
|
|
7
|
+
"type": "commonjs",
|
|
8
|
+
"files": [
|
|
9
|
+
"skills/user-skills/**/*",
|
|
10
|
+
"skills/user-skills-manifest.md",
|
|
11
|
+
"skills/COPIED_SKILLS.md",
|
|
12
|
+
"brain/CHANGELOG.md"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"pack:check": "npm pack --dry-run",
|
|
16
|
+
"publish:public": "npm publish --access public"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"kenmark",
|
|
20
|
+
"cursor",
|
|
21
|
+
"codex",
|
|
22
|
+
"skills",
|
|
23
|
+
"ai-agent",
|
|
24
|
+
"workflow",
|
|
25
|
+
"rules"
|
|
26
|
+
],
|
|
27
|
+
"author": "Kenmark ITan Solutions",
|
|
28
|
+
"contributors": [
|
|
29
|
+
"Tanooj Mehra",
|
|
30
|
+
"Adwait Date"
|
|
31
|
+
],
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "https://github.com/TanoojMehra/kenmark-skills.git"
|
|
35
|
+
},
|
|
36
|
+
"bugs": {
|
|
37
|
+
"url": "https://github.com/TanoojMehra/kenmark-skills/issues"
|
|
38
|
+
},
|
|
39
|
+
"homepage": "https://github.com/TanoojMehra/kenmark-skills#readme",
|
|
40
|
+
"publishConfig": {
|
|
41
|
+
"access": "public"
|
|
42
|
+
},
|
|
43
|
+
"engines": {
|
|
44
|
+
"node": ">=18"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: commit-push
|
|
3
|
+
description: |
|
|
4
|
+
Systematically group working-tree changes by feature or area, create meaningful
|
|
5
|
+
conventional commits, and push to the remote. Never adds Co-authored-by or other
|
|
6
|
+
attribution trailers. Use when asked to "commit and push", "commit by feature",
|
|
7
|
+
"split commits", "ship my changes", "commit logically", or "push commits".
|
|
8
|
+
allowed-tools:
|
|
9
|
+
- Bash
|
|
10
|
+
- Read
|
|
11
|
+
- Grep
|
|
12
|
+
- Glob
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
triggers:
|
|
15
|
+
- commit and push
|
|
16
|
+
- commit by feature
|
|
17
|
+
- split commits
|
|
18
|
+
- ship my changes
|
|
19
|
+
- commit logically
|
|
20
|
+
- push commits
|
|
21
|
+
- systematic commit
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Commit & Push — Feature-Grouped, Meaningful Commits
|
|
25
|
+
|
|
26
|
+
## Purpose
|
|
27
|
+
|
|
28
|
+
Turn a messy working tree into one or more **focused commits** grouped by feature
|
|
29
|
+
or area, write messages that explain **why**, push to the tracking remote — and
|
|
30
|
+
**never** add co-author or tool attribution.
|
|
31
|
+
|
|
32
|
+
Only run when the user explicitly asks to commit and/or push. Do not commit
|
|
33
|
+
opportunistically after unrelated edits.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Hard rules (non-negotiable)
|
|
38
|
+
|
|
39
|
+
1. **No co-author attribution**
|
|
40
|
+
- Never add `Co-authored-by:`, `Made-with:`, `Signed-off-by:` for an AI/tool, or
|
|
41
|
+
similar trailers to commit messages.
|
|
42
|
+
- Never pass `--trailer` with co-author metadata.
|
|
43
|
+
- If a hook rewrites the message to add co-author lines, **abort the commit**,
|
|
44
|
+
fix or bypass the hook only if the user explicitly requests it, and retry
|
|
45
|
+
with a clean message.
|
|
46
|
+
- After each commit, verify with `git log -1 --format=%B` that no attribution
|
|
47
|
+
trailer was injected.
|
|
48
|
+
|
|
49
|
+
2. **No git config changes** — do not run `git config` (local or global).
|
|
50
|
+
|
|
51
|
+
3. **No destructive git** — no `push --force`, `reset --hard`, or skipping hooks
|
|
52
|
+
(`--no-verify`) unless the user explicitly asks.
|
|
53
|
+
|
|
54
|
+
4. **No push to main/master by default** — if on the default branch, create a
|
|
55
|
+
feature branch first (derive name from the dominant change), then commit and
|
|
56
|
+
push with `-u origin HEAD`.
|
|
57
|
+
|
|
58
|
+
5. **No secrets in commits** — never stage `.env`, credentials, keys, or token
|
|
59
|
+
files. Warn if the user asked to commit them.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Step 1 — Gather context (parallel)
|
|
64
|
+
|
|
65
|
+
Run these in parallel:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
git status --short
|
|
69
|
+
git diff --stat
|
|
70
|
+
git diff --cached --stat
|
|
71
|
+
git branch -vv
|
|
72
|
+
git log --oneline -12
|
|
73
|
+
git rev-parse --abbrev-ref HEAD
|
|
74
|
+
git rev-parse --abbrev-ref origin/HEAD 2>/dev/null || true
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Resolve default branch: strip `origin/` from `origin/HEAD`, or use `main`.
|
|
78
|
+
|
|
79
|
+
If the working tree is clean, report nothing to commit and stop.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Step 2 — Group changes by feature / area
|
|
84
|
+
|
|
85
|
+
Partition **staged + unstaged + untracked** files into logical commit groups.
|
|
86
|
+
Prefer **file-level** grouping (do not use `git add -p`).
|
|
87
|
+
|
|
88
|
+
### Monorepo grouping (cercli-integrations)
|
|
89
|
+
|
|
90
|
+
| Group key | Paths | Typical type |
|
|
91
|
+
|-----------|-------|--------------|
|
|
92
|
+
| `web` | `apps/web/**` | feat/fix/test |
|
|
93
|
+
| `worker` | `apps/worker/**` | feat/fix/test |
|
|
94
|
+
| `packages/<name>` | `packages/<name>/**` | feat/fix/test |
|
|
95
|
+
| `brain` | `brain/**` | docs/chore |
|
|
96
|
+
| `db` | `packages/db/**`, migrations | feat/fix |
|
|
97
|
+
| `root` | root configs, `ecosystem.config.cjs`, CI | chore/ci |
|
|
98
|
+
| `agent` | `packages/agent/**` | feat/fix |
|
|
99
|
+
| `dsl` | `packages/dsl/**` | feat/fix |
|
|
100
|
+
|
|
101
|
+
Rules:
|
|
102
|
+
|
|
103
|
+
- **Tests** go with the code they cover (same commit group).
|
|
104
|
+
- **Renames/moves** stay with the feature they belong to.
|
|
105
|
+
- **Unrelated concerns** → separate commits (sweet spot: 2–4 commits; avoid
|
|
106
|
+
10+ micro-commits).
|
|
107
|
+
- If one file mixes unrelated concerns, commit it with the **dominant** group and
|
|
108
|
+
note the remainder for a follow-up — do not hunk-split.
|
|
109
|
+
|
|
110
|
+
Output a short plan before committing:
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
Commit plan:
|
|
114
|
+
1. feat(web): … — apps/web/src/… (N files)
|
|
115
|
+
2. test(worker): … — apps/worker/src/__tests__/… (M files)
|
|
116
|
+
3. docs(brain): … — brain/CHANGELOG.md (K files)
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Use **AskUserQuestion** (or ask in chat) only when grouping is ambiguous and
|
|
120
|
+
stakes are high (e.g., half-finished feature vs ready-to-ship).
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Step 3 — Message convention
|
|
125
|
+
|
|
126
|
+
Priority:
|
|
127
|
+
|
|
128
|
+
1. Project docs (`CLAUDE.md`, `AGENTS.md`) if loaded and they specify format.
|
|
129
|
+
2. Recent `git log` on this branch — match dominant pattern.
|
|
130
|
+
3. Default: **Conventional Commits** — `type(scope): imperative subject`
|
|
131
|
+
|
|
132
|
+
Types: `feat`, `fix`, `docs`, `refactor`, `test`, `chore`, `perf`, `ci`, `build`
|
|
133
|
+
|
|
134
|
+
- **Subject**: imperative, ≤72 chars, explains **why** / user impact, not a file list.
|
|
135
|
+
- **Body**: optional blank line + 1–3 sentences for non-obvious motivation,
|
|
136
|
+
trade-offs, or issue IDs. Omit for trivial single-purpose changes.
|
|
137
|
+
|
|
138
|
+
Examples from this repo:
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
feat(web): wire connections UI to credentials API
|
|
142
|
+
fix(web): validate workflow DSL against credential IDs
|
|
143
|
+
test(web): align Prisma fakes with Credential model
|
|
144
|
+
docs(brain): credential migration audit register
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Bad:
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
update files
|
|
151
|
+
fix stuff
|
|
152
|
+
WIP
|
|
153
|
+
feat: changes (co-authored by …) ← NEVER
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Step 4 — Commit each group (sequential)
|
|
159
|
+
|
|
160
|
+
For each group:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
git add path/to/file1 path/to/file2 ...
|
|
164
|
+
git commit -m "$(cat <<'EOF'
|
|
165
|
+
type(scope): subject focused on why
|
|
166
|
+
|
|
167
|
+
Optional body when the change is not self-evident.
|
|
168
|
+
EOF
|
|
169
|
+
)"
|
|
170
|
+
git log -1 --format=%B # verify NO Co-authored-by / Made-with trailers
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
If pre-commit hook **modifies** files: fix issues, `git add` the hook changes,
|
|
174
|
+
create a **new** commit (do not `--amend` unless user rules allow amend).
|
|
175
|
+
|
|
176
|
+
If commit **fails**: read hook output, fix, new commit — never amend a failed commit.
|
|
177
|
+
|
|
178
|
+
After all groups:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
git status
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Working tree should be clean (or only intentionally excluded files remain).
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Step 5 — Push
|
|
189
|
+
|
|
190
|
+
Only push when this skill was invoked (user asked to commit **and** push) or
|
|
191
|
+
explicitly said "push".
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# Ensure upstream exists
|
|
195
|
+
git rev-parse --abbrev-ref @{upstream} 2>/dev/null || git push -u origin HEAD
|
|
196
|
+
git push
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
If push is rejected (non-fast-forward):
|
|
200
|
+
|
|
201
|
+
- Report the error; suggest `git pull --rebase` only if the user asks.
|
|
202
|
+
- **Never** force-push to `main`/`master`.
|
|
203
|
+
|
|
204
|
+
Report: branch name, commit SHAs + subjects, remote URL if useful, push result.
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Step 6 — Post-commit hygiene (cercli-integrations)
|
|
209
|
+
|
|
210
|
+
If code changed (not docs-only), ensure `brain/CHANGELOG.md` reflects the work
|
|
211
|
+
when project rules require it. Either include `brain/` in the relevant commit or
|
|
212
|
+
add a small follow-up `docs(brain): …` commit in the same push batch.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Quick reference — do / don't
|
|
217
|
+
|
|
218
|
+
| Do | Don't |
|
|
219
|
+
|----|--------|
|
|
220
|
+
| Group by feature/package | One giant "misc" commit |
|
|
221
|
+
| `git add` explicit paths | `git add -A` blindly |
|
|
222
|
+
| Verify message has no trailers | Co-authored-by anywhere |
|
|
223
|
+
| Feature branch off main | Commit directly on main |
|
|
224
|
+
| `git push -u origin HEAD` first time | Force push |
|
|
225
|
+
| HEREDOC for messages | `-m "line1\nline2"` escaping mistakes |
|