telo3-ai 5.0.7 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -791
- package/SKILL.md +36 -657
- package/bootstrap/TELO3.md +17 -0
- package/cli.js +223 -42
- package/hooks/inject-contract.mjs +23 -0
- package/hooks/session-start.example.json +15 -0
- package/index.js +48 -14
- package/package.json +32 -69
- package/references/accessibility-quality.md +92 -272
- package/references/ai-behavior.md +70 -332
- package/references/anti-slop.md +71 -0
- package/references/document-specification.md +110 -419
- package/references/legal-compliance.md +90 -395
- package/references/performance-quality.md +100 -351
- package/references/privacy-compliance.md +88 -464
- package/references/project-audit.md +79 -440
- package/references/security-quality.md +68 -220
- package/references/seo-quality.md +83 -339
- package/references/smart-skill-delegation.md +73 -419
- package/references/token-optimization.md +83 -450
- package/references/ui-quality.md +106 -481
- package/references/workflow.md +91 -447
- package/scripts/postinstall.mjs +27 -0
- package/src/activate.js +159 -0
- package/src/context.js +72 -0
- package/src/find-context.js +41 -0
- package/src/init.js +38 -0
- package/src/install.js +128 -0
- package/src/paths.js +20 -0
- package/src/status.js +30 -0
- package/src/tokens.js +10 -0
- package/src/validate.js +220 -0
- package/src/version.js +12 -0
- package/templates/architecture.md +17 -398
- package/templates/design.md +22 -631
- package/templates/memory.md +13 -351
- package/templates/prd.md +15 -295
- package/templates/rules.md +20 -600
- package/templates/tasks.md +10 -210
- package/AI-CONTEXT.md +0 -272
- package/ONBOARDING-SKILL.md +0 -738
- package/SKILL-METADATA.json +0 -237
- package/scripts/init-project-context.sh +0 -139
- package/scripts/validate-project-context.sh +0 -164
- package/skills/telo3/SKILL.md +0 -315
- package/skills/telo3-context/SKILL.md +0 -272
- package/skills/telo3-onboarding/SKILL.md +0 -738
package/SKILL-METADATA.json
DELETED
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "Telo3",
|
|
3
|
-
"version": "5.0.0",
|
|
4
|
-
"description": "Elite AI development framework with smart onboarding. AI detects empty projects, asks smart questions, and builds production-ready code. 6-document system + 11 quality frameworks + token optimization + intelligent skill delegation. Transform any AI into systematic engineer.",
|
|
5
|
-
"author": {
|
|
6
|
-
"name": "Jeet",
|
|
7
|
-
"github": "jeet1511",
|
|
8
|
-
"email": "contact@jeet1511.dev"
|
|
9
|
-
},
|
|
10
|
-
"keywords": [
|
|
11
|
-
"ai-coding",
|
|
12
|
-
"ai-agent",
|
|
13
|
-
"smart-onboarding",
|
|
14
|
-
"project-planning",
|
|
15
|
-
"empty-project",
|
|
16
|
-
"auto-setup",
|
|
17
|
-
"intelligent-conversation",
|
|
18
|
-
"project-context",
|
|
19
|
-
"ai-memory",
|
|
20
|
-
"systematic-engineering",
|
|
21
|
-
"kiro-skill",
|
|
22
|
-
"cursor-rules",
|
|
23
|
-
"claude-artifacts",
|
|
24
|
-
"github-copilot",
|
|
25
|
-
"ai-development",
|
|
26
|
-
"anti-vibe-coding",
|
|
27
|
-
"token-optimization",
|
|
28
|
-
"caveman-mode",
|
|
29
|
-
"smart-delegation",
|
|
30
|
-
"mcp-integration",
|
|
31
|
-
"context-management",
|
|
32
|
-
"ai-documentation",
|
|
33
|
-
"code-quality",
|
|
34
|
-
"security-framework",
|
|
35
|
-
"privacy-compliance",
|
|
36
|
-
"legal-awareness",
|
|
37
|
-
"accessibility-wcag",
|
|
38
|
-
"seo-optimization",
|
|
39
|
-
"performance-audit",
|
|
40
|
-
"architectural-patterns",
|
|
41
|
-
"design-system",
|
|
42
|
-
"persistent-memory",
|
|
43
|
-
"ai-guardrails",
|
|
44
|
-
"compliance-automation",
|
|
45
|
-
"project-memory",
|
|
46
|
-
"engineering-discipline",
|
|
47
|
-
"coppa-compliance",
|
|
48
|
-
"can-spam",
|
|
49
|
-
"dmca-awareness",
|
|
50
|
-
"gdpr-privacy",
|
|
51
|
-
"nextjs",
|
|
52
|
-
"react",
|
|
53
|
-
"typescript",
|
|
54
|
-
"framework-agnostic",
|
|
55
|
-
"production-ready",
|
|
56
|
-
"open-source-skill",
|
|
57
|
-
"ai-assistant",
|
|
58
|
-
"chatgpt-integration",
|
|
59
|
-
"claude-integration",
|
|
60
|
-
"gemini-integration",
|
|
61
|
-
"ai-skill-system",
|
|
62
|
-
"developer-productivity",
|
|
63
|
-
"code-generation",
|
|
64
|
-
"ai-best-practices"
|
|
65
|
-
],
|
|
66
|
-
"categories": [
|
|
67
|
-
"AI Development",
|
|
68
|
-
"Code Quality",
|
|
69
|
-
"Project Management",
|
|
70
|
-
"Documentation",
|
|
71
|
-
"Security",
|
|
72
|
-
"Compliance",
|
|
73
|
-
"Performance",
|
|
74
|
-
"Accessibility"
|
|
75
|
-
],
|
|
76
|
-
"tags": [
|
|
77
|
-
"ai",
|
|
78
|
-
"coding-assistant",
|
|
79
|
-
"project-context",
|
|
80
|
-
"documentation",
|
|
81
|
-
"quality-assurance",
|
|
82
|
-
"security",
|
|
83
|
-
"privacy",
|
|
84
|
-
"compliance",
|
|
85
|
-
"seo",
|
|
86
|
-
"accessibility",
|
|
87
|
-
"performance",
|
|
88
|
-
"token-efficient",
|
|
89
|
-
"systematic-development"
|
|
90
|
-
],
|
|
91
|
-
"homepage": "https://github.com/jeet1511/telo3",
|
|
92
|
-
"repository": {
|
|
93
|
-
"type": "git",
|
|
94
|
-
"url": "https://github.com/jeet1511/telo3.git"
|
|
95
|
-
},
|
|
96
|
-
"bugs": {
|
|
97
|
-
"url": "https://github.com/jeet1511/telo3/issues"
|
|
98
|
-
},
|
|
99
|
-
"license": "MIT",
|
|
100
|
-
"skillType": "comprehensive",
|
|
101
|
-
"compatibility": {
|
|
102
|
-
"aiPlatforms": [
|
|
103
|
-
"Kiro IDE",
|
|
104
|
-
"Cursor",
|
|
105
|
-
"GitHub Copilot",
|
|
106
|
-
"Claude (Anthropic)",
|
|
107
|
-
"ChatGPT (OpenAI)",
|
|
108
|
-
"Gemini (Google)",
|
|
109
|
-
"Any AI coding assistant"
|
|
110
|
-
],
|
|
111
|
-
"frameworks": [
|
|
112
|
-
"React",
|
|
113
|
-
"Next.js",
|
|
114
|
-
"Vue",
|
|
115
|
-
"Svelte",
|
|
116
|
-
"Angular",
|
|
117
|
-
"Node.js",
|
|
118
|
-
"Python",
|
|
119
|
-
"Go",
|
|
120
|
-
"Rust",
|
|
121
|
-
"Any framework"
|
|
122
|
-
]
|
|
123
|
-
},
|
|
124
|
-
"features": {
|
|
125
|
-
"core": [
|
|
126
|
-
"6-Document Project Context System",
|
|
127
|
-
"Persistent AI Memory",
|
|
128
|
-
"Anti-Vibe-Coding Framework",
|
|
129
|
-
"Token Optimization (80% savings)",
|
|
130
|
-
"Caveman Mode (ultra-concise)",
|
|
131
|
-
"Smart Skill Delegation",
|
|
132
|
-
"MCP Integration Intelligence"
|
|
133
|
-
],
|
|
134
|
-
"quality": [
|
|
135
|
-
"Security Audit Framework",
|
|
136
|
-
"Privacy Compliance (GDPR, COPPA, etc.)",
|
|
137
|
-
"Legal Awareness (CAN-SPAM, DMCA, etc.)",
|
|
138
|
-
"SEO Optimization",
|
|
139
|
-
"WCAG 2.1 Accessibility",
|
|
140
|
-
"Core Web Vitals Performance",
|
|
141
|
-
"UI Quality (Anti-Generic-AI)"
|
|
142
|
-
],
|
|
143
|
-
"efficiency": [
|
|
144
|
-
"Selective Context Loading",
|
|
145
|
-
"Minimal Token Usage",
|
|
146
|
-
"Smart Tool Selection",
|
|
147
|
-
"Adaptive Learning",
|
|
148
|
-
"Automatic MCP Detection",
|
|
149
|
-
"Concise Communication"
|
|
150
|
-
]
|
|
151
|
-
},
|
|
152
|
-
"stats": {
|
|
153
|
-
"files": 31,
|
|
154
|
-
"templates": 6,
|
|
155
|
-
"references": 13,
|
|
156
|
-
"examples": 1,
|
|
157
|
-
"scripts": 2,
|
|
158
|
-
"documentation": "Comprehensive"
|
|
159
|
-
},
|
|
160
|
-
"quickStart": {
|
|
161
|
-
"install": "git clone https://github.com/jeet1511/telo3.git ~/telo3",
|
|
162
|
-
"initialize": "cd your-project && ~/telo3/scripts/init-project-context.sh",
|
|
163
|
-
"activate": "Tell AI: 'Use Telo3 skill. Read AI-CONTEXT.md first.'"
|
|
164
|
-
},
|
|
165
|
-
"seo": {
|
|
166
|
-
"title": "Telo3 - Elite AI Development Framework by Jeet",
|
|
167
|
-
"description": "Transform AI coding agents from vibe coders to systematic engineers. 6-document context system + quality frameworks + 80% token savings. Stop hallucination, drift, and security mistakes.",
|
|
168
|
-
"image": "/social-preview.png",
|
|
169
|
-
"sitemap": true,
|
|
170
|
-
"robots": "index, follow"
|
|
171
|
-
},
|
|
172
|
-
"social": {
|
|
173
|
-
"twitter": "@jeet1511",
|
|
174
|
-
"linkedIn": "jeet1511",
|
|
175
|
-
"discord": "https://discord.gg/telo3"
|
|
176
|
-
},
|
|
177
|
-
"metrics": {
|
|
178
|
-
"tokenSavings": "80%",
|
|
179
|
-
"speedIncrease": "5x",
|
|
180
|
-
"qualityDimensions": 11,
|
|
181
|
-
"supportedFrameworks": "All",
|
|
182
|
-
"communityRating": "⭐⭐⭐⭐⭐"
|
|
183
|
-
},
|
|
184
|
-
"discoverability": {
|
|
185
|
-
"searchTerms": [
|
|
186
|
-
"best ai coding skill",
|
|
187
|
-
"ai project context",
|
|
188
|
-
"stop ai hallucination",
|
|
189
|
-
"ai memory system",
|
|
190
|
-
"systematic ai coding",
|
|
191
|
-
"ai token optimization",
|
|
192
|
-
"kiro best skills",
|
|
193
|
-
"cursor best extensions",
|
|
194
|
-
"ai coding framework",
|
|
195
|
-
"project documentation ai",
|
|
196
|
-
"ai compliance framework",
|
|
197
|
-
"ai security audit",
|
|
198
|
-
"anti vibe coding",
|
|
199
|
-
"caveman mode ai",
|
|
200
|
-
"smart ai delegation",
|
|
201
|
-
"mcp skill integration"
|
|
202
|
-
],
|
|
203
|
-
"problemsSolved": [
|
|
204
|
-
"AI architectural drift",
|
|
205
|
-
"Forgotten project decisions",
|
|
206
|
-
"Generic AI aesthetics",
|
|
207
|
-
"Token waste",
|
|
208
|
-
"Security oversights",
|
|
209
|
-
"Privacy mistakes",
|
|
210
|
-
"Compliance gaps",
|
|
211
|
-
"Vibe coding",
|
|
212
|
-
"Inconsistent design",
|
|
213
|
-
"Lost context",
|
|
214
|
-
"Repeated explanations",
|
|
215
|
-
"Unnecessary rewrites"
|
|
216
|
-
]
|
|
217
|
-
},
|
|
218
|
-
"testimonials": [
|
|
219
|
-
{
|
|
220
|
-
"quote": "Telo3 transformed how our AI agents work. No more vibe coding!",
|
|
221
|
-
"author": "Senior Developer",
|
|
222
|
-
"role": "Lead Engineer"
|
|
223
|
-
}
|
|
224
|
-
],
|
|
225
|
-
"funding": {
|
|
226
|
-
"sponsor": "https://github.com/sponsors/jeet1511",
|
|
227
|
-
"buyMeACoffee": "https://buymeacoffee.com/jeet1511"
|
|
228
|
-
},
|
|
229
|
-
"created": "2024-12-20",
|
|
230
|
-
"updated": "2024-12-20",
|
|
231
|
-
"maturity": "production",
|
|
232
|
-
"status": "active",
|
|
233
|
-
"downloads": 0,
|
|
234
|
-
"stars": 0,
|
|
235
|
-
"forks": 0,
|
|
236
|
-
"contributors": 1
|
|
237
|
-
}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
#
|
|
4
|
-
# Project Context System Initialization Script
|
|
5
|
-
#
|
|
6
|
-
# Safely initializes project context documents without overwriting existing files.
|
|
7
|
-
# Usage: ./init-project-context.sh [target-directory]
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
set -e # Exit on error
|
|
11
|
-
|
|
12
|
-
# Colors for output
|
|
13
|
-
GREEN='\033[0;32m'
|
|
14
|
-
YELLOW='\033[1;33m'
|
|
15
|
-
RED='\033[0;31m'
|
|
16
|
-
NC='\033[0m' # No Color
|
|
17
|
-
|
|
18
|
-
# Script directory (where this script is located)
|
|
19
|
-
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
20
|
-
PROJECT_CONTEXT_SYSTEM_DIR="$(dirname "$SCRIPT_DIR")"
|
|
21
|
-
|
|
22
|
-
# Target directory (where to create project context)
|
|
23
|
-
TARGET_DIR="${1:-.}"
|
|
24
|
-
TARGET_DIR="$(cd "$TARGET_DIR" && pwd)"
|
|
25
|
-
|
|
26
|
-
# Context directory options
|
|
27
|
-
CONTEXT_DIR_OPTIONS=(
|
|
28
|
-
"project-context"
|
|
29
|
-
"docs/project-context"
|
|
30
|
-
"."
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
echo "=================================="
|
|
34
|
-
echo "Project Context System Initializer"
|
|
35
|
-
echo "=================================="
|
|
36
|
-
echo ""
|
|
37
|
-
|
|
38
|
-
# Check if templates directory exists
|
|
39
|
-
if [ ! -d "$PROJECT_CONTEXT_SYSTEM_DIR/templates" ]; then
|
|
40
|
-
echo -e "${RED}Error: Templates directory not found at $PROJECT_CONTEXT_SYSTEM_DIR/templates${NC}"
|
|
41
|
-
exit 1
|
|
42
|
-
fi
|
|
43
|
-
|
|
44
|
-
# Determine context directory
|
|
45
|
-
CONTEXT_DIR=""
|
|
46
|
-
for dir in "${CONTEXT_DIR_OPTIONS[@]}"; do
|
|
47
|
-
if [ -f "$TARGET_DIR/$dir/prd.md" ] || [ -f "$TARGET_DIR/$dir/architecture.md" ]; then
|
|
48
|
-
CONTEXT_DIR="$TARGET_DIR/$dir"
|
|
49
|
-
echo -e "${GREEN}✓ Found existing context at: $dir${NC}"
|
|
50
|
-
break
|
|
51
|
-
fi
|
|
52
|
-
done
|
|
53
|
-
|
|
54
|
-
# If no existing context found, ask user where to create
|
|
55
|
-
if [ -z "$CONTEXT_DIR" ]; then
|
|
56
|
-
echo "Where should project context be created?"
|
|
57
|
-
echo "1) project-context (recommended - clean separation)"
|
|
58
|
-
echo "2) docs/project-context (integrated with documentation)"
|
|
59
|
-
echo "3) . (project root - minimal structure)"
|
|
60
|
-
read -p "Choose [1-3, default: 1]: " choice
|
|
61
|
-
|
|
62
|
-
case $choice in
|
|
63
|
-
2) CONTEXT_DIR="$TARGET_DIR/docs/project-context" ;;
|
|
64
|
-
3) CONTEXT_DIR="$TARGET_DIR" ;;
|
|
65
|
-
*) CONTEXT_DIR="$TARGET_DIR/project-context" ;;
|
|
66
|
-
esac
|
|
67
|
-
fi
|
|
68
|
-
|
|
69
|
-
echo ""
|
|
70
|
-
echo "Target directory: $CONTEXT_DIR"
|
|
71
|
-
echo ""
|
|
72
|
-
|
|
73
|
-
# Create context directory if it doesn't exist
|
|
74
|
-
if [ ! -d "$CONTEXT_DIR" ]; then
|
|
75
|
-
echo -e "${YELLOW}Creating directory: $CONTEXT_DIR${NC}"
|
|
76
|
-
mkdir -p "$CONTEXT_DIR"
|
|
77
|
-
fi
|
|
78
|
-
|
|
79
|
-
# Template files to copy
|
|
80
|
-
TEMPLATES=(
|
|
81
|
-
"prd.md"
|
|
82
|
-
"architecture.md"
|
|
83
|
-
"rules.md"
|
|
84
|
-
"design.md"
|
|
85
|
-
"tasks.md"
|
|
86
|
-
"memory.md"
|
|
87
|
-
)
|
|
88
|
-
|
|
89
|
-
# Copy templates
|
|
90
|
-
CREATED=0
|
|
91
|
-
SKIPPED=0
|
|
92
|
-
|
|
93
|
-
for template in "${TEMPLATES[@]}"; do
|
|
94
|
-
SOURCE="$PROJECT_CONTEXT_SYSTEM_DIR/templates/$template"
|
|
95
|
-
DEST="$CONTEXT_DIR/$template"
|
|
96
|
-
|
|
97
|
-
if [ -f "$DEST" ]; then
|
|
98
|
-
echo -e "${YELLOW}⊗ Skipped (exists): $template${NC}"
|
|
99
|
-
SKIPPED=$((SKIPPED + 1))
|
|
100
|
-
elif [ -f "$SOURCE" ]; then
|
|
101
|
-
cp "$SOURCE" "$DEST"
|
|
102
|
-
echo -e "${GREEN}✓ Created: $template${NC}"
|
|
103
|
-
CREATED=$((CREATED + 1))
|
|
104
|
-
else
|
|
105
|
-
echo -e "${RED}✗ Template not found: $template${NC}"
|
|
106
|
-
fi
|
|
107
|
-
done
|
|
108
|
-
|
|
109
|
-
echo ""
|
|
110
|
-
echo "=================================="
|
|
111
|
-
echo "Initialization Complete"
|
|
112
|
-
echo "=================================="
|
|
113
|
-
echo ""
|
|
114
|
-
echo -e "${GREEN}Created: $CREATED files${NC}"
|
|
115
|
-
echo -e "${YELLOW}Skipped: $SKIPPED files (already exist)${NC}"
|
|
116
|
-
echo ""
|
|
117
|
-
|
|
118
|
-
if [ $CREATED -gt 0 ]; then
|
|
119
|
-
echo "Next steps:"
|
|
120
|
-
echo "1. Review and customize the created files"
|
|
121
|
-
echo "2. Fill in project-specific information"
|
|
122
|
-
echo "3. Remove placeholder sections not needed"
|
|
123
|
-
echo "4. Tell your AI agent to use SKILL.md from project-context-system"
|
|
124
|
-
echo ""
|
|
125
|
-
echo "Example AI instruction:"
|
|
126
|
-
echo " 'Use the project-context-system skill. Read $CONTEXT_DIR before making changes.'"
|
|
127
|
-
echo ""
|
|
128
|
-
fi
|
|
129
|
-
|
|
130
|
-
if [ $SKIPPED -gt 0 ]; then
|
|
131
|
-
echo -e "${YELLOW}Note: Existing files were preserved. To reinitialize, delete or rename them first.${NC}"
|
|
132
|
-
echo ""
|
|
133
|
-
fi
|
|
134
|
-
|
|
135
|
-
echo "Validation:"
|
|
136
|
-
echo " Run: $SCRIPT_DIR/validate-project-context.sh"
|
|
137
|
-
echo ""
|
|
138
|
-
|
|
139
|
-
exit 0
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
#
|
|
4
|
-
# Project Context System Validation Script
|
|
5
|
-
#
|
|
6
|
-
# Validates project context documents for common issues.
|
|
7
|
-
# Usage: ./validate-project-context.sh [context-directory]
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
set -e
|
|
11
|
-
|
|
12
|
-
# Colors for output
|
|
13
|
-
GREEN='\033[0;32m'
|
|
14
|
-
YELLOW='\033[1;33m'
|
|
15
|
-
RED='\033[0;31m'
|
|
16
|
-
NC='\033[0m'
|
|
17
|
-
|
|
18
|
-
# Target directory
|
|
19
|
-
TARGET_DIR="${1:-.}"
|
|
20
|
-
|
|
21
|
-
# Find context directory
|
|
22
|
-
CONTEXT_DIRS=(
|
|
23
|
-
"$TARGET_DIR/project-context"
|
|
24
|
-
"$TARGET_DIR/docs/project-context"
|
|
25
|
-
"$TARGET_DIR"
|
|
26
|
-
)
|
|
27
|
-
|
|
28
|
-
CONTEXT_DIR=""
|
|
29
|
-
for dir in "${CONTEXT_DIRS[@]}"; do
|
|
30
|
-
if [ -f "$dir/prd.md" ] || [ -f "$dir/architecture.md" ]; then
|
|
31
|
-
CONTEXT_DIR="$dir"
|
|
32
|
-
break
|
|
33
|
-
fi
|
|
34
|
-
done
|
|
35
|
-
|
|
36
|
-
if [ -z "$CONTEXT_DIR" ]; then
|
|
37
|
-
echo -e "${RED}Error: Could not find project context directory${NC}"
|
|
38
|
-
echo "Looked in:"
|
|
39
|
-
for dir in "${CONTEXT_DIRS[@]}"; do
|
|
40
|
-
echo " - $dir"
|
|
41
|
-
done
|
|
42
|
-
exit 1
|
|
43
|
-
fi
|
|
44
|
-
|
|
45
|
-
echo "======================================"
|
|
46
|
-
echo "Project Context Validation"
|
|
47
|
-
echo "======================================"
|
|
48
|
-
echo ""
|
|
49
|
-
echo "Context directory: $CONTEXT_DIR"
|
|
50
|
-
echo ""
|
|
51
|
-
|
|
52
|
-
# Required files
|
|
53
|
-
REQUIRED_FILES=(
|
|
54
|
-
"prd.md"
|
|
55
|
-
"architecture.md"
|
|
56
|
-
"rules.md"
|
|
57
|
-
"design.md"
|
|
58
|
-
"tasks.md"
|
|
59
|
-
"memory.md"
|
|
60
|
-
)
|
|
61
|
-
|
|
62
|
-
ERRORS=0
|
|
63
|
-
WARNINGS=0
|
|
64
|
-
|
|
65
|
-
# Check for required files
|
|
66
|
-
echo "Checking required files..."
|
|
67
|
-
for file in "${REQUIRED_FILES[@]}"; do
|
|
68
|
-
if [ -f "$CONTEXT_DIR/$file" ]; then
|
|
69
|
-
echo -e "${GREEN}✓ Found: $file${NC}"
|
|
70
|
-
else
|
|
71
|
-
echo -e "${RED}✗ Missing: $file${NC}"
|
|
72
|
-
ERRORS=$((ERRORS + 1))
|
|
73
|
-
fi
|
|
74
|
-
done
|
|
75
|
-
echo ""
|
|
76
|
-
|
|
77
|
-
# Check for secret patterns
|
|
78
|
-
echo "Checking for accidental secrets..."
|
|
79
|
-
SECRET_PATTERNS=(
|
|
80
|
-
"api_key"
|
|
81
|
-
"API_KEY"
|
|
82
|
-
"apiKey"
|
|
83
|
-
"secret_key"
|
|
84
|
-
"SECRET_KEY"
|
|
85
|
-
"secretKey"
|
|
86
|
-
"password.*=.*['\"]"
|
|
87
|
-
"token.*=.*['\"]"
|
|
88
|
-
"-----BEGIN.*PRIVATE KEY-----"
|
|
89
|
-
)
|
|
90
|
-
|
|
91
|
-
for file in "${REQUIRED_FILES[@]}"; do
|
|
92
|
-
if [ -f "$CONTEXT_DIR/$file" ]; then
|
|
93
|
-
for pattern in "${SECRET_PATTERNS[@]}"; do
|
|
94
|
-
if grep -i -q "$pattern" "$CONTEXT_DIR/$file" 2>/dev/null; then
|
|
95
|
-
echo -e "${YELLOW}⚠ Potential secret pattern in $file: $pattern${NC}"
|
|
96
|
-
WARNINGS=$((WARNINGS + 1))
|
|
97
|
-
fi
|
|
98
|
-
done
|
|
99
|
-
fi
|
|
100
|
-
done
|
|
101
|
-
|
|
102
|
-
if [ $WARNINGS -eq 0 ]; then
|
|
103
|
-
echo -e "${GREEN}✓ No obvious secret patterns found${NC}"
|
|
104
|
-
fi
|
|
105
|
-
echo ""
|
|
106
|
-
|
|
107
|
-
# Check for placeholder content
|
|
108
|
-
echo "Checking for placeholders..."
|
|
109
|
-
PLACEHOLDER_COUNT=0
|
|
110
|
-
for file in "${REQUIRED_FILES[@]}"; do
|
|
111
|
-
if [ -f "$CONTEXT_DIR/$file" ]; then
|
|
112
|
-
COUNT=$(grep -c "\[.*\]" "$CONTEXT_DIR/$file" 2>/dev/null || true)
|
|
113
|
-
if [ $COUNT -gt 5 ]; then
|
|
114
|
-
echo -e "${YELLOW}⚠ $file has $COUNT placeholder sections${NC}"
|
|
115
|
-
PLACEHOLDER_COUNT=$((PLACEHOLDER_COUNT + 1))
|
|
116
|
-
fi
|
|
117
|
-
fi
|
|
118
|
-
done
|
|
119
|
-
|
|
120
|
-
if [ $PLACEHOLDER_COUNT -eq 0 ]; then
|
|
121
|
-
echo -e "${GREEN}✓ Files appear customized${NC}"
|
|
122
|
-
else
|
|
123
|
-
echo -e "${YELLOW}Note: Some files have many placeholders. Consider customizing them.${NC}"
|
|
124
|
-
fi
|
|
125
|
-
echo ""
|
|
126
|
-
|
|
127
|
-
# Check file sizes (detect if they're still mostly template)
|
|
128
|
-
echo "Checking file sizes..."
|
|
129
|
-
for file in "${REQUIRED_FILES[@]}"; do
|
|
130
|
-
if [ -f "$CONTEXT_DIR/$file" ]; then
|
|
131
|
-
SIZE=$(wc -l < "$CONTEXT_DIR/$file")
|
|
132
|
-
if [ $SIZE -lt 10 ]; then
|
|
133
|
-
echo -e "${YELLOW}⚠ $file seems very short ($SIZE lines)${NC}"
|
|
134
|
-
WARNINGS=$((WARNINGS + 1))
|
|
135
|
-
fi
|
|
136
|
-
fi
|
|
137
|
-
done
|
|
138
|
-
echo ""
|
|
139
|
-
|
|
140
|
-
# Summary
|
|
141
|
-
echo "======================================"
|
|
142
|
-
echo "Validation Summary"
|
|
143
|
-
echo "======================================"
|
|
144
|
-
echo ""
|
|
145
|
-
|
|
146
|
-
if [ $ERRORS -eq 0 ] && [ $WARNINGS -eq 0 ]; then
|
|
147
|
-
echo -e "${GREEN}✓ All checks passed!${NC}"
|
|
148
|
-
echo ""
|
|
149
|
-
echo "Your project context appears valid."
|
|
150
|
-
exit 0
|
|
151
|
-
elif [ $ERRORS -eq 0 ]; then
|
|
152
|
-
echo -e "${YELLOW}⚠ Warnings: $WARNINGS${NC}"
|
|
153
|
-
echo -e "${GREEN}✓ Errors: 0${NC}"
|
|
154
|
-
echo ""
|
|
155
|
-
echo "Your project context is valid but has some warnings."
|
|
156
|
-
echo "Review the warnings above and address if needed."
|
|
157
|
-
exit 0
|
|
158
|
-
else
|
|
159
|
-
echo -e "${RED}✗ Errors: $ERRORS${NC}"
|
|
160
|
-
echo -e "${YELLOW}⚠ Warnings: $WARNINGS${NC}"
|
|
161
|
-
echo ""
|
|
162
|
-
echo "Please address the errors above."
|
|
163
|
-
exit 1
|
|
164
|
-
fi
|