**Category:** Project
/plugin marketplace add nguyenthienthanh/ccpm-team-agents/plugin install nguyenthienthanh-aura-frog-aura-frog-2@nguyenthienthanh/ccpm-team-agentsproject/Category: Project
Priority: High
Syntax: project:init
Initialize Aura Frog for a project:
.claude/project-contexts/ for AI understanding.claude/
├── CLAUDE.md # References plugin for instructions
├── settings.local.json # Merged permissions from plugin
├── project-contexts/[project]/
│ ├── project-config.yaml # Tech stack, integrations
│ ├── conventions.md # Naming, structure patterns
│ ├── rules.md # Project-specific rules
│ └── examples.md # Code examples
├── logs/ # Workflow logs (git-ignored)
│ └── workflows/
└── session-context.toon # Cached patterns (auto-generated)
mkdir -p .claude/project-contexts .claude/logs/workflows
detection[6]{check,indicator,type}:
package.json + react,React/RN,frontend
package.json + next,Next.js,fullstack
composer.json + laravel,Laravel,backend
go.mod,Go,backend
requirements.txt,Python,backend
pubspec.yaml,Flutter,mobile
project:
name: {detected}
type: {detected}
tech_stack:
language: {detected}
framework: {detected}
styling: {detected}
testing: {detected}
integrations:
jira: {if JIRA_* env vars present}
figma: {if FIGMA_* env vars present}
Use sectioned template with auto-update support:
PLUGIN_DIR="$HOME/.claude/plugins/marketplaces/aurafrog/aura-frog"
PROJECT_ROOT=$(pwd)
PROJECT_NAME="[DETECTED_PROJECT_NAME]"
TECH_STACK="[DETECTED_TECH_STACK]"
PRIMARY_AGENT="[DETECTED_PRIMARY_AGENT]"
PROJECT_TYPE="[DETECTED_TYPE]"
CURRENT_DATE=$(date +%Y-%m-%d)
if [ ! -f "$PROJECT_ROOT/.claude/CLAUDE.md" ]; then
# Create from template
cp "$PLUGIN_DIR/templates/project-claude.md" "$PROJECT_ROOT/.claude/CLAUDE.md"
# Replace placeholders
sed -i '' "s/\[PROJECT_NAME\]/$PROJECT_NAME/g" "$PROJECT_ROOT/.claude/CLAUDE.md"
sed -i '' "s/\[TECH_STACK\]/$TECH_STACK/g" "$PROJECT_ROOT/.claude/CLAUDE.md"
sed -i '' "s/\[PRIMARY_AGENT\]/$PRIMARY_AGENT/g" "$PROJECT_ROOT/.claude/CLAUDE.md"
sed -i '' "s/\[PROJECT_TYPE\]/$PROJECT_TYPE/g" "$PROJECT_ROOT/.claude/CLAUDE.md"
sed -i '' "s/\[DATE\]/$CURRENT_DATE/g" "$PROJECT_ROOT/.claude/CLAUDE.md"
echo "✅ Created .claude/CLAUDE.md"
else
# Update AURA-FROG section, preserve USER-CUSTOM
bash "$PLUGIN_DIR/scripts/claude-md-update.sh" "$PROJECT_ROOT/.claude/CLAUDE.md"
echo "✅ Updated .claude/CLAUDE.md (AURA-FROG section refreshed)"
fi
Template sections:
<!-- AURA-FROG:START --> ... <!-- AURA-FROG:END --> - Auto-updated by plugin<!-- USER-CUSTOM:START --> ... <!-- USER-CUSTOM:END --> - Preserved during updatesCopy and merge plugin permissions to project:
PLUGIN_DIR="$HOME/.claude/plugins/marketplaces/aurafrog/aura-frog"
PROJECT_SETTINGS=".claude/settings.local.json"
if [ -f "$PLUGIN_DIR/settings.example.json" ]; then
if [ -f "$PROJECT_SETTINGS" ]; then
# Merge: combine allow arrays, keep deny from both
jq -s '.[0].permissions.allow + .[1].permissions.allow | unique' \
"$PLUGIN_DIR/settings.example.json" "$PROJECT_SETTINGS" > /tmp/merged_allow.json
jq -s '.[0].permissions.deny + .[1].permissions.deny | unique' \
"$PLUGIN_DIR/settings.example.json" "$PROJECT_SETTINGS" > /tmp/merged_deny.json
jq --slurpfile allow /tmp/merged_allow.json \
--slurpfile deny /tmp/merged_deny.json \
'{permissions: {allow: $allow[0], deny: $deny[0]}}' \
<<< '{}' > "$PROJECT_SETTINGS"
else
# Copy plugin settings as base
cp "$PLUGIN_DIR/settings.example.json" "$PROJECT_SETTINGS"
fi
echo "✅ Created/merged .claude/settings.local.json"
fi
Settings include:
If direnv installed, create .envrc for auto-loading.
project:reload-env to load integrationsproject-config.yamlconventions.md if neededVersion: 2.0.0