Projects with "type": "module" in package.json cause Node to treat gsd-tools.js as ESM, crashing on require(). The .cjs extension forces CommonJS regardless of the host project's module configuration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.3 KiB
1.3 KiB
Decimal Phase Calculation
Calculate the next decimal phase number for urgent insertions.
Using gsd-tools
# Get next decimal phase after phase 6
node ~/.claude/get-shit-done/bin/gsd-tools.cjs phase next-decimal 6
Output:
{
"found": true,
"base_phase": "06",
"next": "06.1",
"existing": []
}
With existing decimals:
{
"found": true,
"base_phase": "06",
"next": "06.3",
"existing": ["06.1", "06.2"]
}
Extract Values
DECIMAL_INFO=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs phase next-decimal "${AFTER_PHASE}")
DECIMAL_PHASE=$(echo "$DECIMAL_INFO" | jq -r '.next')
BASE_PHASE=$(echo "$DECIMAL_INFO" | jq -r '.base_phase')
Or with --raw flag:
DECIMAL_PHASE=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs phase next-decimal "${AFTER_PHASE}" --raw)
# Returns just: 06.1
Examples
| Existing Phases | Next Phase |
|---|---|
| 06 only | 06.1 |
| 06, 06.1 | 06.2 |
| 06, 06.1, 06.2 | 06.3 |
| 06, 06.1, 06.3 (gap) | 06.4 |
Directory Naming
Decimal phase directories use the full decimal number:
SLUG=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs generate-slug "$DESCRIPTION" --raw)
PHASE_DIR=".planning/phases/${DECIMAL_PHASE}-${SLUG}"
mkdir -p "$PHASE_DIR"
Example: .planning/phases/06.1-fix-critical-auth-bug/