chore: add CLAUDE.md and .gitignore#179
Conversation
Add CLAUDE.md with repository guidance for Claude Code, and a .gitignore to exclude .DS_Store files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
📝 WalkthroughWalkthroughAdded a macOS Finder metadata ignore rule and created documentation describing Claude Code guidance for managing DIP (Dash Improvement Proposal) files, including repository structure, metadata format requirements, linting setup, and editing guidelines. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@thephez just going to merge this one in, as I need it on other branches, feel free to make more changes if you want. |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@CLAUDE.md`:
- Around line 11-14: Unordered list items in CLAUDE.md use dashes instead of
asterisks which breaks MD004; replace all leading "-" bullets with "*"
throughout the document (notably the bullets under the "Repository Structure",
"Markdownlint Configuration" and "Editing Guidelines" sections and the specific
list items like "Each DIP is a markdown file at the root: `dip-NNNN.md`", "Some
DIPs have companion directories `dip-NNNN/`...", "README.md contains the master
table...", and "Gaps in numbering are intentional..."). Ensure every unordered
list in the file uses "*" consistently so it conforms to the repository's
`.markdownlint.json` rule and stops failing the markdownlint CI check.
- Line 20: Add the missing language specifier to the fenced code block in
CLAUDE.md that contains the raw "<pre>" example: update the opening
triple-backtick fence to include the language tag "text" so the block becomes a
```text fenced block; this addresses the MD040 warning while leaving the
contained HTML unchanged.
- Around line 46-47: The markdown violates MD032 because the list after the
heading "Key rule overrides:" starts immediately on the next line; edit the
block containing the literal "Key rule overrides:" and the following list item
"- **MD004**: List style must use asterisks (`*`), not dashes" and insert a
single blank line between the heading/text line and the list so the list is
separated by an empty line (no code changes to list content required).
| - Each DIP is a markdown file at the root: `dip-NNNN.md` (zero-padded 4-digit number) | ||
| - Some DIPs have companion directories `dip-NNNN/` containing images, JSON schemas, supplementary documents, or scripts | ||
| - `README.md` contains the master table of all DIPs with their number, layer, title, owner, type, and status | ||
| - Gaps in numbering are intentional (e.g., no DIP 17-19) |
There was a problem hiding this comment.
CI-breaking: all unordered list items must use asterisks (*), not dashes — MD004
The entire file uses dashes for bullet lists, violating the MD004 rule that is enforced by .markdownlint.json and is now blocking the markdownlint GitHub Actions check. Notably, line 57 itself states "Use asterisks for unordered lists, not dashes" while using a dash.
🐛 Proposed fix — convert all dashes to asterisks
Lines 11–14 (Repository Structure):
- - Each DIP is a markdown file at the root: `dip-NNNN.md` (zero-padded 4-digit number)
- - Some DIPs have companion directories `dip-NNNN/` containing images, JSON schemas, supplementary documents, or scripts
- - `README.md` contains the master table of all DIPs with their number, layer, title, owner, type, and status
- - Gaps in numbering are intentional (e.g., no DIP 17-19)
+ * Each DIP is a markdown file at the root: `dip-NNNN.md` (zero-padded 4-digit number)
+ * Some DIPs have companion directories `dip-NNNN/` containing images, JSON schemas, supplementary documents, or scripts
+ * `README.md` contains the master table of all DIPs with their number, layer, title, owner, type, and status
+ * Gaps in numbering are intentional (e.g., no DIP 17-19)Lines 47–50 (Markdownlint Configuration):
- - **MD004**: List style must use asterisks (`*`), not dashes
- - **MD013**: Line length limit is **disabled** (long lines are allowed)
- - **MD033**: Inline HTML is **allowed** (needed for `<pre>` headers and images)
- - **MD041**: First-line-heading rule is **disabled** (DIPs start with `<pre>` block)
+ * **MD004**: List style must use asterisks (`*`), not dashes
+ * **MD013**: Line length limit is **disabled** (long lines are allowed)
+ * **MD033**: Inline HTML is **allowed** (needed for `<pre>` headers and images)
+ * **MD041**: First-line-heading rule is **disabled** (DIPs start with `<pre>` block)Lines 54–57 (Editing Guidelines):
- - When adding a new DIP, also add its entry to the summary table in `README.md`
- - DIP numbers are assigned by editors — drafts should use an alias name, not a self-assigned number
- - Place supporting assets (images, JSON, scripts) in a `dip-NNNN/` directory matching the DIP number
- - Use asterisks for unordered lists, not dashes (enforced by MD004)
+ * When adding a new DIP, also add its entry to the summary table in `README.md`
+ * DIP numbers are assigned by editors — drafts should use an alias name, not a self-assigned number
+ * Place supporting assets (images, JSON, scripts) in a `dip-NNNN/` directory matching the DIP number
+ * Use asterisks for unordered lists, not dashes (enforced by MD004)Also applies to: 47-50, 54-57
🧰 Tools
🪛 GitHub Actions: .github/workflows/markdownlint.yml
[error] 11-11: markdownlint MD004/ul-style Unordered list style (Expected: asterisk; Actual: dash) on CLAUDE.md:11. Please convert dash to asterisk for unordered list items.
🪛 GitHub Check: lint
[failure] 14-14: Unordered list style
CLAUDE.md:14:1 MD004/ul-style Unordered list style [Expected: asterisk; Actual: dash] https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md004.md
[failure] 13-13: Unordered list style
CLAUDE.md:13:1 MD004/ul-style Unordered list style [Expected: asterisk; Actual: dash] https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md004.md
[failure] 12-12: Unordered list style
CLAUDE.md:12:1 MD004/ul-style Unordered list style [Expected: asterisk; Actual: dash] https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md004.md
[failure] 11-11: Unordered list style
CLAUDE.md:11:1 MD004/ul-style Unordered list style [Expected: asterisk; Actual: dash] https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md004.md
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@CLAUDE.md` around lines 11 - 14, Unordered list items in CLAUDE.md use dashes
instead of asterisks which breaks MD004; replace all leading "-" bullets with
"*" throughout the document (notably the bullets under the "Repository
Structure", "Markdownlint Configuration" and "Editing Guidelines" sections and
the specific list items like "Each DIP is a markdown file at the root:
`dip-NNNN.md`", "Some DIPs have companion directories `dip-NNNN/`...",
"README.md contains the master table...", and "Gaps in numbering are
intentional..."). Ensure every unordered list in the file uses "*" consistently
so it conforms to the repository's `.markdownlint.json` rule and stops failing
the markdownlint CI check.
|
|
||
| Every DIP begins with a metadata header in `<pre>` tags: | ||
|
|
||
| ``` |
There was a problem hiding this comment.
Add a language specifier to the fenced code block — MD040
The code fence at line 20 has no language tag, triggering an MD040 violation. Since the content is a raw <pre> header example, text is appropriate.
🐛 Proposed fix
- ```
+ ```text
<pre>📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ``` |
🧰 Tools
🪛 GitHub Check: lint
[failure] 20-20: Fenced code blocks should have a language specified
CLAUDE.md:20 MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"] https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md040.md
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@CLAUDE.md` at line 20, Add the missing language specifier to the fenced code
block in CLAUDE.md that contains the raw "<pre>" example: update the opening
triple-backtick fence to include the language tag "text" so the block becomes a
```text fenced block; this addresses the MD040 warning while leaving the
contained HTML unchanged.
| Key rule overrides: | ||
| - **MD004**: List style must use asterisks (`*`), not dashes |
There was a problem hiding this comment.
Add a blank line before the list — MD032
The list at line 47 starts immediately after "Key rule overrides:" without a blank line, triggering an MD032 violation.
🐛 Proposed fix
Key rule overrides:
+
* **MD004**: List style must use asterisks (`*`), not dashes🧰 Tools
🪛 GitHub Check: lint
[failure] 47-47: Lists should be surrounded by blank lines
CLAUDE.md:47 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "- MD004: List style must u..."] https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md032.md
[failure] 47-47: Unordered list style
CLAUDE.md:47:1 MD004/ul-style Unordered list style [Expected: asterisk; Actual: dash] https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md004.md
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@CLAUDE.md` around lines 46 - 47, The markdown violates MD032 because the list
after the heading "Key rule overrides:" starts immediately on the next line;
edit the block containing the literal "Key rule overrides:" and the following
list item "- **MD004**: List style must use asterisks (`*`), not dashes" and
insert a single blank line between the heading/text line and the list so the
list is separated by an empty line (no code changes to list content required).
Summary
CLAUDE.mdwith repository-specific guidance for Claude Code (DIP format, markdownlint config, editing conventions).gitignoreto exclude.DS_StorefilesTest plan
.DS_Storeis no longer tracked🤖 Generated with Claude Code
Summary by CodeRabbit
Documentation
Chores