docs: 초기 파일 추가 및 기본 설정 구성
- .git-commit-template.txt: 커밋 메시지 템플릿 추가 - .gitignore: OS 및 데이터베이스 관련 파일 무시 설정 추가 - .mcp.json: MCP 서버 설정 추가 - CLAUDE.md: SuperClaude 엔트리 포인트 문서 추가 - README.md: 프로젝트 템플릿 설명 추가 - .claude/COMMANDS.md: 명령어 실행 프레임워크 문서 추가 - .claude/FLAGS.md: 플래그 시스템 문서 추가 - .claude/MCP.md: MCP 서버 통합 문서 추가 - .claude/MODES.md: 운영 모드 문서 추가 - .claude/ORCHESTRATOR.md: 지능형 라우팅 시스템 문서 추가 - .claude/PERSONAS.md: 페르소나 시스템 문서 추가 - .claude/PRINCIPLES.md: 핵심 원칙 문서 추가 - .claude/RULES.md: 실행 가능한 규칙 문서 추가 - .claude/settings.json: 권한 설정 추가 - .claude/commands 디렉토리: 다양한 명령어 문서 추가 - .taskmaster/config.json: 기본 설정 파일 추가 - .taskmaster/docs 디렉토리: 문서 파일 추가 - .taskmaster/tasks/tasks.json: 기본 작업 파일 추가
This commit is contained in:
70
.claude/scripts/tree.sh
Normal file
70
.claude/scripts/tree.sh
Normal 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"
|
||||
Reference in New Issue
Block a user