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