summaryrefslogtreecommitdiff
path: root/AGENTS.md
diff options
context:
space:
mode:
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md39
1 files changed, 38 insertions, 1 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 6ff1ebf..6e3bbad 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -671,7 +671,44 @@ Key concepts:
git smartlog
```
-**Create a new commit:**
+### Commit Messages
+
+Follow these rules for good commit messages:
+
+1. **Separate subject from body with a blank line**
+2. **Limit the subject line to 50 characters**
+3. **Capitalize the subject line**
+4. **Do not end the subject line with a period**
+5. **Use the imperative mood in the subject line** (e.g., "Fix bug" not "Fixed bug")
+6. **Wrap the body at 72 characters**
+7. **Use the body to explain what and why vs. how**
+
+Template:
+```
+Summarize change in 50 characters or less
+
+More detailed explanatory text, if necessary. Wrap it to about 72
+characters or so. In some contexts, the first line is treated as the
+subject of the email and the rest of the text as the body. The
+blank line separating the summary from the body is critical (unless
+you omit the body entirely); various tools like `log`, `shortlog`
+and `rebase` can get confused if you run the two together.
+
+Explain the problem that this commit solves. Focus on why you are
+making this change as opposed to how (the code explains that).
+Are there side effects or other unintuitive consequences of this
+change? Here's the place to explain them.
+
+Further paragraphs come after blank lines.
+
+ - Bullet points are okay, too
+
+ - Typically a hyphen or asterisk is used for the bullet, preceded
+ by a single space, with blank lines in between, but conventions
+ vary here
+```
+
+### Create a new commit:
```bash
# Make your changes
git add .