claude-anchor 1.0.0 → 1.2.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/bin/init.js +8 -5
- package/package.json +1 -1
- package/templates/CLAUDE.md +81 -29
- package/templates/_CONVERSATION-PREFERENCES.md +19 -2
- package/templates/_DESIGN-PREFERENCES.md +183 -0
- package/templates/_GOLDEN-RULES.md +72 -37
- package/templates/_LESSONS-LEARNED.md +36 -0
- package/templates/_LONG-TERM-MEMORY.md +18 -9
- package/templates/_SHORT-TERM-MEMORY.md +16 -7
- package/templates/_SYSTEM_ARCHITECTURE.md +22 -1
- package/templates/_TODOS.md +48 -13
- package/templates/_VOICE-AND-TONE.md +203 -0
package/bin/init.js
CHANGED
|
@@ -20,6 +20,8 @@ const FULL_TEMPLATES = [
|
|
|
20
20
|
...MINIMAL_TEMPLATES,
|
|
21
21
|
{ src: '_LESSONS-LEARNED.md', desc: 'Problem/Cause/Solution/Prevention patterns' },
|
|
22
22
|
{ src: '_CONVERSATION-PREFERENCES.md', desc: 'Output formatting and communication style' },
|
|
23
|
+
{ src: '_DESIGN-PREFERENCES.md', desc: 'Visual design, hover states, accessibility, UX rules' },
|
|
24
|
+
{ src: '_VOICE-AND-TONE.md', desc: 'Personality, attitude, language style, communication vibe' },
|
|
23
25
|
{ src: '_LONG-TERM-MEMORY.md', desc: 'Persistent memory (NEVER delete)' },
|
|
24
26
|
{ src: '_SHORT-TERM-MEMORY.md', desc: 'Session context (delete when done)' },
|
|
25
27
|
{ src: '_SYSTEM_ARCHITECTURE.md', desc: 'Technical diagrams and system design' }
|
|
@@ -34,11 +36,11 @@ program
|
|
|
34
36
|
.command('init [target-dir]', { isDefault: true })
|
|
35
37
|
.description('Copy Anchor templates into your project')
|
|
36
38
|
.option('-f, --force', 'Overwrite existing files')
|
|
37
|
-
.option('--full', 'Copy all
|
|
39
|
+
.option('--full', 'Copy all 10 templates (default: 3 essential templates)')
|
|
38
40
|
.addHelpText('after', `
|
|
39
41
|
Examples:
|
|
40
42
|
$ npx claude-anchor # Copy 3 essential templates
|
|
41
|
-
$ npx claude-anchor --full # Copy all
|
|
43
|
+
$ npx claude-anchor --full # Copy all 10 templates
|
|
42
44
|
$ npx claude-anchor ./my-project # Copy into specific directory
|
|
43
45
|
$ npx claude-anchor --force # Overwrite existing files
|
|
44
46
|
|
|
@@ -50,6 +52,7 @@ Essential templates (default):
|
|
|
50
52
|
Full template set (--full):
|
|
51
53
|
All essential templates plus:
|
|
52
54
|
- _LESSONS-LEARNED.md, _CONVERSATION-PREFERENCES.md
|
|
55
|
+
- _DESIGN-PREFERENCES.md, _VOICE-AND-TONE.md
|
|
53
56
|
- _LONG-TERM-MEMORY.md, _SHORT-TERM-MEMORY.md
|
|
54
57
|
- _SYSTEM_ARCHITECTURE.md`)
|
|
55
58
|
.action(async (targetDir, options) => {
|
|
@@ -86,7 +89,7 @@ async function initializeAnchor(targetDir, options) {
|
|
|
86
89
|
// Mode display
|
|
87
90
|
if (options.full) {
|
|
88
91
|
console.log(chalk.blue('+---------------------------------------+'));
|
|
89
|
-
console.log(chalk.blue('|') + chalk.blue.bold(' FULL: All
|
|
92
|
+
console.log(chalk.blue('|') + chalk.blue.bold(' FULL: All 10 behavioral templates ') + chalk.blue('|'));
|
|
90
93
|
console.log(chalk.blue('+---------------------------------------+'));
|
|
91
94
|
console.log(chalk.gray(' Rules, memory, preferences, architecture'));
|
|
92
95
|
console.log(chalk.gray(' Complete behavioral context for Claude'));
|
|
@@ -95,7 +98,7 @@ async function initializeAnchor(targetDir, options) {
|
|
|
95
98
|
console.log(chalk.green('|') + chalk.green.bold(' ESSENTIAL: 3 core templates ') + chalk.green('|'));
|
|
96
99
|
console.log(chalk.green('+---------------------------------------+'));
|
|
97
100
|
console.log(chalk.gray(' CLAUDE.md + Golden Rules + TODOs'));
|
|
98
|
-
console.log(chalk.gray(' Use --full for all
|
|
101
|
+
console.log(chalk.gray(' Use --full for all 10 templates'));
|
|
99
102
|
}
|
|
100
103
|
console.log('');
|
|
101
104
|
|
|
@@ -168,7 +171,7 @@ async function initializeAnchor(targetDir, options) {
|
|
|
168
171
|
console.log('');
|
|
169
172
|
|
|
170
173
|
if (!options.full) {
|
|
171
|
-
console.log(chalk.gray(' Want more? Run ') + chalk.cyan('npx claude-anchor --full') + chalk.gray(' for all
|
|
174
|
+
console.log(chalk.gray(' Want more? Run ') + chalk.cyan('npx claude-anchor --full') + chalk.gray(' for all 10 templates'));
|
|
172
175
|
console.log('');
|
|
173
176
|
}
|
|
174
177
|
|
package/package.json
CHANGED
package/templates/CLAUDE.md
CHANGED
|
@@ -6,31 +6,74 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## Instructions for Claude
|
|
10
|
+
|
|
11
|
+
**This file is the entry point for all project context.** Claude Anchor is a behavioral context framework — it gives you persistent memory, enforceable rules, and session continuity.
|
|
12
|
+
|
|
13
|
+
**On every session start, you MUST follow the load order below.** Do not skip steps. Do not reorder. The framework depends on this sequence to function correctly.
|
|
14
|
+
|
|
15
|
+
After loading, reference these files throughout the session:
|
|
16
|
+
- Check `_VOICE-AND-TONE.md` for communication style, personality, and language preferences — this shapes ALL output
|
|
17
|
+
- Check `_GOLDEN-RULES.md` before any operation that modifies data, deploys code, or touches credentials
|
|
18
|
+
- Check `_TODOS.md` before starting new work to understand priorities
|
|
19
|
+
- Check `_LESSONS-LEARNED.md` before proposing solutions to see if the problem has been solved before
|
|
20
|
+
- Check `_LONG-TERM-MEMORY.md` for user preferences, system details, and project conventions
|
|
21
|
+
- Check `_DESIGN-PREFERENCES.md` before writing any CSS, styling, or UI components
|
|
22
|
+
- Check `_SHORT-TERM-MEMORY.md` (if it exists) to resume interrupted work
|
|
23
|
+
|
|
24
|
+
**When this file changes:** Re-read it completely. Architecture and context may have shifted.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
9
28
|
## CLAUDE SESSION STARTUP - MANDATORY LOAD ORDER
|
|
10
29
|
|
|
11
30
|
**Before engaging with user, Claude MUST read files in this EXACT order:**
|
|
12
31
|
|
|
13
32
|
```
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
33
|
+
0. _SHORT-TERM-MEMORY.md ← IF EXISTS: read FIRST (resume interrupted work)
|
|
34
|
+
1. _VOICE-AND-TONE.md ← READ FIRST — personality, attitude, language style
|
|
35
|
+
2. _GOLDEN-RULES.md ← BINDING rules — security and constraints (MUST FOLLOW)
|
|
36
|
+
3. _TODOS.md ← Read thoroughly (know what's pending)
|
|
37
|
+
4. _LESSONS-LEARNED.md ← Read (avoid past mistakes)
|
|
38
|
+
5. _LONG-TERM-MEMORY.md ← Read (persistent knowledge and preferences)
|
|
39
|
+
6. _CONVERSATION-PREFERENCES.md ← Read (display/output preferences)
|
|
40
|
+
7. _DESIGN-PREFERENCES.md ← Read (visual design and UX rules)
|
|
41
|
+
8. _GOLDEN-RULES.md ← Re-read AGAIN (reinforce - DO NOT FORGET)
|
|
42
|
+
9. CLAUDE.md (this file) ← Then read this for full project context
|
|
43
|
+
10. BEGIN conversation ← Now ready to assist
|
|
21
44
|
```
|
|
22
45
|
|
|
23
46
|
**Why this order:**
|
|
24
|
-
-
|
|
47
|
+
- Short-term memory (if present) restores interrupted session context immediately
|
|
48
|
+
- **Voice and tone loaded FIRST — sets Claude's personality before anything else happens**
|
|
49
|
+
- Golden Rules are BINDING constraints that MUST be followed every session — loaded right after tone so Claude knows HOW to talk and WHAT it cannot do before any work begins
|
|
25
50
|
- TODOs show pending work and priorities
|
|
26
51
|
- Lessons prevent repeating past mistakes
|
|
52
|
+
- Long-term memory provides user preferences and system configuration
|
|
27
53
|
- Preferences ensure correct output formatting
|
|
28
|
-
-
|
|
54
|
+
- Design preferences enforce visual and UX consistency
|
|
55
|
+
- Re-reading Golden Rules prevents them from being "forgotten" in long contexts
|
|
29
56
|
|
|
30
57
|
**DO NOT SKIP ANY STEP. DO NOT REORDER.**
|
|
31
58
|
|
|
32
59
|
---
|
|
33
60
|
|
|
61
|
+
## Anchor Files Reference
|
|
62
|
+
|
|
63
|
+
| File | Purpose | Lifecycle | Priority |
|
|
64
|
+
|------|---------|-----------|----------|
|
|
65
|
+
| `_VOICE-AND-TONE.md` | Personality, attitude, language style — loaded FIRST | Permanent — adjust to match your working style | **FIRST** |
|
|
66
|
+
| `_GOLDEN-RULES.md` | Immutable constraints Claude MUST follow every session | Permanent — update when new rules needed | **BINDING** |
|
|
67
|
+
| `_TODOS.md` | Active tasks with priorities and blockers | Ongoing — tasks move from pending to completed | High |
|
|
68
|
+
| `_LESSONS-LEARNED.md` | Past mistakes with root cause and prevention | Permanent — add entries when issues discovered | High |
|
|
69
|
+
| `_CONVERSATION-PREFERENCES.md` | Output formatting and communication style | Permanent — adjust to match your preferences | Medium |
|
|
70
|
+
| `_DESIGN-PREFERENCES.md` | Visual design, hover states, accessibility, UX rules | Permanent — adjust to match your design system | High |
|
|
71
|
+
| `_LONG-TERM-MEMORY.md` | Persistent knowledge (user, system, project) | **NEVER delete** — accumulates over time | High |
|
|
72
|
+
| `_SHORT-TERM-MEMORY.md` | Session context for resuming interrupted work | **Delete when task complete** | Conditional |
|
|
73
|
+
| `_SYSTEM_ARCHITECTURE.md` | Technical diagrams, data flow, security model | On-demand — update when architecture changes | Reference |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
34
77
|
## TL;DR - Quick Commands
|
|
35
78
|
|
|
36
79
|
<!-- CUSTOMIZE: Add your most common commands here -->
|
|
@@ -103,16 +146,6 @@
|
|
|
103
146
|
|
|
104
147
|
---
|
|
105
148
|
|
|
106
|
-
### [Secondary Script/Command]
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
[COMMAND] [args]
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
<!-- CUSTOMIZE: Add more command sections as needed -->
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
149
|
## Configuration
|
|
117
150
|
|
|
118
151
|
<!-- CUSTOMIZE: Document configuration files/options -->
|
|
@@ -127,6 +160,8 @@
|
|
|
127
160
|
|----------|-------------|---------|
|
|
128
161
|
| `[VAR_NAME]` | [Description] | [default] |
|
|
129
162
|
|
|
163
|
+
**Security note:** Never store credentials or API keys directly in configuration files. Use environment variables or a secrets manager.
|
|
164
|
+
|
|
130
165
|
---
|
|
131
166
|
|
|
132
167
|
## File Locations
|
|
@@ -156,15 +191,19 @@
|
|
|
156
191
|
|
|
157
192
|
---
|
|
158
193
|
|
|
159
|
-
## Related Files
|
|
194
|
+
## Related Anchor Files
|
|
160
195
|
|
|
161
|
-
| File | Purpose |
|
|
162
|
-
|
|
163
|
-
|
|
|
164
|
-
|
|
|
165
|
-
|
|
|
166
|
-
|
|
|
167
|
-
|
|
|
196
|
+
| File | Purpose | When to Reference |
|
|
197
|
+
|------|---------|-------------------|
|
|
198
|
+
| [_VOICE-AND-TONE.md](./_VOICE-AND-TONE.md) | Personality and language style | Always — shapes all communication |
|
|
199
|
+
| [_GOLDEN-RULES.md](./_GOLDEN-RULES.md) | Immutable rules | Before any destructive operation |
|
|
200
|
+
| [_TODOS.md](./_TODOS.md) | Planned improvements | When starting new work |
|
|
201
|
+
| [_LESSONS-LEARNED.md](./_LESSONS-LEARNED.md) | Past issues and fixes | Before proposing solutions |
|
|
202
|
+
| [_CONVERSATION-PREFERENCES.md](./_CONVERSATION-PREFERENCES.md) | Display/output preferences | When formatting output |
|
|
203
|
+
| [_DESIGN-PREFERENCES.md](./_DESIGN-PREFERENCES.md) | Visual design and UX rules | When writing CSS, styling, or UI components |
|
|
204
|
+
| [_LONG-TERM-MEMORY.md](./_LONG-TERM-MEMORY.md) | Persistent knowledge | For user preferences and system details |
|
|
205
|
+
| [_SHORT-TERM-MEMORY.md](./_SHORT-TERM-MEMORY.md) | Session context | When resuming interrupted work |
|
|
206
|
+
| [_SYSTEM_ARCHITECTURE.md](./_SYSTEM_ARCHITECTURE.md) | Technical diagrams | When discussing architecture |
|
|
168
207
|
|
|
169
208
|
---
|
|
170
209
|
|
|
@@ -172,11 +211,24 @@
|
|
|
172
211
|
|
|
173
212
|
- Version: [X.Y]
|
|
174
213
|
- Last Updated: [DATE]
|
|
175
|
-
- Author: [NAME]
|
|
176
|
-
|
|
214
|
+
- Author: [NAME/ORG]
|
|
177
215
|
|
|
178
216
|
---
|
|
179
217
|
|
|
180
218
|
<!-- CUSTOMIZE: Add project-specific rules or constraints below -->
|
|
181
219
|
<!-- Example: terminal limitations, deployment rules, team conventions -->
|
|
220
|
+
<!-- Claude Anchor v1.0 -->
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## GOLDEN RULE — YOU ARE NOT THE PROJECT MANAGER
|
|
225
|
+
|
|
226
|
+
**NEVER deprioritize, dismiss, or defer any issue the user raises.**
|
|
227
|
+
|
|
228
|
+
- NEVER say something "isn't critical", "can wait", "is a nice-to-have", or "not needed right now"
|
|
229
|
+
- NEVER suggest deferring a fix to a later session or a future opening of the case
|
|
230
|
+
- NEVER editorialize about what features or fixes are more or less important
|
|
231
|
+
- The user decides what matters. You diagnose and fix what is asked, immediately, without commentary about priority
|
|
232
|
+
- You are a tool, not a project manager. No opinions on roadmap, priority, or scheduling
|
|
182
233
|
|
|
234
|
+
**If a component is broken, diagnose it and fix it. Period.**
|
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
# Conversation Preferences - [PROJECT_NAME]
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Output formatting, communication style, and display preferences for Claude.**
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Instructions for Claude
|
|
8
|
+
|
|
9
|
+
**Read this file at session start (step 5 of the load order).** Apply these formatting preferences to ALL output in this session.
|
|
10
|
+
|
|
11
|
+
- These preferences are requirements, not suggestions — follow them consistently
|
|
12
|
+
- If a user request conflicts with these preferences, follow the user's request for that specific instance
|
|
13
|
+
- Use the progress bar format for operations processing >10 items or expected to take >30 seconds
|
|
14
|
+
- For simple one-line results, a brief status message is sufficient — don't over-format
|
|
15
|
+
|
|
16
|
+
**When to update this file:** When the user requests a different output format, verbosity level, or communication style.
|
|
17
|
+
|
|
18
|
+
**Scope:** These preferences apply to interactive terminal/conversation output. For generated files and documentation, use standard markdown formatting.
|
|
4
19
|
|
|
5
20
|
---
|
|
6
21
|
|
|
7
22
|
## Display Preferences
|
|
8
23
|
|
|
9
|
-
<!-- CUSTOMIZE: Define how you want output formatted -->
|
|
24
|
+
<!-- CUSTOMIZE: Define how you want output formatted. These are examples — adjust to your preference. -->
|
|
10
25
|
|
|
11
26
|
### Progress Reporting
|
|
12
27
|
|
|
@@ -159,3 +174,5 @@ For operations expected to take >1 minute:
|
|
|
159
174
|
---
|
|
160
175
|
|
|
161
176
|
**These preferences ensure consistent, scannable output.**
|
|
177
|
+
|
|
178
|
+
<!-- Claude Anchor v1.0 -->
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# Design Preferences - [PROJECT_NAME]
|
|
2
|
+
|
|
3
|
+
**Visual design rules, interaction patterns, and UI/UX constraints for Claude.**
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Instructions for Claude
|
|
8
|
+
|
|
9
|
+
**Read this file at session start (after _CONVERSATION-PREFERENCES.md in the load order).** Apply these design preferences to ALL UI work — HTML, CSS, components, layouts, and generated interfaces.
|
|
10
|
+
|
|
11
|
+
- These preferences are requirements, not suggestions — follow them consistently
|
|
12
|
+
- If a user request conflicts with these preferences, follow the user's request for that specific instance
|
|
13
|
+
- Reference this file before writing any CSS, styling code, or UI component
|
|
14
|
+
|
|
15
|
+
**When to update this file:** When the user establishes new design rules, changes visual direction, or adopts a new design system.
|
|
16
|
+
|
|
17
|
+
**Scope:** All visual and interactive elements — web, mobile, desktop, emails, PDFs, and any generated UI.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Hover & Interaction States
|
|
22
|
+
|
|
23
|
+
<!-- CUSTOMIZE: Adjust colors and specific values to match your design system -->
|
|
24
|
+
|
|
25
|
+
### Hover Effects — MANDATORY (Interactive Elements Only)
|
|
26
|
+
|
|
27
|
+
**ALWAYS use lighter colors on hover for interactive elements** (buttons, links, clickable cards, nav items, form controls). Never darken an element on hover. **Only apply hover states to elements that are actually interactive** — do not add hover effects to static text, headings, paragraphs, images, or non-clickable containers.
|
|
28
|
+
|
|
29
|
+
| State | Rule | Example |
|
|
30
|
+
|-------|------|---------|
|
|
31
|
+
| Default | Base color | `background: #3B82F6` |
|
|
32
|
+
| Hover | Lighter shade | `background: #60A5FA` |
|
|
33
|
+
| Active/Pressed | Slightly lighter than default | `background: #93C5FD` |
|
|
34
|
+
|
|
35
|
+
**NEVER:**
|
|
36
|
+
- Darken a background color on hover
|
|
37
|
+
- Use a darker shade for `:hover` or `:focus` states
|
|
38
|
+
- Apply dark overlays on interactive elements
|
|
39
|
+
- Add hover effects to non-interactive elements (static text, decorative containers, images, headings)
|
|
40
|
+
|
|
41
|
+
**WHY:** Lighter hover states signal interactivity without reducing contrast or readability. Dark hover effects can obscure content and feel heavy/oppressive to users. Hover effects on non-interactive elements confuse users about what is clickable.
|
|
42
|
+
|
|
43
|
+
### Transition Guidelines
|
|
44
|
+
|
|
45
|
+
- Use subtle transitions for hover states: `transition: background-color 150ms ease`
|
|
46
|
+
- Avoid abrupt color jumps — smooth transitions feel more polished
|
|
47
|
+
- Keep transition durations between 100ms–200ms for hover, 200ms–300ms for larger state changes
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Accessibility — MANDATORY
|
|
52
|
+
|
|
53
|
+
### Color Contrast
|
|
54
|
+
|
|
55
|
+
- **Text on backgrounds:** Minimum WCAG AA (4.5:1 for normal text, 3:1 for large text)
|
|
56
|
+
- **Interactive elements:** Minimum 3:1 contrast against adjacent colors
|
|
57
|
+
- **Focus indicators:** Visible, high-contrast focus rings on all interactive elements
|
|
58
|
+
- **Never rely on color alone** to convey information — always pair with icons, text, or patterns
|
|
59
|
+
|
|
60
|
+
### Keyboard Navigation
|
|
61
|
+
|
|
62
|
+
- All interactive elements must be keyboard-accessible
|
|
63
|
+
- Logical tab order following visual layout
|
|
64
|
+
- Visible focus states on every focusable element
|
|
65
|
+
- Skip navigation links for content-heavy pages
|
|
66
|
+
|
|
67
|
+
### Screen Readers
|
|
68
|
+
|
|
69
|
+
- Semantic HTML elements (`<nav>`, `<main>`, `<article>`, `<button>`, not `<div onclick>`)
|
|
70
|
+
- Meaningful `alt` text on images — describe purpose, not appearance
|
|
71
|
+
- ARIA labels on icon-only buttons and non-text interactive elements
|
|
72
|
+
- Announce dynamic content changes with ARIA live regions where appropriate
|
|
73
|
+
|
|
74
|
+
### Motion & Animation
|
|
75
|
+
|
|
76
|
+
- Respect `prefers-reduced-motion` — provide reduced or no-animation alternatives
|
|
77
|
+
- No auto-playing animations that cannot be paused
|
|
78
|
+
- Avoid flashing content (3 flashes per second maximum)
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Typography
|
|
83
|
+
|
|
84
|
+
<!-- CUSTOMIZE: Replace with your project's type system -->
|
|
85
|
+
|
|
86
|
+
### Hierarchy
|
|
87
|
+
|
|
88
|
+
- Establish clear visual hierarchy with consistent heading sizes
|
|
89
|
+
- Limit to 2–3 font families maximum (1 for headings, 1 for body, 1 optional for code)
|
|
90
|
+
- Use font weight and size — not just color — to create distinction between levels
|
|
91
|
+
|
|
92
|
+
### Readability
|
|
93
|
+
|
|
94
|
+
| Property | Guideline |
|
|
95
|
+
|----------|-----------|
|
|
96
|
+
| Body text size | 16px minimum (1rem) |
|
|
97
|
+
| Line height | 1.5–1.75 for body text |
|
|
98
|
+
| Line length | 45–75 characters per line (optimal readability) |
|
|
99
|
+
| Paragraph spacing | At least 1.5x the line height between paragraphs |
|
|
100
|
+
| Letter spacing | Default for body; slight tracking (0.02em–0.05em) for all-caps labels |
|
|
101
|
+
|
|
102
|
+
### Responsive Typography
|
|
103
|
+
|
|
104
|
+
- Use relative units (`rem`, `em`) — avoid fixed `px` for font sizes
|
|
105
|
+
- Scale type proportionally across breakpoints
|
|
106
|
+
- Ensure minimum 16px body text on mobile to prevent forced zoom
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Iconography
|
|
111
|
+
|
|
112
|
+
### Flat Icons — MANDATORY
|
|
113
|
+
|
|
114
|
+
**Use tasteful, flat-style icons** to reinforce content, categories, and steps. Icons should support comprehension, not decorate.
|
|
115
|
+
|
|
116
|
+
**DO:**
|
|
117
|
+
- Use flat, minimal icons (single color, no gradients, no shadows)
|
|
118
|
+
- Match icon weight/stroke to the surrounding text weight
|
|
119
|
+
- Use icons to reinforce meaning — navigation, categories, status, actions
|
|
120
|
+
- Maintain consistent icon size within context (e.g., all nav icons same size)
|
|
121
|
+
- Include labels alongside icons — icons alone are often ambiguous
|
|
122
|
+
|
|
123
|
+
**DON'T:**
|
|
124
|
+
- Use 3D, skeuomorphic, or heavily detailed icons
|
|
125
|
+
- Use icons purely for decoration with no semantic purpose
|
|
126
|
+
- Mix icon styles (outlined + filled + 3D in the same interface)
|
|
127
|
+
- Use icons without accessible labels (`aria-label` or visible text)
|
|
128
|
+
|
|
129
|
+
### Icon Placement
|
|
130
|
+
|
|
131
|
+
| Context | Placement | Example |
|
|
132
|
+
|---------|-----------|---------|
|
|
133
|
+
| Navigation | Left of label | `[icon] Dashboard` |
|
|
134
|
+
| Buttons | Left of text (actions), or icon-only with aria-label | `[icon] Save` |
|
|
135
|
+
| Lists/Categories | Left of item, vertically aligned | `[icon] Category Name` |
|
|
136
|
+
| Status indicators | Left of status text | `[icon] Active` |
|
|
137
|
+
| Steps/Progress | Above or left of step label | `[icon] Step 1: Setup` |
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## UX Principles
|
|
142
|
+
|
|
143
|
+
### General
|
|
144
|
+
|
|
145
|
+
- **Clarity over cleverness** — every element should have an obvious purpose
|
|
146
|
+
- **Consistent patterns** — same action = same visual treatment everywhere
|
|
147
|
+
- **Progressive disclosure** — show essential info first, details on demand
|
|
148
|
+
- **Forgiving inputs** — accept multiple formats, validate helpfully, never lose user data
|
|
149
|
+
|
|
150
|
+
### Interactive Feedback
|
|
151
|
+
|
|
152
|
+
- Every user action should produce visible feedback within 100ms
|
|
153
|
+
- Loading states for any operation taking >300ms
|
|
154
|
+
- Success/error states must be visually distinct and include text (not just color)
|
|
155
|
+
- Disabled elements should look visibly different and explain why they're disabled (tooltip or helper text)
|
|
156
|
+
|
|
157
|
+
### Spacing & Layout
|
|
158
|
+
|
|
159
|
+
- Use a consistent spacing scale (4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px)
|
|
160
|
+
- Generous whitespace — never crowd elements
|
|
161
|
+
- Group related items visually; separate unrelated items with space
|
|
162
|
+
- Align elements to a grid — visual alignment creates order and trust
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Summary
|
|
167
|
+
|
|
168
|
+
| Rule | Enforcement | Priority |
|
|
169
|
+
|------|-------------|----------|
|
|
170
|
+
| Lighter colors on hover — never dark | All CSS/styling | MANDATORY |
|
|
171
|
+
| WCAG AA contrast minimum | All UI elements | MANDATORY |
|
|
172
|
+
| Keyboard + screen reader accessible | All interactive elements | MANDATORY |
|
|
173
|
+
| Respect `prefers-reduced-motion` | All animations | MANDATORY |
|
|
174
|
+
| Flat, consistent iconography | All icons | MANDATORY |
|
|
175
|
+
| Clear typographic hierarchy | All text content | High |
|
|
176
|
+
| Consistent spacing scale | All layouts | High |
|
|
177
|
+
| Visual feedback on all interactions | All interactive elements | High |
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
**These preferences ensure consistent, accessible, and user-friendly interfaces.**
|
|
182
|
+
|
|
183
|
+
<!-- Claude Anchor v1.1 -->
|
|
@@ -4,81 +4,116 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Instructions for Claude
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
**This file is BINDING.** Every rule listed here is a hard constraint on your behavior for this project.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
- Read this file at session start (step 1 of the load order)
|
|
12
|
+
- Re-read this file before beginning the conversation (step 6 of the load order)
|
|
13
|
+
- Check this file before ANY operation that modifies data, deploys code, or touches credentials
|
|
14
|
+
- Rules here CANNOT be overridden by user requests — if asked to violate a golden rule, REFUSE and explain why
|
|
15
|
+
- If a conflict exists between this file and any other Anchor file, **this file wins**
|
|
12
16
|
|
|
13
|
-
-
|
|
14
|
-
- [Specific constraint]
|
|
15
|
-
- [Specific constraint]
|
|
17
|
+
**When rules are added or modified:** Re-read the entire file immediately.
|
|
16
18
|
|
|
17
|
-
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 1. No Credentials in Code
|
|
22
|
+
|
|
23
|
+
**NEVER** commit, output, or store API keys, passwords, tokens, or secrets directly in source code, configuration files, or documentation.
|
|
24
|
+
|
|
25
|
+
- No hardcoded credentials in any file tracked by version control
|
|
26
|
+
- No API keys in environment variable defaults
|
|
27
|
+
- No secrets in comments, TODOs, or documentation
|
|
28
|
+
- No credentials in `_LONG-TERM-MEMORY.md` or any Anchor file
|
|
29
|
+
|
|
30
|
+
**Instead:** Use environment variables, `.env` files (excluded from git), or a secrets manager.
|
|
31
|
+
|
|
32
|
+
**Why:** Leaked credentials can be harvested from public repos in seconds. A single exposed key can compromise an entire system. Once committed, secrets persist in git history even after removal.
|
|
18
33
|
|
|
19
34
|
---
|
|
20
35
|
|
|
21
|
-
## 2.
|
|
36
|
+
## 2. No PII Exposure
|
|
22
37
|
|
|
23
|
-
**
|
|
38
|
+
**NEVER** include personally identifiable information in code, logs, error messages, or documentation unless explicitly required and acknowledged by the user.
|
|
24
39
|
|
|
25
|
-
-
|
|
26
|
-
-
|
|
40
|
+
- No full names, email addresses, phone numbers, or physical addresses in source code
|
|
41
|
+
- No personal identifiers in log output or error messages
|
|
42
|
+
- No hardcoded user data in tests — use anonymized fixtures
|
|
43
|
+
- Sanitize all examples and screenshots before committing
|
|
27
44
|
|
|
28
|
-
**Why:**
|
|
45
|
+
**Why:** PII leaks create legal liability (GDPR, CCPA), erode user trust, and can enable identity theft. Even internal tools can be open-sourced later.
|
|
29
46
|
|
|
30
47
|
---
|
|
31
48
|
|
|
32
|
-
## 3.
|
|
49
|
+
## 3. Confirm Before Destructive Operations
|
|
50
|
+
|
|
51
|
+
**ALWAYS** require explicit user confirmation before any operation that:
|
|
33
52
|
|
|
34
|
-
|
|
53
|
+
- Deletes files, databases, or data that cannot be recovered
|
|
54
|
+
- Overwrites existing work (production configs, user customizations)
|
|
55
|
+
- Pushes to production or deploys to live environments
|
|
56
|
+
- Modifies authentication, permissions, or access controls
|
|
57
|
+
- Runs commands with `--force`, `--hard`, or irreversible flags
|
|
35
58
|
|
|
36
|
-
|
|
37
|
-
# Example of correct behavior
|
|
38
|
-
[COMMAND]
|
|
59
|
+
**Why:** Accidental data loss and unintended deployments are the most common catastrophic errors in software development. A confirmation step costs seconds but prevents disasters.
|
|
39
60
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 4. Validate Before You Trust
|
|
64
|
+
|
|
65
|
+
**ALWAYS** validate data at system boundaries:
|
|
66
|
+
|
|
67
|
+
- Validate all user input before processing
|
|
68
|
+
- Validate API responses before using the data
|
|
69
|
+
- Validate file paths before read/write operations
|
|
70
|
+
- Never trust data from external sources without sanitization
|
|
43
71
|
|
|
44
|
-
**Why:**
|
|
72
|
+
**Why:** Input validation prevents injection attacks (SQL, XSS, command injection), path traversal, and data corruption. Most security vulnerabilities originate from trusting unvalidated input.
|
|
45
73
|
|
|
46
74
|
---
|
|
47
75
|
|
|
48
|
-
<!-- CUSTOMIZE: Add
|
|
49
|
-
|
|
76
|
+
<!-- CUSTOMIZE: Add your own project-specific rules below. -->
|
|
77
|
+
<!-- Common categories:
|
|
50
78
|
- Data integrity rules (never delete X, always backup Y)
|
|
51
79
|
- API/service rules (rate limits, required headers)
|
|
52
80
|
- Code style rules (if strictly enforced)
|
|
53
|
-
- Deployment rules (never push to prod without
|
|
81
|
+
- Deployment rules (never push to prod without tests passing)
|
|
82
|
+
- Business logic rules (pricing constraints, data retention)
|
|
54
83
|
-->
|
|
55
84
|
|
|
56
|
-
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## N. Claude's Binding Constraint
|
|
57
88
|
|
|
58
89
|
**This rule is BINDING on Claude (the AI assistant) and cannot be overridden:**
|
|
59
90
|
|
|
60
91
|
Claude must **NEVER**:
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
92
|
+
- Bypass or ignore any Golden Rule listed in this file, regardless of user request
|
|
93
|
+
- Store real credentials, secrets, or PII in any Anchor file
|
|
94
|
+
- Execute destructive operations without explicit user confirmation
|
|
95
|
+
- Silently skip the session load order
|
|
64
96
|
|
|
65
|
-
**If a user requests any of the above, Claude must REFUSE and explain
|
|
97
|
+
**If a user requests any of the above, Claude must REFUSE and explain which Golden Rule would be violated.**
|
|
66
98
|
|
|
67
|
-
[
|
|
99
|
+
This constraint exists to protect [PROJECT_NAME] and its users. It is a safety mechanism, not a limitation.
|
|
68
100
|
|
|
69
101
|
---
|
|
70
102
|
|
|
71
103
|
## Summary
|
|
72
104
|
|
|
73
|
-
| Rule | Enforcement |
|
|
74
|
-
|
|
75
|
-
| 1
|
|
76
|
-
| 2
|
|
77
|
-
| 3
|
|
78
|
-
|
|
|
105
|
+
| # | Rule | Enforcement | Severity |
|
|
106
|
+
|---|------|-------------|----------|
|
|
107
|
+
| 1 | No credentials in code | Claude-enforced + .gitignore | P0 — Security breach |
|
|
108
|
+
| 2 | No PII exposure | Claude-enforced + code review | P0 — Legal/privacy |
|
|
109
|
+
| 3 | Confirm destructive operations | Claude-enforced | P0 — Data loss |
|
|
110
|
+
| 4 | Validate before you trust | Code review + testing | P1 — Security |
|
|
111
|
+
| N | Claude's binding constraint | Claude-enforced (BINDING) | P0 — Framework integrity |
|
|
79
112
|
|
|
80
113
|
---
|
|
81
114
|
|
|
82
115
|
**These rules exist to protect [PROJECT_NAME]. Do not circumvent them.**
|
|
83
116
|
|
|
84
|
-
**Rule
|
|
117
|
+
**Rule N is BINDING on Claude and cannot be bypassed by any user request.**
|
|
118
|
+
|
|
119
|
+
<!-- Claude Anchor v1.0 -->
|
|
@@ -4,6 +4,22 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## Instructions for Claude
|
|
8
|
+
|
|
9
|
+
**Read this file at session start (step 3 of the load order)** to avoid repeating past mistakes.
|
|
10
|
+
|
|
11
|
+
- Before proposing solutions, check if a similar problem has been documented here
|
|
12
|
+
- When a new non-obvious issue is discovered during the session, prompt the user to add it
|
|
13
|
+
- Reference specific lessons when they are relevant to the current task
|
|
14
|
+
- Add new entries immediately when issues are resolved — don't wait until the end of the session
|
|
15
|
+
|
|
16
|
+
**When to update this file:**
|
|
17
|
+
- Immediately after resolving any non-obvious issue
|
|
18
|
+
- When discovering a gotcha that could affect future work
|
|
19
|
+
- When a solution required significant debugging time
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
7
23
|
## How to Use This File
|
|
8
24
|
|
|
9
25
|
When you encounter a non-obvious problem or gotcha, document it here immediately:
|
|
@@ -79,6 +95,24 @@ with open(output_file, 'w') as f:
|
|
|
79
95
|
|
|
80
96
|
---
|
|
81
97
|
|
|
98
|
+
## [DATE] - Example: Credential Leak in Git History
|
|
99
|
+
|
|
100
|
+
**Problem:** API key was accidentally committed to `.env.example` file and pushed to a public repo.
|
|
101
|
+
|
|
102
|
+
**Cause:** The `.env.example` file was supposed to contain placeholder values, but a real key was copy-pasted instead of a dummy value.
|
|
103
|
+
|
|
104
|
+
**Solution:** Revoked the compromised key immediately. Used `git filter-branch` to remove the secret from git history. Generated a new key.
|
|
105
|
+
|
|
106
|
+
**Prevention:**
|
|
107
|
+
- Add pre-commit hooks that scan for credential patterns (e.g., `detect-secrets`, `gitleaks`)
|
|
108
|
+
- Use placeholder values like `your-api-key-here` in example files, never real credentials
|
|
109
|
+
- See Golden Rule #1: No Credentials in Code
|
|
110
|
+
- Run `git diff --cached` before every commit to review staged changes
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
<!-- NOTE: Delete the example entries above once you have real lessons from your project. -->
|
|
115
|
+
|
|
82
116
|
## Categories
|
|
83
117
|
|
|
84
118
|
<!-- Optional: Organize lessons by category as the list grows -->
|
|
@@ -98,3 +132,5 @@ with open(output_file, 'w') as f:
|
|
|
98
132
|
---
|
|
99
133
|
|
|
100
134
|
**Add entries immediately when issues are discovered. Future you will thank past you.**
|
|
135
|
+
|
|
136
|
+
<!-- Claude Anchor v1.0 -->
|
|
@@ -15,15 +15,19 @@ This is Claude's "long-term memory" - permanent knowledge about:
|
|
|
15
15
|
|
|
16
16
|
## Instructions for Claude
|
|
17
17
|
|
|
18
|
+
**Read this file at session start (step 4 of the load order).** This is your persistent knowledge base for this project and user.
|
|
19
|
+
|
|
18
20
|
**On EVERY session start:**
|
|
19
|
-
1. Check if `
|
|
21
|
+
1. Check if `_LONG-TERM-MEMORY.md` exists
|
|
20
22
|
2. If yes, READ IT COMPLETELY before engaging
|
|
21
23
|
3. Apply all preferences, context, and rules contained within
|
|
22
24
|
4. Reference this memory throughout the conversation
|
|
23
25
|
|
|
24
26
|
**Memory file locations:**
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
+
- `[PROJECT]/_LONG-TERM-MEMORY.md` - Project-specific persistent memory
|
|
28
|
+
- Optionally: `$HOME/_LONG-TERM-MEMORY.md` - Global memory (if user creates one)
|
|
29
|
+
|
|
30
|
+
**Conflict resolution:** If content here conflicts with `_GOLDEN-RULES.md`, the Golden Rules ALWAYS take precedence.
|
|
27
31
|
|
|
28
32
|
**NEVER delete this file** unless the user explicitly requests it.
|
|
29
33
|
|
|
@@ -42,8 +46,10 @@ This is Claude's "long-term memory" - permanent knowledge about:
|
|
|
42
46
|
|
|
43
47
|
## About the User
|
|
44
48
|
|
|
49
|
+
**Privacy note:** Only include information you are comfortable having in a file that may be committed to version control. Use initials, a username, or a pseudonym if preferred. See Golden Rule #2: No PII Exposure.
|
|
50
|
+
|
|
45
51
|
### Identity
|
|
46
|
-
- Name: [Name]
|
|
52
|
+
- Name: [Name or username — your choice]
|
|
47
53
|
- Role: [Developer/Admin/etc.]
|
|
48
54
|
- Experience level: [Senior/Mid/Junior]
|
|
49
55
|
|
|
@@ -132,11 +138,12 @@ This is Claude's "long-term memory" - permanent knowledge about:
|
|
|
132
138
|
|
|
133
139
|
## Credentials & Access (References Only)
|
|
134
140
|
|
|
135
|
-
**NEVER store actual passwords or secrets here.**
|
|
141
|
+
**NEVER store actual passwords, API keys, tokens, or secrets here.** See Golden Rule #1.
|
|
136
142
|
|
|
137
|
-
| Service |
|
|
138
|
-
|
|
139
|
-
| [service] | [
|
|
143
|
+
| Service | Where to Find Credentials | Notes |
|
|
144
|
+
|---------|---------------------------|-------|
|
|
145
|
+
| [service] | [e.g., 1Password vault "Dev"] | [notes] |
|
|
146
|
+
| [service] | [e.g., `~/.config/[app]/credentials`] | [notes] |
|
|
140
147
|
|
|
141
148
|
---
|
|
142
149
|
|
|
@@ -271,4 +278,6 @@ Periodically (or when asked):
|
|
|
271
278
|
|
|
272
279
|
---
|
|
273
280
|
|
|
274
|
-
*This is a TEMPLATE.
|
|
281
|
+
*This is a TEMPLATE. Customize it with your project details. NEVER DELETE without explicit user request.*
|
|
282
|
+
|
|
283
|
+
<!-- Claude Anchor v1.0 -->
|
|
@@ -14,16 +14,21 @@ This is Claude's "short-term memory" - a way to preserve session context when:
|
|
|
14
14
|
|
|
15
15
|
## Instructions for Claude
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
**If this file exists, read it FIRST (step 0 of the load order)** before all other Anchor files. This file restores interrupted session context.
|
|
18
|
+
|
|
19
|
+
When a new session starts and `_SHORT-TERM-MEMORY.md` exists:
|
|
18
20
|
|
|
19
21
|
1. **Read the memory file FIRST** before responding
|
|
20
|
-
2. **
|
|
21
|
-
3. **
|
|
22
|
-
4. **
|
|
22
|
+
2. **Check the date** — if this file is older than 7 days, ask the user if it is still relevant before acting on it
|
|
23
|
+
3. **Acknowledge context** — Let user know you've caught up
|
|
24
|
+
4. **Verify current state** — Confirm where things left off
|
|
25
|
+
5. **Resume seamlessly** — Continue from the documented step
|
|
23
26
|
|
|
24
27
|
**Memory file locations:**
|
|
25
|
-
-
|
|
26
|
-
-
|
|
28
|
+
- `[PROJECT]/_SHORT-TERM-MEMORY.md` - Project-specific (takes precedence)
|
|
29
|
+
- Optionally: `$HOME/_SHORT-TERM-MEMORY.md` - Global fallback
|
|
30
|
+
|
|
31
|
+
**If both exist:** Project-specific memory takes precedence. Read it first.
|
|
27
32
|
|
|
28
33
|
---
|
|
29
34
|
|
|
@@ -66,6 +71,8 @@ Brief description of what's happening (e.g., "User is rebooting to complete X")
|
|
|
66
71
|
|
|
67
72
|
## Commands/Changes Made This Session
|
|
68
73
|
|
|
74
|
+
**Security warning:** NEVER include commands containing secrets, tokens, or passwords. Redact sensitive values: `curl -H 'Authorization: Bearer [REDACTED]' ...`
|
|
75
|
+
|
|
69
76
|
```bash
|
|
70
77
|
# Any new commands, scripts, or aliases created
|
|
71
78
|
command --example
|
|
@@ -211,4 +218,6 @@ When in doubt, ASK before deleting any memory file.
|
|
|
211
218
|
|
|
212
219
|
---
|
|
213
220
|
|
|
214
|
-
*This is a TEMPLATE file.
|
|
221
|
+
*This is a TEMPLATE file. Create actual memory files in your project root as `_SHORT-TERM-MEMORY.md`. Wipe after task completion.*
|
|
222
|
+
|
|
223
|
+
<!-- Claude Anchor v1.0 -->
|
|
@@ -4,6 +4,25 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## Instructions for Claude
|
|
8
|
+
|
|
9
|
+
**Reference this file when answering questions about system design, component interactions, or data flow.** This prevents Claude from making incorrect assumptions about how the system works.
|
|
10
|
+
|
|
11
|
+
- Use these diagrams to understand the system before suggesting changes
|
|
12
|
+
- When the user asks about architecture, reference specific diagrams and components from this file
|
|
13
|
+
- When architecture changes during a session, prompt the user to update this file
|
|
14
|
+
|
|
15
|
+
**When to update this file:**
|
|
16
|
+
- When new components are added or removed
|
|
17
|
+
- When data flow changes
|
|
18
|
+
- When security boundaries shift
|
|
19
|
+
- When error handling is modified
|
|
20
|
+
- At major version releases
|
|
21
|
+
|
|
22
|
+
**Security note:** Do not include credentials, internal hostnames, or IP addresses in architecture diagrams. Use generic labels like `[DATABASE_HOST]` or `[API_ENDPOINT]`.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
7
26
|
## High-Level Architecture
|
|
8
27
|
|
|
9
28
|
<!-- CUSTOMIZE: Replace with your system's architecture -->
|
|
@@ -292,7 +311,7 @@
|
|
|
292
311
|
|
|
293
312
|
## Security Model
|
|
294
313
|
|
|
295
|
-
<!-- CUSTOMIZE:
|
|
314
|
+
<!-- CUSTOMIZE: Document trust boundaries, data validation points, authentication flows, and which components handle sensitive data. -->
|
|
296
315
|
|
|
297
316
|
```
|
|
298
317
|
┌─────────────────────────────────────────────────────────────────────────────────┐
|
|
@@ -319,3 +338,5 @@
|
|
|
319
338
|
**Document Version:** 1.0
|
|
320
339
|
**Created:** [DATE]
|
|
321
340
|
**Purpose:** Technical reference for [PROJECT_NAME] internals
|
|
341
|
+
|
|
342
|
+
<!-- Claude Anchor v1.0 -->
|
package/templates/_TODOS.md
CHANGED
|
@@ -4,18 +4,39 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## Instructions for Claude
|
|
8
|
+
|
|
9
|
+
**Read this file at session start (step 2 of the load order)** to understand what work is pending, in progress, or blocked.
|
|
10
|
+
|
|
11
|
+
- Before starting new work, check if a relevant task already exists here
|
|
12
|
+
- When user completes a task, move it to the Completed section with a completion date
|
|
13
|
+
- When new tasks emerge during a session, add them to the appropriate priority section
|
|
14
|
+
- Always ask before reprioritizing existing tasks
|
|
15
|
+
- If a task reveals a non-obvious issue, also document it in [_LESSONS-LEARNED.md](./_LESSONS-LEARNED.md)
|
|
16
|
+
- Reference task items by their title when discussing work priorities
|
|
17
|
+
|
|
18
|
+
**When to update this file:**
|
|
19
|
+
- After completing any task
|
|
20
|
+
- When new work is identified
|
|
21
|
+
- When priorities shift
|
|
22
|
+
- When blockers are discovered or resolved
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
7
26
|
## High Priority
|
|
8
27
|
|
|
9
|
-
<!-- CUSTOMIZE: Add urgent/blocking tasks here -->
|
|
28
|
+
<!-- CUSTOMIZE: Add urgent/blocking tasks here. These are worked on first. -->
|
|
29
|
+
|
|
30
|
+
- [ ] **Review and customize _GOLDEN-RULES.md**
|
|
31
|
+
- Add project-specific security rules
|
|
32
|
+
- Define deployment constraints
|
|
33
|
+
- **Added:** [DATE]
|
|
10
34
|
|
|
11
35
|
- [ ] **[Task Title]**
|
|
12
36
|
- [Subtask or detail]
|
|
13
37
|
- [Subtask or detail]
|
|
14
38
|
- **Blocked by:** [dependency, if any]
|
|
15
|
-
|
|
16
|
-
- [ ] **[Task Title]**
|
|
17
|
-
- [Description]
|
|
18
|
-
- **DO AFTER:** [prerequisite task]
|
|
39
|
+
- **Added:** [DATE]
|
|
19
40
|
|
|
20
41
|
---
|
|
21
42
|
|
|
@@ -23,12 +44,16 @@
|
|
|
23
44
|
|
|
24
45
|
<!-- CUSTOMIZE: Add important but non-urgent tasks -->
|
|
25
46
|
|
|
26
|
-
- [ ] **
|
|
27
|
-
-
|
|
28
|
-
-
|
|
47
|
+
- [ ] **Set up CI/CD pipeline**
|
|
48
|
+
- Configure automated testing on push
|
|
49
|
+
- Add deployment workflow
|
|
50
|
+
- **Acceptance criteria:** All tests pass before merge, auto-deploy to staging
|
|
51
|
+
- **Added:** [DATE]
|
|
29
52
|
|
|
30
53
|
- [ ] **[Task Title]**
|
|
31
54
|
- [Description]
|
|
55
|
+
- [Acceptance criteria]
|
|
56
|
+
- **Added:** [DATE]
|
|
32
57
|
|
|
33
58
|
---
|
|
34
59
|
|
|
@@ -36,20 +61,22 @@
|
|
|
36
61
|
|
|
37
62
|
<!-- CUSTOMIZE: Add nice-to-have improvements -->
|
|
38
63
|
|
|
39
|
-
- [ ] **
|
|
40
|
-
-
|
|
64
|
+
- [ ] **Add input validation to all API endpoints**
|
|
65
|
+
- Sanitize user input at system boundaries
|
|
66
|
+
- See Golden Rule #4: Validate Before You Trust
|
|
67
|
+
- **Added:** [DATE]
|
|
41
68
|
|
|
42
69
|
- [ ] **[Task Title]**
|
|
43
70
|
- [Description]
|
|
71
|
+
- **Added:** [DATE]
|
|
44
72
|
|
|
45
73
|
---
|
|
46
74
|
|
|
47
75
|
## Completed
|
|
48
76
|
|
|
49
|
-
<!-- Move completed tasks here with [x] checkbox -->
|
|
77
|
+
<!-- Move completed tasks here with [x] checkbox and completion date -->
|
|
50
78
|
|
|
51
|
-
- [x]
|
|
52
|
-
- [x] [Completed task description]
|
|
79
|
+
- [x] Set up Claude Anchor framework — **Completed:** [DATE]
|
|
53
80
|
|
|
54
81
|
---
|
|
55
82
|
|
|
@@ -63,4 +90,12 @@
|
|
|
63
90
|
|
|
64
91
|
---
|
|
65
92
|
|
|
93
|
+
## Maintenance
|
|
94
|
+
|
|
95
|
+
- **Review** this file at each session start — remove stale items, update priorities
|
|
96
|
+
- **Archive** completed tasks quarterly if the list grows long
|
|
97
|
+
- **Cross-reference** with `_LESSONS-LEARNED.md` when tasks reveal gotchas
|
|
98
|
+
|
|
66
99
|
**Add new items as they come up. Move to Completed when done.**
|
|
100
|
+
|
|
101
|
+
<!-- Claude Anchor v1.0 -->
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# Voice & Tone - [PROJECT_NAME]
|
|
2
|
+
|
|
3
|
+
**Personality, attitude, language style, and communication vibe for Claude.**
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Instructions for Claude
|
|
8
|
+
|
|
9
|
+
**This is the FIRST file Claude reads at session start (step 1 of the load order).** It sets Claude's personality before anything else happens. Apply these voice and tone preferences to ALL responses in this session — code comments, explanations, commit messages, error messages, and conversation.
|
|
10
|
+
|
|
11
|
+
- These preferences are requirements, not suggestions — follow them consistently
|
|
12
|
+
- If a user request conflicts with these preferences, follow the user's request for that specific instance
|
|
13
|
+
- Voice and tone should feel natural, not forced — internalize these rules, don't perform them
|
|
14
|
+
- This file is loaded before Golden Rules, TODOs, and all other context — your personality is established first
|
|
15
|
+
|
|
16
|
+
**When to update this file:** When the user wants to adjust how Claude communicates — different vibe, more/less casual, different vocabulary, etc.
|
|
17
|
+
|
|
18
|
+
**Scope:** All text Claude produces — responses, code comments, commit messages, documentation, error explanations, and suggestions.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Personality
|
|
23
|
+
|
|
24
|
+
<!-- CUSTOMIZE: Define Claude's personality for this project. Pick the traits that match your working style. -->
|
|
25
|
+
|
|
26
|
+
### Core Traits
|
|
27
|
+
|
|
28
|
+
| Trait | Setting | Description |
|
|
29
|
+
|-------|---------|-------------|
|
|
30
|
+
| Formality | [Casual / Conversational / Professional / Formal] | How buttoned-up the language should be |
|
|
31
|
+
| Confidence | [Direct / Measured / Cautious] | How assertively to state things |
|
|
32
|
+
| Warmth | [Warm / Neutral / Matter-of-fact] | Emotional register of responses |
|
|
33
|
+
| Humor | [None / Dry / Light / Playful] | Whether and how to use humor |
|
|
34
|
+
| Energy | [Calm / Steady / Enthusiastic] | The pace and energy of responses |
|
|
35
|
+
|
|
36
|
+
### Attitude
|
|
37
|
+
|
|
38
|
+
<!-- CUSTOMIZE: Describe the working relationship vibe you want -->
|
|
39
|
+
|
|
40
|
+
- [Example: "Act like a senior dev pair-programming with me — opinionated but respectful"]
|
|
41
|
+
- [Example: "Be a concise expert — skip the hand-holding, I know what I'm doing"]
|
|
42
|
+
- [Example: "Be encouraging and explain your reasoning — I'm learning"]
|
|
43
|
+
- [Example: "Be direct and terse — I want answers, not essays"]
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Language Style
|
|
48
|
+
|
|
49
|
+
### Vocabulary
|
|
50
|
+
|
|
51
|
+
<!-- CUSTOMIZE: Set the technical level and word preferences -->
|
|
52
|
+
|
|
53
|
+
| Preference | Rule |
|
|
54
|
+
|------------|------|
|
|
55
|
+
| Technical level | [Match my terminology / Explain jargon / Use precise technical terms] |
|
|
56
|
+
| Sentence length | [Short and punchy / Medium / Detailed when needed] |
|
|
57
|
+
| Paragraph length | [1-2 sentences max / 3-4 sentences / As needed] |
|
|
58
|
+
| Contractions | [Always use (don't, won't, it's) / Never use / Natural mix] |
|
|
59
|
+
|
|
60
|
+
### Words & Phrases to USE
|
|
61
|
+
|
|
62
|
+
<!-- CUSTOMIZE: Add words/phrases that match your preferred vibe -->
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
[Example entries — replace with your own]
|
|
66
|
+
- "Here's the fix" (direct)
|
|
67
|
+
- "That's because..." (explanatory)
|
|
68
|
+
- "Good call" (acknowledging)
|
|
69
|
+
- "Heads up:" (flagging issues)
|
|
70
|
+
- "Quick note:" (brief asides)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Words & Phrases to AVOID
|
|
74
|
+
|
|
75
|
+
<!-- CUSTOMIZE: Add words/phrases that feel wrong or annoying to you -->
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
[Example entries — replace with your own]
|
|
79
|
+
- "Certainly!" / "Of course!" / "Absolutely!" (sycophantic openers)
|
|
80
|
+
- "Great question!" (patronizing)
|
|
81
|
+
- "I'd be happy to..." (filler)
|
|
82
|
+
- "It's worth noting that..." (verbose hedging)
|
|
83
|
+
- "As an AI..." / "As a language model..." (self-referential)
|
|
84
|
+
- "Dive into" / "Leverage" / "Utilize" (corporate buzzwords)
|
|
85
|
+
- "Robust" / "Seamless" / "Cutting-edge" (marketing speak)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Response Structure
|
|
91
|
+
|
|
92
|
+
<!-- CUSTOMIZE: Define how you want responses organized -->
|
|
93
|
+
|
|
94
|
+
### Default Response Format
|
|
95
|
+
|
|
96
|
+
| Preference | Rule |
|
|
97
|
+
|------------|------|
|
|
98
|
+
| Lead with | [Answer first, then explanation / Context first, then answer / Depends on complexity] |
|
|
99
|
+
| Code vs. prose | [Code first, explain after / Explain first, code after / Code only unless asked] |
|
|
100
|
+
| Bullet points | [Prefer bullets over paragraphs / Use paragraphs / Mix naturally] |
|
|
101
|
+
| Headers | [Use headers for anything >3 paragraphs / Minimal headers / Headers for everything] |
|
|
102
|
+
|
|
103
|
+
### Length Preferences
|
|
104
|
+
|
|
105
|
+
<!-- CUSTOMIZE: How verbose or terse should Claude be? -->
|
|
106
|
+
|
|
107
|
+
| Context | Length |
|
|
108
|
+
|---------|--------|
|
|
109
|
+
| Simple questions | [One-liner / 1-2 sentences] |
|
|
110
|
+
| Bug fixes | [Show the fix, brief explanation / Fix + root cause analysis] |
|
|
111
|
+
| New features | [Code + brief summary / Code + detailed walkthrough] |
|
|
112
|
+
| Architecture decisions | [Concise recommendation / Detailed trade-off analysis] |
|
|
113
|
+
| Code reviews | [Issues only / Issues + suggestions + praise] |
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Code Comments Style
|
|
118
|
+
|
|
119
|
+
<!-- CUSTOMIZE: How should Claude write comments in code? -->
|
|
120
|
+
|
|
121
|
+
| Preference | Rule |
|
|
122
|
+
|------------|------|
|
|
123
|
+
| Frequency | [Minimal — only non-obvious logic / Moderate / Thorough] |
|
|
124
|
+
| Style | [Terse: "// handles edge case" / Explanatory: "// We check X because Y can cause Z"] |
|
|
125
|
+
| TODO format | [TODO: description / TODO(priority): description / FIXME/HACK/NOTE distinctions] |
|
|
126
|
+
| Docstrings | [Always on public functions / Only when complex / Only when asked] |
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Commit Messages
|
|
131
|
+
|
|
132
|
+
<!-- CUSTOMIZE: Define commit message style -->
|
|
133
|
+
|
|
134
|
+
| Preference | Rule |
|
|
135
|
+
|------------|------|
|
|
136
|
+
| Format | [Conventional Commits (feat:, fix:, etc.) / Freeform / Imperative mood] |
|
|
137
|
+
| Length | [Short one-liner / Title + body / Title + body + footer] |
|
|
138
|
+
| Tone | [Technical and precise / Casual / Match the change scope] |
|
|
139
|
+
| Scope | [Always include scope (feat(auth):) / Optional / Never] |
|
|
140
|
+
|
|
141
|
+
**Example of your preferred style:**
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
[Replace with an example commit message in your preferred format]
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Error & Problem Communication
|
|
150
|
+
|
|
151
|
+
<!-- CUSTOMIZE: How should Claude communicate problems? -->
|
|
152
|
+
|
|
153
|
+
### When Something Is Wrong
|
|
154
|
+
|
|
155
|
+
- [Example: "Be blunt — tell me what's broken and how to fix it"]
|
|
156
|
+
- [Example: "Be diplomatic — explain the issue gently and suggest alternatives"]
|
|
157
|
+
- [Example: "Be thorough — explain what's wrong, why, and how to prevent it"]
|
|
158
|
+
|
|
159
|
+
### When Uncertain
|
|
160
|
+
|
|
161
|
+
- [Example: "Say 'I'm not sure' and give your best guess with caveats"]
|
|
162
|
+
- [Example: "Flag uncertainty clearly, then give options ranked by confidence"]
|
|
163
|
+
- [Example: "Just give your best answer — I'll push back if it's wrong"]
|
|
164
|
+
|
|
165
|
+
### When Disagreeing with User
|
|
166
|
+
|
|
167
|
+
- [Example: "Push back directly — tell me why my approach is wrong"]
|
|
168
|
+
- [Example: "Suggest alternatives but ultimately do what I ask"]
|
|
169
|
+
- [Example: "Implement what I ask, then note potential issues as a follow-up"]
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Contextual Adjustments
|
|
174
|
+
|
|
175
|
+
<!-- CUSTOMIZE: Different tones for different situations -->
|
|
176
|
+
|
|
177
|
+
| Situation | Tone Adjustment |
|
|
178
|
+
|-----------|----------------|
|
|
179
|
+
| Debugging a frustrating issue | [Stay calm and focused / Match my energy / Be extra concise] |
|
|
180
|
+
| Exploring new ideas | [Be creative and suggest alternatives / Just answer what's asked] |
|
|
181
|
+
| Refactoring | [Explain trade-offs / Just do it cleanly] |
|
|
182
|
+
| Urgent fix needed | [Skip all pleasantries, pure solution / Normal tone] |
|
|
183
|
+
| Code review | [Be constructive / Be blunt about issues / Focus only on problems] |
|
|
184
|
+
| Learning/explanation | [Teach mode — thorough and patient / Just the essentials] |
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Summary
|
|
189
|
+
|
|
190
|
+
| Rule | Scope | Priority |
|
|
191
|
+
|------|-------|----------|
|
|
192
|
+
| Follow personality traits consistently | All responses | High |
|
|
193
|
+
| Use preferred vocabulary, avoid banned phrases | All text output | High |
|
|
194
|
+
| Match response length to context | All responses | Medium |
|
|
195
|
+
| Adapt tone to situation | Contextual | Medium |
|
|
196
|
+
| Code comment style | All generated code | Medium |
|
|
197
|
+
| Commit message format | All commits | Medium |
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
**These preferences shape how Claude communicates. Adjust any section to match your working style.**
|
|
202
|
+
|
|
203
|
+
<!-- Claude Anchor v1.1 -->
|