@polymorphism-tech/morph-spec 4.10.0 → 4.10.2
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 +2 -2
- package/claude-plugin.json +1 -1
- package/docs/CHEATSHEET.md +1 -1
- package/docs/QUICKSTART.md +1 -1
- package/framework/CLAUDE.md +5 -69
- package/framework/agents/backend/api-designer.md +3 -0
- package/framework/agents/backend/dotnet-senior.md +3 -0
- package/framework/agents/backend/ef-modeler.md +2 -0
- package/framework/agents/backend/hangfire-orchestrator.md +2 -0
- package/framework/agents/backend/ms-agent-expert.md +2 -0
- package/framework/agents/frontend/blazor-builder.md +2 -0
- package/framework/agents/frontend/nextjs-expert.md +2 -0
- package/framework/agents/infrastructure/azure-architect.md +2 -0
- package/framework/agents/infrastructure/azure-deploy-specialist.md +2 -0
- package/framework/agents/infrastructure/bicep-architect.md +2 -0
- package/framework/agents/infrastructure/container-specialist.md +2 -0
- package/framework/agents/infrastructure/devops-engineer.md +3 -0
- package/framework/agents/infrastructure/infra-architect.md +3 -0
- package/framework/agents/integrations/asaas-financial.md +2 -0
- package/framework/agents/integrations/azure-identity.md +2 -0
- package/framework/agents/integrations/clerk-auth.md +3 -0
- package/framework/agents/integrations/hangfire-integration.md +2 -0
- package/framework/agents/integrations/resend-email.md +2 -0
- package/framework/commands/morph-apply.md +151 -161
- package/framework/commands/morph-archive.md +28 -28
- package/framework/commands/morph-infra.md +79 -79
- package/framework/commands/morph-preflight.md +92 -56
- package/framework/commands/morph-proposal.md +94 -70
- package/framework/commands/morph-status.md +31 -31
- package/framework/commands/morph-troubleshoot.md +63 -60
- package/framework/rules/csharp-standards.md +3 -0
- package/framework/rules/frontend-standards.md +2 -0
- package/framework/rules/infrastructure-standards.md +3 -0
- package/framework/rules/morph-workflow.md +57 -2
- package/framework/rules/nextjs-standards.md +2 -0
- package/framework/rules/testing-standards.md +3 -0
- package/framework/skills/level-0-meta/morph-brainstorming/SKILL.md +54 -49
- package/framework/skills/level-0-meta/morph-checklist/SKILL.md +42 -19
- package/framework/skills/level-0-meta/morph-code-review/SKILL.md +8 -5
- package/framework/skills/level-0-meta/morph-code-review-nextjs/SKILL.md +7 -5
- package/framework/skills/level-0-meta/morph-frontend-review/SKILL.md +139 -136
- package/framework/skills/level-0-meta/morph-init/SKILL.md +42 -13
- package/framework/skills/level-0-meta/morph-post-implementation/SKILL.md +130 -130
- package/framework/skills/level-0-meta/morph-replicate/SKILL.md +95 -87
- package/framework/skills/level-0-meta/morph-simulation-checklist/SKILL.md +24 -0
- package/framework/skills/level-0-meta/morph-tool-usage-guide/SKILL.md +42 -41
- package/framework/skills/level-0-meta/morph-verification-before-completion/SKILL.md +22 -11
- package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +123 -114
- package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +120 -102
- package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +206 -214
- package/framework/skills/level-1-workflows/morph-phase-implement/.morph/logs/activity.json +38 -0
- package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +241 -360
- package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +107 -115
- package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +135 -135
- package/framework/skills/level-1-workflows/morph-phase-tasks/.morph/logs/activity.json +14 -0
- package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +143 -139
- package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +168 -165
- package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +57 -8
- package/package.json +3 -3
- package/src/commands/project/doctor.js +7 -2
- package/src/commands/project/update.js +4 -4
- package/src/lib/stack-filter.js +58 -0
- package/src/scripts/setup-infra.js +53 -18
- package/src/utils/agents-installer.js +19 -5
- package/src/utils/claude-md-injector.js +90 -0
- package/src/utils/hooks-installer.js +1 -4
- package/src/utils/skills-installer.js +67 -7
- package/CLAUDE.md +0 -98
- package/framework/memory/patterns-learned.md +0 -766
- package/framework/skills/level-0-meta/morph-terminal-title/SKILL.md +0 -61
- package/framework/skills/level-0-meta/morph-terminal-title/scripts/set_title.sh +0 -65
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: morph:terminal-title
|
|
3
|
-
description: Manually set the terminal window title for the current task. Use when you need to override the automatic title set by the hook, or to set a specific descriptive title for the current work context.
|
|
4
|
-
argument-hint: "[title]"
|
|
5
|
-
user-invocable: true
|
|
6
|
-
allowed-tools: Bash
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Terminal Title
|
|
10
|
-
|
|
11
|
-
## Overview
|
|
12
|
-
|
|
13
|
-
Manually sets the terminal window title. The hook `set-terminal-title.js` sets titles automatically on every prompt — use this skill only for manual overrides.
|
|
14
|
-
|
|
15
|
-
## When to Use
|
|
16
|
-
|
|
17
|
-
- Override the automatic title with something more descriptive
|
|
18
|
-
- Set a custom title at the start of a focused work session
|
|
19
|
-
- Invoke explicitly: `/terminal-title`
|
|
20
|
-
|
|
21
|
-
## Title Format
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
[Action]: [Specific Focus]
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
**Good titles (max 40 chars):**
|
|
28
|
-
- `Fix: Auth Login Bug`
|
|
29
|
-
- `Build: Dashboard UI`
|
|
30
|
-
- `Refactor: Payment Module`
|
|
31
|
-
- `DB Migration: Users Table`
|
|
32
|
-
- `Test: Checkout Flow`
|
|
33
|
-
|
|
34
|
-
The script (`set_title.sh`) prepends the current directory name automatically:
|
|
35
|
-
```
|
|
36
|
-
morph-spec-framework | Fix: Auth Login Bug
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
The hook (`set-terminal-title.js`) sets the task title directly, without a directory prefix:
|
|
40
|
-
```
|
|
41
|
-
Fix: Auth Login Bug
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Implementation
|
|
45
|
-
|
|
46
|
-
Run the title script with the desired title:
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
bash .claude/skills/morph-terminal-title/scripts/set_title.sh "Fix: Auth Login Bug"
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
No confirmation needed — executes silently in the background.
|
|
53
|
-
|
|
54
|
-
## Optional Custom Prefix
|
|
55
|
-
|
|
56
|
-
Set `CLAUDE_TITLE_PREFIX` in your environment to add a custom prefix:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
export CLAUDE_TITLE_PREFIX="🤖"
|
|
60
|
-
# Results in: 🤖 morph-spec-framework | Fix: Auth Login Bug
|
|
61
|
-
```
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Set terminal window title
|
|
3
|
-
# Usage: ./set_title.sh "Your Title Here"
|
|
4
|
-
#
|
|
5
|
-
# The script automatically prefixes the title with the current directory name
|
|
6
|
-
# (usually the repo/project name) for easy identification across multiple terminals.
|
|
7
|
-
#
|
|
8
|
-
# Optional: Set CLAUDE_TITLE_PREFIX environment variable for additional custom prefix
|
|
9
|
-
# Example: export CLAUDE_TITLE_PREFIX="🤖"
|
|
10
|
-
# Results in: "🤖 my-project | Your Title"
|
|
11
|
-
|
|
12
|
-
# Exit silently if no title provided (fail-safe behavior)
|
|
13
|
-
if [ -z "$1" ]; then
|
|
14
|
-
exit 0
|
|
15
|
-
fi
|
|
16
|
-
|
|
17
|
-
# Validate and sanitize input
|
|
18
|
-
# Remove control characters (0x00-0x1F) and limit length to 80 characters
|
|
19
|
-
TITLE=$(echo "$1" | tr -d '\000-\037' | head -c 80)
|
|
20
|
-
|
|
21
|
-
# Ensure title is not empty after sanitization
|
|
22
|
-
if [ -z "$TITLE" ]; then
|
|
23
|
-
exit 0
|
|
24
|
-
fi
|
|
25
|
-
|
|
26
|
-
# Get the current directory name (usually the repo/project name)
|
|
27
|
-
DIR_NAME=$(basename "$PWD")
|
|
28
|
-
|
|
29
|
-
# Build the final title with directory prefix and optional custom prefix
|
|
30
|
-
if [ -n "$CLAUDE_TITLE_PREFIX" ]; then
|
|
31
|
-
# Sanitize prefix as well
|
|
32
|
-
PREFIX=$(echo "$CLAUDE_TITLE_PREFIX" | tr -d '\000-\037' | head -c 20)
|
|
33
|
-
if [ -n "$PREFIX" ]; then
|
|
34
|
-
FINAL_TITLE="${PREFIX} ${DIR_NAME} | ${TITLE}"
|
|
35
|
-
else
|
|
36
|
-
FINAL_TITLE="${DIR_NAME} | ${TITLE}"
|
|
37
|
-
fi
|
|
38
|
-
else
|
|
39
|
-
FINAL_TITLE="${DIR_NAME} | ${TITLE}"
|
|
40
|
-
fi
|
|
41
|
-
|
|
42
|
-
# Store the title in a file that shell hooks can read
|
|
43
|
-
# This allows precmd hooks (like update_terminal_cwd) to preserve the title
|
|
44
|
-
# Use atomic write to prevent race conditions
|
|
45
|
-
TITLE_FILE="${HOME}/.claude/terminal_title"
|
|
46
|
-
mkdir -p "${HOME}/.claude"
|
|
47
|
-
|
|
48
|
-
# Atomic write using temp file + rename
|
|
49
|
-
TEMP_FILE="${TITLE_FILE}.tmp.$$"
|
|
50
|
-
echo "$FINAL_TITLE" > "$TEMP_FILE"
|
|
51
|
-
mv "$TEMP_FILE" "$TITLE_FILE" 2>/dev/null || rm -f "$TEMP_FILE"
|
|
52
|
-
|
|
53
|
-
# Set the terminal title using ANSI escape sequences
|
|
54
|
-
# Detect terminal type and set title accordingly
|
|
55
|
-
case "$TERM" in
|
|
56
|
-
xterm*|rxvt*|screen*|tmux*)
|
|
57
|
-
# Standard xterm-compatible terminals
|
|
58
|
-
printf '\033]0;%s\007' "$FINAL_TITLE"
|
|
59
|
-
;;
|
|
60
|
-
*)
|
|
61
|
-
# Fallback: try anyway, suppress errors
|
|
62
|
-
# This works for iTerm2, Alacritty, and most modern terminals
|
|
63
|
-
printf '\033]0;%s\007' "$FINAL_TITLE" 2>/dev/null
|
|
64
|
-
;;
|
|
65
|
-
esac
|