Initial commit: Spec Kit compliant project structure
- Set up spec-kit framework (checklist, decisions, scripts)
- Created project documentation (README, discovery questionnaire)
- Configured CI compliance checks
- Ready for discovery phase and client input
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
commit
0c0938169e
7 changed files with 586 additions and 0 deletions
36
.gitignore
vendored
Normal file
36
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# Dependencies
|
||||
node_modules/
|
||||
.pnp
|
||||
.pnp.js
|
||||
|
||||
# Testing
|
||||
coverage/
|
||||
*.log
|
||||
|
||||
# Production
|
||||
build/
|
||||
dist/
|
||||
.next/
|
||||
out/
|
||||
|
||||
# Environment
|
||||
.env
|
||||
.env.local
|
||||
.env.production.local
|
||||
.env.development.local
|
||||
|
||||
# Editor
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Misc
|
||||
*.tsbuildinfo
|
||||
.vercel
|
||||
.turbo
|
||||
105
README.md
Normal file
105
README.md
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
# 1000planets.cloud Marketing Site
|
||||
|
||||
**Status**: 🚧 In Development - Discovery Phase
|
||||
|
||||
A hypermodern, AI-forward marketing site that inspires confidence and showcases our automation platform with human-in-the-loop design.
|
||||
|
||||
## Vision
|
||||
|
||||
1000planets.cloud is the forward-facing site for our portfolio of AI-powered SaaS products. The site emphasizes:
|
||||
|
||||
- **Cost savings through automation** - Demonstrate ROI and efficiency gains
|
||||
- **Human-in-the-loop design** - Final approval and granular control at every stage
|
||||
- **Global, AI-forward mentality** - Cutting-edge technology with agnostic, scalable architecture
|
||||
- **Set-it-and-forget-it flexibility** - From hands-on to fully automated
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
1000planets-site/
|
||||
├── spec-kit/ # Spec Kit compliance framework
|
||||
│ ├── README.md # Spec Kit overview
|
||||
│ ├── checklist.md # Pre-release requirements
|
||||
│ ├── project-plan.md # Feature roadmap and phases
|
||||
│ ├── decisions/ # Architectural Decision Records (ADRs)
|
||||
│ └── scripts/
|
||||
│ └── ci-checks.sh # Compliance validation script
|
||||
├── docs/ # Project documentation
|
||||
├── src/ # Source code (TBD - based on tech stack)
|
||||
├── public/ # Static assets
|
||||
└── README.md # This file
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
**Prerequisites**: TBD (based on tech stack decision)
|
||||
|
||||
**Development**:
|
||||
```bash
|
||||
# Install dependencies
|
||||
npm install # or equivalent
|
||||
|
||||
# Run dev server
|
||||
npm run dev
|
||||
|
||||
# Run compliance checks
|
||||
bash spec-kit/scripts/ci-checks.sh
|
||||
|
||||
# Build for production
|
||||
npm run build
|
||||
```
|
||||
|
||||
## Spec Kit Compliance
|
||||
|
||||
This project follows the Spec Kit methodology. Before contributing:
|
||||
|
||||
1. Read `spec-kit/checklist.md` for requirements
|
||||
2. Document decisions in `spec-kit/decisions/`
|
||||
3. Update `spec-kit/project-plan.md` for new features
|
||||
4. Run `bash spec-kit/scripts/ci-checks.sh` before committing
|
||||
|
||||
## Current Phase: Discovery
|
||||
|
||||
We're currently in the **discovery and requirements phase**. See the [Client Discovery Questionnaire](docs/DISCOVERY.md) for details.
|
||||
|
||||
**Next Steps**:
|
||||
1. Complete client questionnaire
|
||||
2. Define tech stack and architecture
|
||||
3. Create design mockups
|
||||
4. Begin development
|
||||
|
||||
## Tech Stack
|
||||
|
||||
**Status**: TBD - To be decided in discovery phase
|
||||
|
||||
Considerations:
|
||||
- Next.js 14 (App Router)
|
||||
- Astro (for content-heavy sites)
|
||||
- Tailwind CSS + shadcn/ui
|
||||
- Framer Motion (animations)
|
||||
- Vercel / Netlify / Self-hosted
|
||||
|
||||
## Design Principles
|
||||
|
||||
- **Hypermodern aesthetics** - Clean, bold, cutting-edge
|
||||
- **Performance-first** - <90+ Lighthouse score
|
||||
- **Accessibility** - WCAG 2.1 AA minimum
|
||||
- **Mobile-first** - Responsive from phone to desktop
|
||||
- **Conversion-optimized** - Clear CTAs, frictionless forms
|
||||
|
||||
## Product Portfolio
|
||||
|
||||
Current products under 1000planets.cloud:
|
||||
- **Hotel Yield AI (Aspirant)** - AI-powered yield management for boutique hotels
|
||||
- **Microsite Automation** - Automated website generation for local businesses
|
||||
- **[Future Products]** - Additional vertical-specific AI SaaS offerings
|
||||
|
||||
## Contact & Support
|
||||
|
||||
- **Repository**: ssh://git@100.95.3.92:2222/runfoo-org/1000planets-site.git
|
||||
- **Domain**: 1000planets.cloud (verify configuration)
|
||||
- **Team**: @fullsizemalt
|
||||
|
||||
## License
|
||||
|
||||
Proprietary - All rights reserved
|
||||
213
docs/DISCOVERY.md
Normal file
213
docs/DISCOVERY.md
Normal file
|
|
@ -0,0 +1,213 @@
|
|||
# Client Discovery Questionnaire
|
||||
# 1000planets.cloud Marketing Site
|
||||
|
||||
**Date Started**: 2025-12-11
|
||||
**Status**: 🔄 In Progress - Awaiting Client Responses
|
||||
**Decision Required By**: TBD
|
||||
|
||||
---
|
||||
|
||||
## Part 1: Vision & Brand Identity
|
||||
|
||||
### 1.1 Brand Essence
|
||||
**Q: In one sentence, what is 1000planets.cloud?**
|
||||
- [ ] Response pending
|
||||
|
||||
**Q: What's the origin of the name "1000 Planets"?**
|
||||
- [ ] Response pending
|
||||
|
||||
### 1.2 Brand Personality
|
||||
Select 3-5 that resonate:
|
||||
- [ ] Innovative / Cutting-edge
|
||||
- [ ] Trustworthy / Reliable
|
||||
- [ ] Bold / Disruptive
|
||||
- [ ] Professional / Enterprise
|
||||
- [ ] Approachable / Friendly
|
||||
- [ ] Elite / Premium
|
||||
- [ ] Technical / Developer-focused
|
||||
- [ ] Other: ___________
|
||||
|
||||
### 1.3 Visual Direction
|
||||
**Q: Any brands/sites whose aesthetic you admire?**
|
||||
Examples: Vercel, Linear, Stripe, Notion, OpenAI, etc.
|
||||
- [ ] Response pending
|
||||
|
||||
**Q: Color preferences or existing brand colors?**
|
||||
- [ ] Response pending
|
||||
|
||||
**Q: Should it feel:**
|
||||
- [ ] Corporate & polished
|
||||
- [ ] Startup & edgy
|
||||
- [ ] Something else: ___________
|
||||
|
||||
---
|
||||
|
||||
## Part 2: Target Audience & Messaging
|
||||
|
||||
### 2.1 Primary Audience
|
||||
Rank 1-3 by priority:
|
||||
- [ ] Enterprise buyers (CTOs, VPs)
|
||||
- [ ] Small business owners
|
||||
- [ ] Agency partners / resellers
|
||||
- [ ] Developers / technical users
|
||||
- [ ] Investors / stakeholders
|
||||
|
||||
### 2.2 Key Value Propositions
|
||||
✅ **Confirmed priorities:**
|
||||
- Savings through automation
|
||||
- Human-in-the-loop (final approval control)
|
||||
- Granular control (set-it-and-forget-it flexibility)
|
||||
- Global, AI-forward mentality
|
||||
|
||||
**Q: What else should we emphasize?**
|
||||
- [ ] Vertical-specific expertise?
|
||||
- [ ] Speed to market?
|
||||
- [ ] Privacy/security?
|
||||
- [ ] Scalability?
|
||||
- [ ] Other: ___________
|
||||
|
||||
### 2.3 Pain Points We're Solving
|
||||
**Q: What are your customers struggling with before they find you?**
|
||||
- [ ] Response pending
|
||||
|
||||
---
|
||||
|
||||
## Part 3: Products & Services
|
||||
|
||||
### 3.1 Product Portfolio
|
||||
**Q: Should the site showcase:**
|
||||
- [ ] Individual products (Hotel Yield AI, Microsite Automation) separately?
|
||||
- [ ] Position 1000planets as a **platform** that solves different verticals?
|
||||
- [ ] Keep it high-level and let people discover products through sales?
|
||||
|
||||
### 3.2 Pricing Transparency
|
||||
**Q: Pricing approach:**
|
||||
- [ ] Display pricing publicly?
|
||||
- [ ] "Contact sales" approach?
|
||||
- [ ] Hybrid (show starting prices, contact for enterprise)?
|
||||
|
||||
---
|
||||
|
||||
## Part 4: Desired Actions & Conversions
|
||||
|
||||
### 4.1 Primary CTA
|
||||
**Q: What's the #1 action you want visitors to take?**
|
||||
- [ ] Book a demo
|
||||
- [ ] Start free trial
|
||||
- [ ] Contact sales
|
||||
- [ ] See products
|
||||
- [ ] Get a quote
|
||||
- [ ] Watch video
|
||||
- [ ] Other: ___________
|
||||
|
||||
### 4.2 Secondary Actions
|
||||
**Q: What else should visitors be able to do?**
|
||||
- [ ] Newsletter signup
|
||||
- [ ] Explore documentation
|
||||
- [ ] View case studies
|
||||
- [ ] Download resources
|
||||
- [ ] Other: ___________
|
||||
|
||||
---
|
||||
|
||||
## Part 5: Technical & Content Requirements
|
||||
|
||||
### 5.1 Tech Stack Preference
|
||||
**Static site (fast, simple):**
|
||||
- [ ] Next.js 14 (React, App Router)
|
||||
- [ ] Astro (content-focused, fast)
|
||||
- [ ] Other: ___________
|
||||
|
||||
**CMS needed?**
|
||||
- [ ] Yes - for blog/case studies (Contentful, Sanity, etc.)
|
||||
- [ ] No - static content only
|
||||
|
||||
**Hosting preference:**
|
||||
- [ ] Vercel (recommended for Next.js)
|
||||
- [ ] Netlify
|
||||
- [ ] Self-hosted on nexus-vector
|
||||
- [ ] Flexible / your recommendation
|
||||
|
||||
**Domain:**
|
||||
- [ ] 1000planets.cloud is registered and DNS configured
|
||||
- [ ] Needs DNS configuration
|
||||
- [ ] Need to register domain
|
||||
|
||||
### 5.2 Content Assets
|
||||
**Q: What do you have ready?**
|
||||
- [ ] Company logo
|
||||
- [ ] Product screenshots/demos
|
||||
- [ ] Team photos
|
||||
- [ ] Customer testimonials
|
||||
- [ ] Case studies
|
||||
- [ ] Video content
|
||||
- [ ] Blog posts
|
||||
- [ ] Other: ___________
|
||||
|
||||
### 5.3 Copy/Messaging
|
||||
**Q: Copy approach:**
|
||||
- [ ] You have existing copy/taglines (please provide)
|
||||
- [ ] You'll draft everything (I'll implement)
|
||||
- [ ] I should draft everything (you'll review/approve)
|
||||
- [ ] Collaborative - we'll iterate together
|
||||
|
||||
**Q: Any specific terminology or jargon to use/avoid?**
|
||||
- [ ] Response pending
|
||||
|
||||
---
|
||||
|
||||
## Part 6: Success Metrics & Timeline
|
||||
|
||||
### 6.1 What does success look like?
|
||||
**Q: Primary success metric:**
|
||||
- [ ] High conversion rate on demo bookings
|
||||
- [ ] Strong brand impression / credibility
|
||||
- [ ] SEO/organic traffic
|
||||
- [ ] Partner signups
|
||||
- [ ] Other: ___________
|
||||
|
||||
### 6.2 Timeline & Launch
|
||||
**Q: Target launch date?**
|
||||
- [ ] Response pending
|
||||
|
||||
**Q: Launch strategy:**
|
||||
- [ ] MVP first (minimal pages, iterate later)
|
||||
- [ ] Full site at once (all pages complete)
|
||||
- [ ] Phased (homepage first, add pages later)
|
||||
|
||||
### 6.3 Post-Launch
|
||||
**Q: Content updates:**
|
||||
- [ ] Will need to update content regularly (need CMS)
|
||||
- [ ] Static site, rare updates (no CMS needed)
|
||||
|
||||
**Q: Analytics:**
|
||||
- [ ] Google Analytics
|
||||
- [ ] Plausible (privacy-focused)
|
||||
- [ ] Both
|
||||
- [ ] None
|
||||
|
||||
**Q: A/B testing needed?**
|
||||
- [ ] Yes - for conversion optimization
|
||||
- [ ] No - not initially
|
||||
|
||||
---
|
||||
|
||||
## Summary & Next Steps
|
||||
|
||||
Once this questionnaire is complete, I will:
|
||||
|
||||
1. ✅ **Summarize** our plan in a creative brief
|
||||
2. ✅ **Document decisions** in `spec-kit/decisions/`
|
||||
3. ✅ **Show you layout examples** matching your vision
|
||||
4. ✅ **Get your approval** before writing code
|
||||
5. ✅ **Build iteratively** with milestone reviews
|
||||
|
||||
---
|
||||
|
||||
## Notes & Additional Context
|
||||
|
||||
[Add any additional context, requirements, or constraints here]
|
||||
|
||||
---
|
||||
|
||||
**Status**: ⏳ Awaiting client responses to proceed with technical decisions and design phase.
|
||||
35
spec-kit/README.md
Normal file
35
spec-kit/README.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# 1000planets.cloud Marketing Site - Spec Kit
|
||||
|
||||
This folder defines the **Spec Kit** development framework for the 1000planets.cloud marketing site. It documents compliance goals, decision records, and support artifacts so every change can be judged against the same standards.
|
||||
|
||||
## Sections
|
||||
|
||||
- `checklist.md`: High-level requirements that must be satisfied before a release or feature is merged.
|
||||
- `decisions/`: ADR-style writeups capturing architectural choices (tech stack, design system, deployment strategy, etc.).
|
||||
- `scripts/ci-checks.sh`: Quick verification script for local or CI execution to assert basic compliance.
|
||||
- `project-plan.md`: Pre-flight record listing features, phases, owners, and blockers.
|
||||
|
||||
## How to Use It
|
||||
|
||||
1. **Read the checklist** before starting work to understand expectations.
|
||||
2. **Record any substantial decision** in a new decision file inside `decisions/`.
|
||||
3. **Update `project-plan.md`** whenever you begin a new feature or phase.
|
||||
4. **Run `bash spec-kit/scripts/ci-checks.sh`** before submitting changes.
|
||||
|
||||
## Project Vision
|
||||
|
||||
This is the forward-facing marketing site for 1000planets.cloud - showcasing our AI-powered automation platform with human-in-the-loop design. The site must:
|
||||
|
||||
- Inspire confidence through hypermodern design
|
||||
- Emphasize cost savings through automation
|
||||
- Communicate granular control (set-it-and-forget-it flexibility)
|
||||
- Reflect a global, AI-forward mentality
|
||||
- Convert visitors to qualified leads/demos
|
||||
|
||||
## Compliance Philosophy
|
||||
|
||||
Every feature should:
|
||||
- Be documented before implementation
|
||||
- Include decision rationale in `decisions/`
|
||||
- Pass CI checks before merge
|
||||
- Align with brand guidelines and user experience goals
|
||||
54
spec-kit/checklist.md
Normal file
54
spec-kit/checklist.md
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
# Spec Kit Checklist
|
||||
|
||||
Before shipping a feature or merging a branch, confirm each item below is satisfied.
|
||||
|
||||
| Checklist Item | Status | Notes |
|
||||
|----------------|--------|-------|
|
||||
| ☐ Architecture / tech stack documented in decisions/ | | |
|
||||
| ☐ Design system / component library defined | | |
|
||||
| ☐ Brand guidelines documented (colors, typography, voice) | | |
|
||||
| ☐ Performance budget defined (Core Web Vitals targets) | | |
|
||||
| ☐ Accessibility standards met (WCAG 2.1 AA minimum) | | |
|
||||
| ☐ SEO meta tags and structure implemented | | |
|
||||
| ☐ Analytics / tracking configured | | |
|
||||
| ☐ Responsive design tested (mobile, tablet, desktop) | | |
|
||||
| ☐ Cross-browser compatibility verified | | |
|
||||
| ☐ Forms and CTAs tested and converting | | |
|
||||
| ☐ Content reviewed for accuracy and brand voice | | |
|
||||
| ☐ Performance tested (Lighthouse score >90) | | |
|
||||
| ☐ Security headers configured | | |
|
||||
| ☐ Deployment pipeline configured and tested | | |
|
||||
| ☐ Documentation updated (README, deployment guide) | | |
|
||||
| ☐ Automated checks passing (spec-kit/scripts/ci-checks.sh) | | |
|
||||
|
||||
## Feature-Specific Requirements
|
||||
|
||||
### Homepage
|
||||
- [ ] Hero section with clear value proposition
|
||||
- [ ] Primary CTA prominent and tested
|
||||
- [ ] Social proof / credibility indicators
|
||||
- [ ] Product/service overview
|
||||
- [ ] Trust signals (security, compliance, testimonials)
|
||||
|
||||
### About / Company
|
||||
- [ ] Company story and mission
|
||||
- [ ] Team information (if applicable)
|
||||
- [ ] Contact information
|
||||
- [ ] Location / global presence messaging
|
||||
|
||||
### Products / Services
|
||||
- [ ] Clear product descriptions
|
||||
- [ ] Benefits-focused copy
|
||||
- [ ] Pricing transparency (as defined in discovery)
|
||||
- [ ] Demo/trial CTAs
|
||||
|
||||
### Case Studies / Social Proof
|
||||
- [ ] Customer testimonials
|
||||
- [ ] Success metrics
|
||||
- [ ] Industry-specific examples
|
||||
|
||||
### Contact / Conversion
|
||||
- [ ] Contact form with validation
|
||||
- [ ] Demo booking flow
|
||||
- [ ] Email capture for newsletter/updates
|
||||
- [ ] CRM integration configured
|
||||
58
spec-kit/project-plan.md
Normal file
58
spec-kit/project-plan.md
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
# 1000planets.cloud Marketing Site - Project Plan
|
||||
|
||||
| Phase | Owner | Target | Notes |
|
||||
|-------|-------|--------|-------|
|
||||
| Discovery & Requirements | @team | Week 1 | Complete client questionnaire, define brand guidelines, tech stack decisions |
|
||||
| Design & Wireframes | @team | Week 1-2 | Create mockups, approve visual direction, component library |
|
||||
| Development - Foundation | @team | Week 2 | Set up Next.js/Astro, configure deployment, basic layout |
|
||||
| Development - Homepage | @team | Week 2-3 | Hero, value props, social proof, CTAs |
|
||||
| Development - Product Pages | @team | Week 3 | Product showcase, benefits, pricing |
|
||||
| Development - About/Contact | @team | Week 3-4 | Company info, team, contact forms |
|
||||
| Content Creation | @team | Ongoing | Copy, imagery, video, case studies |
|
||||
| Testing & QA | @team | Week 4 | Performance, accessibility, cross-browser, mobile |
|
||||
| Launch Prep | @team | Week 4 | DNS, analytics, monitoring, final reviews |
|
||||
| Launch | @team | TBD | Go live, announce, monitor |
|
||||
|
||||
## Current Status
|
||||
|
||||
**Phase**: Discovery & Requirements (In Progress)
|
||||
|
||||
**Completed**:
|
||||
- [x] Project repository created
|
||||
- [x] Spec Kit structure initialized
|
||||
- [x] Git repository configured
|
||||
- [ ] Client discovery questionnaire (pending)
|
||||
- [ ] Tech stack decision (pending)
|
||||
- [ ] Brand guidelines documentation (pending)
|
||||
|
||||
**Next Actions**:
|
||||
1. Complete client discovery questionnaire
|
||||
2. Document tech stack decision in `decisions/0001-tech-stack.md`
|
||||
3. Define brand guidelines in `decisions/0002-brand-guidelines.md`
|
||||
4. Create design mockups for approval
|
||||
5. Begin development sprint
|
||||
|
||||
## Decision Log
|
||||
|
||||
Before beginning a new feature:
|
||||
1. Add a row describing who owns the work and what coverage is needed
|
||||
2. Reference relevant checklist items
|
||||
3. Document decisions in `spec-kit/decisions/`
|
||||
4. Ensure compliance checks pass
|
||||
|
||||
## Dependencies
|
||||
|
||||
- Domain: 1000planets.cloud (verify DNS)
|
||||
- Hosting: TBD (Vercel, Netlify, or self-hosted)
|
||||
- CMS: TBD (if needed for blog/case studies)
|
||||
- Analytics: TBD
|
||||
- CRM Integration: TBD
|
||||
|
||||
## Risk Register
|
||||
|
||||
| Risk | Impact | Mitigation |
|
||||
|------|--------|------------|
|
||||
| Unclear brand direction | High | Complete thorough discovery process |
|
||||
| Content not ready | Medium | Use placeholder content, iterate |
|
||||
| Technical complexity | Low | Choose proven stack (Next.js/Astro) |
|
||||
| Timeline pressure | Medium | Launch MVP, iterate post-launch |
|
||||
85
spec-kit/scripts/ci-checks.sh
Executable file
85
spec-kit/scripts/ci-checks.sh
Executable file
|
|
@ -0,0 +1,85 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# CI checks for 1000planets.cloud marketing site
|
||||
# Run this before committing or in CI pipeline
|
||||
|
||||
echo "🔍 Running Spec Kit compliance checks..."
|
||||
|
||||
# Check that required files exist
|
||||
echo "📋 Checking required documentation..."
|
||||
required_files=(
|
||||
"README.md"
|
||||
"spec-kit/README.md"
|
||||
"spec-kit/checklist.md"
|
||||
"spec-kit/project-plan.md"
|
||||
)
|
||||
|
||||
for file in "${required_files[@]}"; do
|
||||
if [[ ! -f "$file" ]]; then
|
||||
echo "❌ Missing required file: $file"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
echo "✅ All required documentation files present"
|
||||
|
||||
# Check for TODO/FIXME comments in production code
|
||||
echo "🔎 Checking for unresolved TODOs..."
|
||||
if find . -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.jsx" \) \
|
||||
-not -path "*/node_modules/*" \
|
||||
-not -path "*/.next/*" \
|
||||
-not -path "*/dist/*" \
|
||||
-exec grep -l "TODO\|FIXME" {} \; 2>/dev/null | grep -q .; then
|
||||
echo "⚠️ Warning: Found TODO/FIXME comments in code"
|
||||
find . -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.jsx" \) \
|
||||
-not -path "*/node_modules/*" \
|
||||
-not -path "*/.next/*" \
|
||||
-not -path "*/dist/*" \
|
||||
-exec grep -Hn "TODO\|FIXME" {} \; 2>/dev/null || true
|
||||
else
|
||||
echo "✅ No unresolved TODOs found"
|
||||
fi
|
||||
|
||||
# Check Python code compilation (if any Python files exist)
|
||||
if find . -name "*.py" -not -path "*/venv/*" -not -path "*/.venv/*" | grep -q .; then
|
||||
echo "🐍 Checking Python syntax..."
|
||||
python3 -m compileall -q . 2>/dev/null || {
|
||||
echo "❌ Python syntax errors found"
|
||||
exit 1
|
||||
}
|
||||
echo "✅ Python syntax valid"
|
||||
fi
|
||||
|
||||
# Check for large files
|
||||
echo "📦 Checking for large files..."
|
||||
large_files=$(find . -type f -size +5M -not -path "*/node_modules/*" -not -path "*/.git/*" 2>/dev/null || true)
|
||||
if [[ -n "$large_files" ]]; then
|
||||
echo "⚠️ Warning: Large files found (>5MB):"
|
||||
echo "$large_files"
|
||||
else
|
||||
echo "✅ No large files detected"
|
||||
fi
|
||||
|
||||
# Check that decisions directory exists and has at least initial decision
|
||||
echo "📝 Checking architectural decisions..."
|
||||
if [[ ! -d "spec-kit/decisions" ]]; then
|
||||
echo "❌ Missing spec-kit/decisions directory"
|
||||
exit 1
|
||||
fi
|
||||
echo "✅ Decisions directory present"
|
||||
|
||||
# Check for sensitive data patterns
|
||||
echo "🔒 Checking for sensitive data..."
|
||||
sensitive_patterns="(api[_-]?key|secret|password|token|private[_-]?key)"
|
||||
if find . -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.jsx" -o -name "*.env*" \) \
|
||||
-not -path "*/node_modules/*" \
|
||||
-not -path "*/.git/*" \
|
||||
-exec grep -iE "$sensitive_patterns" {} \; 2>/dev/null | grep -v "\.env\.example" | grep -q .; then
|
||||
echo "⚠️ Warning: Potential sensitive data found - please review"
|
||||
else
|
||||
echo "✅ No obvious sensitive data patterns detected"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "✨ All compliance checks passed!"
|
||||
echo "Ready to commit or deploy."
|
||||
Loading…
Add table
Reference in a new issue