72 lines
2.1 KiB
Bash
Executable File
72 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
#
|
|
# Extract Project Files
|
|
#
|
|
# Extracts content from:
|
|
# - README.md
|
|
# - CHANGELOG.md
|
|
# - CONTRIBUTING.md (if exists)
|
|
#
|
|
|
|
set -e
|
|
|
|
# Colors
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m'
|
|
|
|
# Configuration
|
|
PROJECT_DIR="$(pwd)"
|
|
DATA_DIR="${PROJECT_DIR}/.claude/docs-extraction/data"
|
|
OUTPUT_FILE="${DATA_DIR}/project_files.json"
|
|
|
|
mkdir -p "${DATA_DIR}"
|
|
|
|
echo "Extracting project files..."
|
|
|
|
# Start JSON
|
|
echo '{' > "${OUTPUT_FILE}"
|
|
echo ' "extraction_date": "'$(date -u +"%Y-%m-%dT%H:%M:%SZ")'",' >> "${OUTPUT_FILE}"
|
|
|
|
# Extract README.md
|
|
if [ -f "${PROJECT_DIR}/README.md" ]; then
|
|
echo ' "readme": {' >> "${OUTPUT_FILE}"
|
|
echo ' "exists": true,' >> "${OUTPUT_FILE}"
|
|
echo ' "path": "README.md",' >> "${OUTPUT_FILE}"
|
|
# Get first 100 lines as preview
|
|
readme_content=$(head -100 "${PROJECT_DIR}/README.md" | sed 's/"/\\"/g' | sed ':a;N;$!ba;s/\n/\\n/g')
|
|
echo ' "content_preview": "'${readme_content}'"' >> "${OUTPUT_FILE}"
|
|
echo ' },' >> "${OUTPUT_FILE}"
|
|
else
|
|
echo ' "readme": { "exists": false },' >> "${OUTPUT_FILE}"
|
|
fi
|
|
|
|
# Extract CHANGELOG.md
|
|
if [ -f "${PROJECT_DIR}/CHANGELOG.md" ]; then
|
|
echo ' "changelog": {' >> "${OUTPUT_FILE}"
|
|
echo ' "exists": true,' >> "${OUTPUT_FILE}"
|
|
echo ' "path": "CHANGELOG.md",' >> "${OUTPUT_FILE}"
|
|
# Get first 50 lines as preview
|
|
changelog_content=$(head -50 "${PROJECT_DIR}/CHANGELOG.md" | sed 's/"/\\"/g' | sed ':a;N;$!ba;s/\n/\\n/g')
|
|
echo ' "content_preview": "'${changelog_content}'"' >> "${OUTPUT_FILE}"
|
|
echo ' },' >> "${OUTPUT_FILE}"
|
|
else
|
|
echo ' "changelog": { "exists": false },' >> "${OUTPUT_FILE}"
|
|
fi
|
|
|
|
# Extract CONTRIBUTING.md
|
|
if [ -f "${PROJECT_DIR}/CONTRIBUTING.md" ]; then
|
|
echo ' "contributing": {' >> "${OUTPUT_FILE}"
|
|
echo ' "exists": true,' >> "${OUTPUT_FILE}"
|
|
echo ' "path": "CONTRIBUTING.md"' >> "${OUTPUT_FILE}"
|
|
echo ' }' >> "${OUTPUT_FILE}"
|
|
else
|
|
echo ' "contributing": { "exists": false }' >> "${OUTPUT_FILE}"
|
|
fi
|
|
|
|
# Close JSON
|
|
echo '}' >> "${OUTPUT_FILE}"
|
|
|
|
echo -e "${GREEN}✓ Project files extracted: ${OUTPUT_FILE}${NC}"
|