Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:01:30 +08:00
commit 9c0b92f025
39 changed files with 9512 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
#!/bin/bash
# This script scaffolds the basic directory structure for a SynthesisFlow project.
set -e
usage() {
echo "Usage: $0 [-d <directory>]"
echo " -d <directory>: The root directory of the project to initialize. Defaults to the current directory."
exit 1
}
PROJECT_DIR="."
while getopts ":d:" opt; do
case ${opt} in
d )
PROJECT_DIR=$OPTARG
;;
\? )
echo "Invalid option: $OPTARG" 1>&2
usage
;;
: )
echo "Invalid option: $OPTARG requires an argument" 1>&2
usage
;;
esac
done
shift $((OPTIND -1))
# Ensure the project directory exists
mkdir -p "$PROJECT_DIR"
# Check if docs directory already exists with content
if [ -d "$PROJECT_DIR/docs" ]; then
# Count markdown files in docs/ (excluding docs/specs/ and docs/changes/)
EXISTING_DOCS=$(find "$PROJECT_DIR/docs" -type f -name "*.md" ! -path "*/specs/*" ! -path "*/changes/*" 2>/dev/null | wc -l)
if [ "$EXISTING_DOCS" -gt 0 ]; then
echo "⚠️ Existing documentation detected in $PROJECT_DIR/docs/"
echo ""
echo "Found $EXISTING_DOCS markdown file(s) that may need migration."
echo ""
echo "💡 Recommendation: Use the 'project-migrate' skill instead!"
echo ""
echo "The project-migrate skill will:"
echo " • Discover and catalog your existing documentation"
echo " • Suggest appropriate locations (specs/, changes/, or root)"
echo " • Migrate files while preserving git history"
echo " • Update relative links automatically"
echo " • Add doc-indexer compliant frontmatter"
echo " • Create backups for safe rollback"
echo ""
echo "To use project-migrate:"
echo " bash skills/project-migrate/scripts/project-migrate.sh"
echo ""
echo "Or continue with basic initialization (existing docs will be preserved)..."
read -p "Continue with project-init anyway? (y/N): " CONTINUE
if [[ ! "$CONTINUE" =~ ^[Yy]$ ]]; then
echo "Initialization cancelled. Use project-migrate skill to migrate existing docs."
exit 0
fi
fi
fi
echo "Initializing SynthesisFlow structure in $PROJECT_DIR..."
mkdir -p "$PROJECT_DIR/docs/specs"
mkdir -p "$PROJECT_DIR/docs/changes"
echo "✓ Done."