@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.
Files changed (71) hide show
  1. package/README.md +2 -2
  2. package/claude-plugin.json +1 -1
  3. package/docs/CHEATSHEET.md +1 -1
  4. package/docs/QUICKSTART.md +1 -1
  5. package/framework/CLAUDE.md +5 -69
  6. package/framework/agents/backend/api-designer.md +3 -0
  7. package/framework/agents/backend/dotnet-senior.md +3 -0
  8. package/framework/agents/backend/ef-modeler.md +2 -0
  9. package/framework/agents/backend/hangfire-orchestrator.md +2 -0
  10. package/framework/agents/backend/ms-agent-expert.md +2 -0
  11. package/framework/agents/frontend/blazor-builder.md +2 -0
  12. package/framework/agents/frontend/nextjs-expert.md +2 -0
  13. package/framework/agents/infrastructure/azure-architect.md +2 -0
  14. package/framework/agents/infrastructure/azure-deploy-specialist.md +2 -0
  15. package/framework/agents/infrastructure/bicep-architect.md +2 -0
  16. package/framework/agents/infrastructure/container-specialist.md +2 -0
  17. package/framework/agents/infrastructure/devops-engineer.md +3 -0
  18. package/framework/agents/infrastructure/infra-architect.md +3 -0
  19. package/framework/agents/integrations/asaas-financial.md +2 -0
  20. package/framework/agents/integrations/azure-identity.md +2 -0
  21. package/framework/agents/integrations/clerk-auth.md +3 -0
  22. package/framework/agents/integrations/hangfire-integration.md +2 -0
  23. package/framework/agents/integrations/resend-email.md +2 -0
  24. package/framework/commands/morph-apply.md +151 -161
  25. package/framework/commands/morph-archive.md +28 -28
  26. package/framework/commands/morph-infra.md +79 -79
  27. package/framework/commands/morph-preflight.md +92 -56
  28. package/framework/commands/morph-proposal.md +94 -70
  29. package/framework/commands/morph-status.md +31 -31
  30. package/framework/commands/morph-troubleshoot.md +63 -60
  31. package/framework/rules/csharp-standards.md +3 -0
  32. package/framework/rules/frontend-standards.md +2 -0
  33. package/framework/rules/infrastructure-standards.md +3 -0
  34. package/framework/rules/morph-workflow.md +57 -2
  35. package/framework/rules/nextjs-standards.md +2 -0
  36. package/framework/rules/testing-standards.md +3 -0
  37. package/framework/skills/level-0-meta/morph-brainstorming/SKILL.md +54 -49
  38. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +42 -19
  39. package/framework/skills/level-0-meta/morph-code-review/SKILL.md +8 -5
  40. package/framework/skills/level-0-meta/morph-code-review-nextjs/SKILL.md +7 -5
  41. package/framework/skills/level-0-meta/morph-frontend-review/SKILL.md +139 -136
  42. package/framework/skills/level-0-meta/morph-init/SKILL.md +42 -13
  43. package/framework/skills/level-0-meta/morph-post-implementation/SKILL.md +130 -130
  44. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +95 -87
  45. package/framework/skills/level-0-meta/morph-simulation-checklist/SKILL.md +24 -0
  46. package/framework/skills/level-0-meta/morph-tool-usage-guide/SKILL.md +42 -41
  47. package/framework/skills/level-0-meta/morph-verification-before-completion/SKILL.md +22 -11
  48. package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +123 -114
  49. package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +120 -102
  50. package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +206 -214
  51. package/framework/skills/level-1-workflows/morph-phase-implement/.morph/logs/activity.json +38 -0
  52. package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +241 -360
  53. package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +107 -115
  54. package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +135 -135
  55. package/framework/skills/level-1-workflows/morph-phase-tasks/.morph/logs/activity.json +14 -0
  56. package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +143 -139
  57. package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +168 -165
  58. package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +57 -8
  59. package/package.json +3 -3
  60. package/src/commands/project/doctor.js +7 -2
  61. package/src/commands/project/update.js +4 -4
  62. package/src/lib/stack-filter.js +58 -0
  63. package/src/scripts/setup-infra.js +53 -18
  64. package/src/utils/agents-installer.js +19 -5
  65. package/src/utils/claude-md-injector.js +90 -0
  66. package/src/utils/hooks-installer.js +1 -4
  67. package/src/utils/skills-installer.js +67 -7
  68. package/CLAUDE.md +0 -98
  69. package/framework/memory/patterns-learned.md +0 -766
  70. package/framework/skills/level-0-meta/morph-terminal-title/SKILL.md +0 -61
  71. 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