feat: complete task breakdown and checklist
- Generated comprehensive tasks.md with 16 major tasks and 94+ subtasks - Created interactive CHECKLIST.md with progress tracking and dashboard - Updated implementation plan with security-validated tech stack - Added phase-by-phase breakdown with dependencies and success criteria - Ready for Phase 0: Security Foundation & Environment Setup 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
81
.specify/scripts/create-new-feature.sh
Normal file
81
.specify/scripts/create-new-feature.sh
Normal file
@@ -0,0 +1,81 @@
|
||||
#!/bin/bash
|
||||
|
||||
# create-new-feature.sh - Spec-Driven Development Feature Creator
|
||||
# Usage: ./create-new-feature.sh --json "feature description"
|
||||
|
||||
set -e
|
||||
|
||||
FEATURE_DESCRIPTION=""
|
||||
JSON_OUTPUT=false
|
||||
|
||||
# Parse arguments
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--json)
|
||||
JSON_OUTPUT=true
|
||||
FEATURE_DESCRIPTION="$2"
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
FEATURE_DESCRIPTION="$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$FEATURE_DESCRIPTION" ]; then
|
||||
echo "Error: Feature description required"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Generate branch name from feature description
|
||||
BRANCH_NAME=$(echo "$FEATURE_DESCRIPTION" | \
|
||||
tr '[:upper:]' '[:lower:]' | \
|
||||
sed 's/[^a-z0-9]/-/g' | \
|
||||
sed 's/--*/-/g' | \
|
||||
sed 's/^-\|-$//g' | \
|
||||
cut -c1-50)
|
||||
|
||||
# Add feature prefix if not present
|
||||
if [[ ! "$BRANCH_NAME" =~ ^feature\/ ]]; then
|
||||
BRANCH_NAME="feature/$BRANCH_NAME"
|
||||
fi
|
||||
|
||||
# Get current directory (should be repo root)
|
||||
REPO_ROOT=$(pwd)
|
||||
SPEC_FILE="$REPO_ROOT/.specify/specs/${BRANCH_NAME#feature/}.md"
|
||||
|
||||
# Create directories if they don't exist
|
||||
mkdir -p "$(dirname "$SPEC_FILE")"
|
||||
|
||||
# Create and checkout new branch
|
||||
git checkout -b "$BRANCH_NAME" 2>/dev/null || git checkout "$BRANCH_NAME"
|
||||
|
||||
# Create initial spec file
|
||||
cat > "$SPEC_FILE" << 'EOF'
|
||||
# Feature Specification
|
||||
|
||||
## Overview
|
||||
[Feature description will be populated]
|
||||
|
||||
## Requirements
|
||||
[Requirements will be populated]
|
||||
|
||||
## Technical Design
|
||||
[Technical design will be populated]
|
||||
|
||||
## Implementation Plan
|
||||
[Implementation plan will be populated]
|
||||
|
||||
## Testing Strategy
|
||||
[Testing strategy will be populated]
|
||||
|
||||
EOF
|
||||
|
||||
# Output results
|
||||
if [ "$JSON_OUTPUT" = true ]; then
|
||||
echo "{\"BRANCH_NAME\":\"$BRANCH_NAME\",\"SPEC_FILE\":\"$SPEC_FILE\"}"
|
||||
else
|
||||
echo "Branch created: $BRANCH_NAME"
|
||||
echo "Spec file: $SPEC_FILE"
|
||||
fi
|
||||
73
.specify/scripts/setup-plan.sh
Normal file
73
.specify/scripts/setup-plan.sh
Normal file
@@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
|
||||
# setup-plan.sh - Setup Implementation Plan with Context7 + Web Research integration
|
||||
# Usage: ./setup-plan.sh --json
|
||||
|
||||
set -e
|
||||
|
||||
REPO_ROOT=$(pwd)
|
||||
JSON_OUTPUT=false
|
||||
|
||||
# Parse arguments
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--json)
|
||||
JSON_OUTPUT=true
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Define paths
|
||||
SPECS_DIR="$REPO_ROOT/.specify"
|
||||
FEATURE_SPEC="$SPECS_DIR/specs/wordpress-plugin-kivicare-appointment-control.md"
|
||||
IMPL_PLAN="$SPECS_DIR/plan.md"
|
||||
BRANCH=$(git branch --show-current)
|
||||
|
||||
# Create directories if needed
|
||||
mkdir -p "$SPECS_DIR/research"
|
||||
mkdir -p "$SPECS_DIR/contracts"
|
||||
mkdir -p "$SPECS_DIR/templates"
|
||||
|
||||
# Verify feature spec exists
|
||||
if [ ! -f "$FEATURE_SPEC" ]; then
|
||||
echo "Error: Feature specification not found at $FEATURE_SPEC"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create plan template if not exists
|
||||
if [ ! -f "$SPECS_DIR/templates/plan-template.md" ]; then
|
||||
cat > "$SPECS_DIR/templates/plan-template.md" << 'EOF'
|
||||
# Implementation Plan Template
|
||||
|
||||
## Context Analysis
|
||||
[To be filled by planning process]
|
||||
|
||||
## Architecture Design
|
||||
[To be filled by planning process]
|
||||
|
||||
## Implementation Phases
|
||||
[To be filled by planning process]
|
||||
|
||||
## Validation Gates
|
||||
[To be filled by planning process]
|
||||
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Copy template to plan location
|
||||
cp "$SPECS_DIR/templates/plan-template.md" "$IMPL_PLAN"
|
||||
|
||||
# Output JSON result
|
||||
if [ "$JSON_OUTPUT" = true ]; then
|
||||
echo "{\"FEATURE_SPEC\":\"$FEATURE_SPEC\",\"IMPL_PLAN\":\"$IMPL_PLAN\",\"SPECS_DIR\":\"$SPECS_DIR\",\"BRANCH\":\"$BRANCH\"}"
|
||||
else
|
||||
echo "Plan setup complete:"
|
||||
echo "Feature Spec: $FEATURE_SPEC"
|
||||
echo "Implementation Plan: $IMPL_PLAN"
|
||||
echo "Specs Directory: $SPECS_DIR"
|
||||
echo "Branch: $BRANCH"
|
||||
fi
|
||||
Reference in New Issue
Block a user