Some checks are pending
CI — CoM Config Validation / Validate JSON Configs (push) Waiting to run
CI — CoM Config Validation / Validate YAML Configs (push) Waiting to run
CI — CoM Config Validation / Lint Shell Scripts (push) Waiting to run
CI — CoM Config Validation / Secret Detection (push) Waiting to run
CI — CoM Config Validation / Lint Markdown (push) Waiting to run
CI — CoM Config Validation / Validate CODEOWNERS (push) Waiting to run
Public, sanitized mirror of an AI orchestration command center: agents, skills, MCP servers, slash-command workflows. All infrastructure identifiers, hostnames, mesh IPs/subnets, repo paths, maintainer identity, and hardware fleet specifics scrubbed to <placeholders>; session debug logs and host-specific memory removed. No live credentials. Verified clean by automated leak sweep. See SANITIZATION.md. churchofmalware.org . authorized research only
72 lines
1.6 KiB
Bash
72 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
query="$1"
|
|
|
|
if [ -z "$query" ]; then
|
|
echo "❌ Please provide a search query"
|
|
echo "Usage: /pm:search <query>"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Searching for '$query'..."
|
|
echo ""
|
|
echo ""
|
|
|
|
echo "🔍 Search results for: '$query'"
|
|
echo "================================"
|
|
echo ""
|
|
|
|
# Search in PRDs
|
|
if [ -d ".claude/prds" ]; then
|
|
echo "📄 PRDs:"
|
|
results=$(grep -l -i "$query" .claude/prds/*.md 2>/dev/null)
|
|
if [ -n "$results" ]; then
|
|
for file in $results; do
|
|
name=$(basename "$file" .md)
|
|
matches=$(grep -c -i "$query" "$file")
|
|
echo " • $name ($matches matches)"
|
|
done
|
|
else
|
|
echo " No matches"
|
|
fi
|
|
echo ""
|
|
fi
|
|
|
|
# Search in Epics
|
|
if [ -d ".claude/epics" ]; then
|
|
echo "📚 Epics:"
|
|
results=$(find .claude/epics -name "epic.md" -exec grep -l -i "$query" {} \; 2>/dev/null)
|
|
if [ -n "$results" ]; then
|
|
for file in $results; do
|
|
epic_name=$(basename $(dirname "$file"))
|
|
matches=$(grep -c -i "$query" "$file")
|
|
echo " • $epic_name ($matches matches)"
|
|
done
|
|
else
|
|
echo " No matches"
|
|
fi
|
|
echo ""
|
|
fi
|
|
|
|
# Search in Tasks
|
|
if [ -d ".claude/epics" ]; then
|
|
echo "📝 Tasks:"
|
|
results=$(find .claude/epics -name "[0-9]*.md" -exec grep -l -i "$query" {} \; 2>/dev/null | head -10)
|
|
if [ -n "$results" ]; then
|
|
for file in $results; do
|
|
epic_name=$(basename $(dirname "$file"))
|
|
task_num=$(basename "$file" .md)
|
|
echo " • Task #$task_num in $epic_name"
|
|
done
|
|
else
|
|
echo " No matches"
|
|
fi
|
|
fi
|
|
|
|
# Summary
|
|
total=$(find .claude -name "*.md" -exec grep -l -i "$query" {} \; 2>/dev/null | wc -l)
|
|
echo ""
|
|
echo "📊 Total files with matches: $total"
|
|
|
|
exit 0
|