#!/usr/bin/env bash # claude-harness: каркас нового проекта под обвязку. # Запуск: bash new-project.sh <папка> [ssh-url репозитория в Gitea] set -euo pipefail HERE="$(cd "$(dirname "$0")" && pwd)" DIR="${1:?usage: new-project.sh [git-remote-url]}" REMOTE="${2:-}" NAME="$(basename "$DIR")" mkdir -p "$DIR" && cd "$DIR" [ -d .git ] || git init -b main sed "s/{{PROJECT_NAME}}/$NAME/" "$HERE/project-template/CLAUDE.md" > CLAUDE.md cp "$HERE/project-template/ARCHITECTURE.md" ARCHITECTURE.md cp "$HERE/project-template/gitignore" .gitignore mkdir -p tests/fixtures docs/superpowers/plans if command -v openspec >/dev/null 2>&1; then [ -d openspec ] || openspec init --tools claude 2>/dev/null || openspec init else echo "WARN: openspec не установлен (npm i -g @fission-ai/openspec)" fi if command -v codegraph >/dev/null 2>&1; then [ -d .codegraph ] || codegraph init >/dev/null 2>&1 || echo "WARN: codegraph init не удался" fi git add -A git commit -qm "chore: bootstrap project skeleton (claude-harness)" || true if [ -n "$REMOTE" ]; then git remote get-url origin >/dev/null 2>&1 || git remote add origin "$REMOTE" git push -u origin main fi cat <