docs: 기본 파일 구조, .gitignore, CLAUDE.md, README.md, 및 작업 관리 시스템을 위한 설정 파일 추가

This commit is contained in:
2025-07-13 20:18:27 +09:00
parent 7348efd65b
commit abb1ee7e71
50 changed files with 5161 additions and 1 deletions

70
.claude/scripts/tree.sh Normal file
View File

@ -0,0 +1,70 @@
#!/bin/bash
# Custom folders to ignore (in addition to .gitignore)
CUSTOM_IGNORE="public|migrations"
# Parse tsconfig.json exclude patterns
TSCONFIG_IGNORE=""
if [ -f "tsconfig.json" ]; then
# Extract exclude patterns from tsconfig.json
# Parse the JSON properly and handle wildcards
TSCONFIG_PATTERNS=$(node -e "
const fs = require('fs');
const tsconfig = JSON.parse(fs.readFileSync('tsconfig.json', 'utf8'));
if (tsconfig.exclude) {
const patterns = tsconfig.exclude.map(p => {
// Remove leading **/ and trailing /*
return p.replace(/^\*\*\//, '').replace(/\/\*$/, '').replace(/^\*\*/, '');
}).filter(p => p && !p.includes('*'));
console.log(patterns.join('|'));
}
" 2>/dev/null || echo "")
if [ -n "$TSCONFIG_PATTERNS" ]; then
TSCONFIG_IGNORE="|$TSCONFIG_PATTERNS"
fi
fi
# Combine all ignore patterns
FULL_IGNORE=".git|*.bak|$CUSTOM_IGNORE$TSCONFIG_IGNORE"
# Output file
OUTPUT=".taskmaster/docs/project-structure.md"
# Create directory if it doesn't exist
mkdir -p .taskmaster/docs
# Header
cat > "$OUTPUT" << 'EOF'
# Project Structure
EOF
echo "_Last Updated: $(date +%Y-%m-%d)_" >> "$OUTPUT"
echo "" >> "$OUTPUT"
echo '```' >> "$OUTPUT"
# Backup original .gitignore
cp .gitignore .gitignore.bak
# Remove !.* line temporarily (both commented and uncommented versions)
grep -v '^!\.\*' .gitignore | grep -v '^# !\.\*' > .gitignore.tmp && mv .gitignore.tmp .gitignore
# Use tree with gitignore (now without !.* line)
tree --gitignore \
-a \
-I "$FULL_IGNORE" \
--dirsfirst \
>> "$OUTPUT"
# Restore original .gitignore
mv .gitignore.bak .gitignore
# Close code block
echo '```' >> "$OUTPUT"
echo "" >> "$OUTPUT"
echo "Project structure written to $OUTPUT"
# Output the contents to stdout as well
cat "$OUTPUT"