@allthingsclaude/blueprints 0.3.0-beta.23 → 0.3.0-beta.24
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.
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Tell the narrative story of a file or function through its git history
|
|
3
|
+
argument-hint: <file path> [optional: :function or symbol name]
|
|
4
|
+
author: "@markoradak"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# File History
|
|
8
|
+
|
|
9
|
+
Investigating the history of: **$ARGUMENTS**
|
|
10
|
+
|
|
11
|
+
> **When to use**: You want to understand how a file evolved over time — who created it, what major changes shaped it, and whether it's a hot spot or stable code.
|
|
12
|
+
|
|
13
|
+
## Context
|
|
14
|
+
|
|
15
|
+
**Working Directory**: !`pwd`
|
|
16
|
+
|
|
17
|
+
**File Exists**: !`test -f "$ARGUMENTS" && echo "Yes" || echo "File not found — check the path"`
|
|
18
|
+
|
|
19
|
+
**File Size**: !`wc -l < "$ARGUMENTS" 2>/dev/null || echo "N/A"`
|
|
20
|
+
|
|
21
|
+
## Git History
|
|
22
|
+
|
|
23
|
+
**Full Log (following renames)**:
|
|
24
|
+
!`git log --follow --format="%h|%an|%ar|%s" -- "$ARGUMENTS" 2>/dev/null || echo "No git history available"`
|
|
25
|
+
|
|
26
|
+
**File Creation**:
|
|
27
|
+
!`git log --follow --diff-filter=A --format="%h %an (%ar): %s" -- "$ARGUMENTS" 2>/dev/null || echo "Unable to determine creation"`
|
|
28
|
+
|
|
29
|
+
**Contributors**:
|
|
30
|
+
!`git log --follow --format="%an" -- "$ARGUMENTS" 2>/dev/null | sort | uniq -c | sort -rn || echo "N/A"`
|
|
31
|
+
|
|
32
|
+
**Recent Activity (last 30 days)**:
|
|
33
|
+
!`git log --since="30 days ago" --follow --format="%h %s (%ar)" -- "$ARGUMENTS" 2>/dev/null || echo "No recent changes"`
|
|
34
|
+
|
|
35
|
+
**Change Frequency**:
|
|
36
|
+
!`echo "Total commits: $(git log --follow --oneline -- "$ARGUMENTS" 2>/dev/null | wc -l | tr -d ' ')"`
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Instructions
|
|
41
|
+
|
|
42
|
+
Using the git history data above, tell the story of this file as a narrative. Don't just list commits — interpret the history.
|
|
43
|
+
|
|
44
|
+
### 1. Origin
|
|
45
|
+
|
|
46
|
+
When was the file created, by whom, and why? Use the creation commit message and context to explain what purpose it originally served.
|
|
47
|
+
|
|
48
|
+
### 2. Evolution
|
|
49
|
+
|
|
50
|
+
Group commits into phases or themes. For example:
|
|
51
|
+
- "Initial implementation" (first few commits)
|
|
52
|
+
- "Feature expansion" (when significant functionality was added)
|
|
53
|
+
- "Refactoring" (structural changes without new features)
|
|
54
|
+
- "Bug fixes" (corrections and patches)
|
|
55
|
+
|
|
56
|
+
Summarize each phase in 1-2 sentences rather than listing individual commits.
|
|
57
|
+
|
|
58
|
+
### 3. Key Contributors
|
|
59
|
+
|
|
60
|
+
Who has shaped this file the most? Mention the top 2-3 contributors and what kind of work each contributed.
|
|
61
|
+
|
|
62
|
+
### 4. Current State
|
|
63
|
+
|
|
64
|
+
- **Activity level** — Is this file actively changing or has it stabilized?
|
|
65
|
+
- **Hot spot or stable?** — High commit frequency = hot spot (may need attention). Low frequency = stable (likely reliable).
|
|
66
|
+
- **Size context** — Is the file large enough to consider splitting?
|
|
67
|
+
|
|
68
|
+
### 5. Function Focus (if specified)
|
|
69
|
+
|
|
70
|
+
If `$ARGUMENTS` includes a `:function` or symbol name after the file path, narrow the story to just that symbol. Use `git log -p` mentally to focus on commits that touched that specific function.
|
|
71
|
+
|
|
72
|
+
**This is read-only. Do not modify any files.**
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate a standup summary from recent git activity
|
|
3
|
+
argument-hint: [optional: timeframe like "3 days" or "this week"]
|
|
4
|
+
author: "@markoradak"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Standup Summary
|
|
8
|
+
|
|
9
|
+
Generating a standup summary from recent activity.
|
|
10
|
+
|
|
11
|
+
> **When to use**: You need a quick done/doing/next summary for a standup meeting, status update, or just to remind yourself what you've been working on.
|
|
12
|
+
|
|
13
|
+
## Recent Activity
|
|
14
|
+
|
|
15
|
+
**Current Branch**: !`git branch --show-current 2>/dev/null || echo "Not a git repository"`
|
|
16
|
+
|
|
17
|
+
**Author**: !`git config user.name 2>/dev/null || echo "Unknown"`
|
|
18
|
+
|
|
19
|
+
**Commits (last 48 hours)**:
|
|
20
|
+
!`git log --since="48 hours ago" --author="$(git config user.name)" --format="%h %s (%ar)" 2>/dev/null || echo "No recent commits"`
|
|
21
|
+
|
|
22
|
+
**Uncommitted Changes**:
|
|
23
|
+
!`git diff --stat 2>/dev/null || echo "None"`
|
|
24
|
+
|
|
25
|
+
**Staged Changes**:
|
|
26
|
+
!`git diff --cached --stat 2>/dev/null || echo "None"`
|
|
27
|
+
|
|
28
|
+
**Stashed Work**:
|
|
29
|
+
!`git stash list 2>/dev/null || echo "No stashes"`
|
|
30
|
+
|
|
31
|
+
**Active Plan Files**:
|
|
32
|
+
!`ls -1 {{TASKS_DIR}}/*.md 2>/dev/null || echo "No plan files found"`
|
|
33
|
+
|
|
34
|
+
## Timeframe Override
|
|
35
|
+
|
|
36
|
+
$ARGUMENTS
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Instructions
|
|
41
|
+
|
|
42
|
+
Using the activity data above, generate a clean standup summary in this format:
|
|
43
|
+
|
|
44
|
+
### Output Format
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
## Standup — [date]
|
|
48
|
+
|
|
49
|
+
### Done
|
|
50
|
+
- [completed work items from commits, grouped by theme]
|
|
51
|
+
|
|
52
|
+
### In Progress
|
|
53
|
+
- [current branch context and uncommitted changes]
|
|
54
|
+
|
|
55
|
+
### Up Next
|
|
56
|
+
- [items from plan files, or next logical steps]
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Rules
|
|
60
|
+
|
|
61
|
+
1. **Done** — Synthesize commits into meaningful work items. Don't list every commit — group related commits into a single bullet (e.g., three auth-related commits become "Implemented user authentication flow"). Use the commit messages to understand what was accomplished.
|
|
62
|
+
|
|
63
|
+
2. **In Progress** — Describe what the current branch and uncommitted changes suggest you're working on. If there are stashes, mention them as paused work.
|
|
64
|
+
|
|
65
|
+
3. **Up Next** — Pull from plan files if they exist. If not, infer reasonable next steps from the in-progress work or leave as "TBD — no active plan."
|
|
66
|
+
|
|
67
|
+
4. **Timeframe** — If `$ARGUMENTS` specifies a different timeframe (e.g., "3 days", "this week"), adjust the "Done" section scope accordingly. The shell commands captured the last 48 hours; if the user wants a wider window, note that some older work may not appear.
|
|
68
|
+
|
|
69
|
+
5. **Tone** — Keep it concise and factual. No filler. Ready to paste into Slack or Teams.
|
|
70
|
+
|
|
71
|
+
**This is read-only. Do not modify any files.**
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Scan codebase for TODO/FIXME/HACK markers and present an organized summary
|
|
3
|
+
argument-hint: [optional: directory, file, or keyword to filter]
|
|
4
|
+
author: "@markoradak"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# TODO Scanner
|
|
8
|
+
|
|
9
|
+
Scanning the codebase for code markers and annotations.
|
|
10
|
+
|
|
11
|
+
> **When to use**: You want a quick overview of outstanding TODOs, FIXMEs, and other code markers scattered across the project — without grepping manually.
|
|
12
|
+
|
|
13
|
+
## Current State
|
|
14
|
+
|
|
15
|
+
**Working Directory**: !`pwd`
|
|
16
|
+
|
|
17
|
+
**Git Root**: !`git rev-parse --show-toplevel 2>/dev/null || echo "Not a git repository"`
|
|
18
|
+
|
|
19
|
+
## Marker Scan
|
|
20
|
+
|
|
21
|
+
**High Priority (FIXME, HACK, XXX)**:
|
|
22
|
+
!`git grep -rn -E '\b(FIXME|HACK|XXX)\b' -- ':!node_modules' ':!.git' 2>/dev/null || grep -rn -E '\b(FIXME|HACK|XXX)\b' --include='*' --exclude-dir=node_modules --exclude-dir=.git . 2>/dev/null || echo "No high-priority markers found"`
|
|
23
|
+
|
|
24
|
+
**Standard (TODO, TASK, TEMP, DEPRECATED)**:
|
|
25
|
+
!`git grep -rn -E '\b(TODO|TASK|TEMP|DEPRECATED)\b' -- ':!node_modules' ':!.git' 2>/dev/null || grep -rn -E '\b(TODO|TASK|TEMP|DEPRECATED)\b' --include='*' --exclude-dir=node_modules --exclude-dir=.git . 2>/dev/null || echo "No standard markers found"`
|
|
26
|
+
|
|
27
|
+
**Informational (NOTE, WARN)**:
|
|
28
|
+
!`git grep -rn -E '\b(NOTE|WARN)\b' -- ':!node_modules' ':!.git' 2>/dev/null || grep -rn -E '\b(NOTE|WARN)\b' --include='*' --exclude-dir=node_modules --exclude-dir=.git . 2>/dev/null || echo "No informational markers found"`
|
|
29
|
+
|
|
30
|
+
## User Filter
|
|
31
|
+
|
|
32
|
+
$ARGUMENTS
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Instructions
|
|
37
|
+
|
|
38
|
+
Using the marker scan results above, present an organized summary:
|
|
39
|
+
|
|
40
|
+
### 1. Summary counts
|
|
41
|
+
|
|
42
|
+
Show a table of marker types and their total counts. Order by priority: FIXME > HACK > XXX > TODO > TASK > TEMP > DEPRECATED > NOTE > WARN.
|
|
43
|
+
|
|
44
|
+
### 2. Organize by priority
|
|
45
|
+
|
|
46
|
+
Group results into three tiers:
|
|
47
|
+
- **Needs attention** — FIXME, HACK, XXX (things that are broken or fragile)
|
|
48
|
+
- **Planned work** — TODO, TASK, TEMP, DEPRECATED (things that need doing)
|
|
49
|
+
- **Informational** — NOTE, WARN (context for future readers)
|
|
50
|
+
|
|
51
|
+
Within each tier, group by file or directory so related items stay together.
|
|
52
|
+
|
|
53
|
+
### 3. Apply user filter
|
|
54
|
+
|
|
55
|
+
If `$ARGUMENTS` was provided, filter results to only show markers matching that directory, file, or keyword. Ignore results outside the filter scope.
|
|
56
|
+
|
|
57
|
+
### 4. Highlight patterns
|
|
58
|
+
|
|
59
|
+
Call out anything notable:
|
|
60
|
+
- Files with an unusually high concentration of markers
|
|
61
|
+
- Very old TODOs (if recognizable from surrounding context)
|
|
62
|
+
- FIXMEs that reference specific bugs or issues
|
|
63
|
+
|
|
64
|
+
**This is read-only. Do not modify any files.**
|
package/package.json
CHANGED