docs: Phase A repo structure — archive, product, kebab-case
- Move copilot history and CSV to docs/archive/ - Add docs/product/ (SSP, intermediate, genre packs) and engineering/adrs/ - Rename all spaced/special-char doc paths to kebab-case - Nest competitive GTM under docs/gtm/competitive/ - Point README and NORTH_STAR at CANONICAL_STRATEGY - Leave code/ unchanged for later monorepo Phase B
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# Documentation
|
||||
|
||||
| Folder | Role |
|
||||
|--------|------|
|
||||
| [strategy/](./strategy/) | **Operating truth** — start with CANONICAL_STRATEGY.md |
|
||||
| [product/](./product/) | SSP, intermediate, genre packs |
|
||||
| [gtm/](./gtm/) | Channels, sales, competitive |
|
||||
| [investors/](./investors/) | Market and financial packaging |
|
||||
| [engineering/](./engineering/) | Roadmap and ADRs |
|
||||
| [legal/](./legal/) | Privacy, IP, partnership skeletons |
|
||||
| [archive/](./archive/) | Historical only — not operating docs |
|
||||
|
||||
Governance: if two docs disagree, resolve against strategy or deliberately change strategy.
|
||||
@@ -0,0 +1,10 @@
|
||||
# Archive
|
||||
|
||||
Historical materials kept for context. **Not operating documentation.**
|
||||
|
||||
| File | What it is |
|
||||
|------|------------|
|
||||
| [geolocal-copilot-conversation.md](./geolocal-copilot-conversation.md) | Early exploration conversation that informed the strategy |
|
||||
| [copilot-activity-history.csv](./copilot-activity-history.csv) | Activity export from that session |
|
||||
|
||||
Operating truth lives in [../strategy/CANONICAL_STRATEGY.md](../strategy/CANONICAL_STRATEGY.md).
|
||||
|
Can't render this file because it is too large.
|
@@ -1,22 +1,12 @@
|
||||
# Engineering — geolocal.io
|
||||
# Engineering
|
||||
|
||||
Architecture, technical roadmap, and implementation.
|
||||
Architecture, roadmap, and implementation notes.
|
||||
|
||||
## Files
|
||||
| Doc | Purpose |
|
||||
|-----|---------|
|
||||
| [technical-roadmap.md](./technical-roadmap.md) | Phased technical plan (align with strategy when they diverge) |
|
||||
| [adrs/](./adrs/) | Architecture decision records |
|
||||
|
||||
| File | Description |
|
||||
|------|-------------|
|
||||
| [Technical Roadmap](./technical%20roadmap.md) | 12-week phased plan: MVP → V1 → Scale |
|
||||
**Operating priorities** come from [Canonical Strategy](../strategy/CANONICAL_STRATEGY.md) (§10). When this folder and the strategy disagree, fix one of them deliberately.
|
||||
|
||||
## Code
|
||||
|
||||
The MCP server implementation lives in the repo root [`code/`](../../code/) directory:
|
||||
|
||||
- **`src/index.ts`** — Server entry point (stdio transport)
|
||||
- **`src/mcp-server.ts`** — Tool registration (5 MCP tools)
|
||||
- **`src/tools/`** — Individual tool implementations
|
||||
- **`src/db/`** — PostgreSQL schema + seed data
|
||||
- **`src/manifest-generator.ts`** — `/.well-known/mcp-server` JSON manifest
|
||||
- **`railway.json`** + **`Dockerfile`** — Deployment config
|
||||
|
||||
Every technical decision must trace back to [NORTH_STAR.md](../../NORTH_STAR.md).
|
||||
Current implementation lives in `code/` (MCP MVP). A later monorepo phase moves that to `apps/mcp-gateway`.
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
# Architecture Decision Records (ADRs)
|
||||
|
||||
Short, dated decisions so we do not re-litigate the same choices.
|
||||
|
||||
## Format
|
||||
|
||||
Each ADR: `NNNN-short-title.md`
|
||||
|
||||
```markdown
|
||||
# NNNN — Title
|
||||
|
||||
**Status:** proposed | accepted | superseded
|
||||
**Date:** YYYY-MM-DD
|
||||
|
||||
## Context
|
||||
## Decision
|
||||
## Consequences
|
||||
```
|
||||
|
||||
## Index
|
||||
|
||||
| ADR | Title | Status |
|
||||
|-----|-------|--------|
|
||||
| — | *(none yet)* | — |
|
||||
|
||||
Candidates worth writing soon: HTTP vs stdio for production MCP; Cal.com orchestration vs rebuild booking; monorepo layout (Phase B).
|
||||
+11
-13
@@ -1,16 +1,14 @@
|
||||
# GTM — geolocal.io
|
||||
# Go-to-market
|
||||
|
||||
Partner-first go-to-market strategy and collateral.
|
||||
Channel, sales, and competitive materials. Must describe the company in [Canonical Strategy](../strategy/CANONICAL_STRATEGY.md) — not a thinner or different product.
|
||||
|
||||
## Files
|
||||
| Doc | Purpose |
|
||||
|-----|---------|
|
||||
| [ideal-customer-profile.md](./ideal-customer-profile.md) | Who we target |
|
||||
| [channel-strategy.md](./channel-strategy.md) | Distribution channels |
|
||||
| [sales-and-marketing.md](./sales-and-marketing.md) | Sales and marketing playbook |
|
||||
| [partner-one-pager.md](./partner-one-pager.md) | Partner sell-sheet |
|
||||
| [competitive/intelligence.md](./competitive/intelligence.md) | Competitor landscape |
|
||||
| [competitive/moats-and-risks.md](./competitive/moats-and-risks.md) | Moats and risks |
|
||||
|
||||
| File | Description |
|
||||
|------|-------------|
|
||||
| [Ideal Customer Profile](./Ideal%20Customer%20Profile.md) | Who we target: agencies, SEO consultants, CoCs |
|
||||
| [Channel Strategy](./ChannelStrategy.md) | 3-pronged distribution: agencies, vertical subdomains, SEO |
|
||||
| [Sales and Marketing](./Sales%20and%20marketing.md) | Playbook, messaging, funnel |
|
||||
| [Competitive Intelligence](./Competitive%20Intelligence.md) | Competitor mapping and positioning |
|
||||
| [Competitive Moats & Risks](./Competitive%20moats%20and%20risks.md) | Defensibility and threat analysis |
|
||||
| [Partner One-Pager](./Partner%20One-Pager.md) | Agency sell-sheet (ready to send) |
|
||||
|
||||
All content here must align with [NORTH_STAR.md](../../NORTH_STAR.md).
|
||||
**Note:** Some GTM docs still reflect older partner-dashboard-first framing. Treat strategy as source of truth until those docs are revised.
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# Competitive
|
||||
|
||||
| Doc | Purpose |
|
||||
|-----|---------|
|
||||
| [intelligence.md](./intelligence.md) | Competitor landscape |
|
||||
| [moats-and-risks.md](./moats-and-risks.md) | Moats and risks |
|
||||
|
||||
Parent index: [../README.md](../README.md).
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## 0. Relationship to the Competitive Intelligence Dossier
|
||||
|
||||
This document is the strategic companion to the **Competitive Intelligence Dossier**, which profiles the key players in the local business AI discovery space (Yelp, Google, Pie, Mainstreet, Apify, and others). This analysis assumes familiarity with that landscape and focuses on:
|
||||
This document is the strategic companion to the **[Competitive intelligence](./intelligence.md)** dossier, which profiles the key players in the local business AI discovery space (Yelp, Google, Pie, Mainstreet, Apify, and others). This analysis assumes familiarity with that landscape and focuses on:
|
||||
|
||||
1. **Our defensible positions:** What makes `geolocal.io` hard to replicate
|
||||
2. **The unseen strength:** Why first-mover advantage and critical mass are the real moats
|
||||
@@ -103,4 +103,4 @@ Or reply to this one-pager — we'll get you set up and your first client live i
|
||||
|
||||
---
|
||||
|
||||
> *Full market data and citations: [Market Data & Analysis](../investors/Market%20Data%20&%20Analysis.md)*
|
||||
> *Full market data and citations: [Market data and analysis](../investors/market-data-and-analysis.md)*
|
||||
@@ -222,5 +222,5 @@ With `geolocal.io`:
|
||||
|
||||
---
|
||||
|
||||
> *Full market data and citations: [Market Data & Analysis](../investors/Market%20Data%20&%20Analysis.md)*
|
||||
> *Full competitive analysis: [Competitive Intelligence](./Competitive%20Intelligence.md)*
|
||||
> *Full market data and citations: [Market data and analysis](../investors/market-data-and-analysis.md)*
|
||||
> *Full competitive analysis: [Competitive intelligence](./competitive/intelligence.md)*
|
||||
@@ -1,12 +1,8 @@
|
||||
# Investors — geolocal.io
|
||||
# Investors
|
||||
|
||||
Pitch materials, market sizing, financial model.
|
||||
External packaging of market and financial material. Align narrative with [Canonical Strategy](../strategy/CANONICAL_STRATEGY.md).
|
||||
|
||||
## Files
|
||||
|
||||
| File | Description |
|
||||
|------|-------------|
|
||||
| [Market Data & Analysis](./Market%20Data%20&%20Analysis.md) | $98.8B TAM, consumer AI adoption trends |
|
||||
| [Business and Financial Model](./Business%20and%20financial%20model.md) | Revenue model, unit economics, projections |
|
||||
|
||||
Align everything to [NORTH_STAR.md](../../NORTH_STAR.md).
|
||||
| Doc | Purpose |
|
||||
|-----|---------|
|
||||
| [market-data-and-analysis.md](./market-data-and-analysis.md) | Market size and adoption signals |
|
||||
| [business-and-financial-model.md](./business-and-financial-model.md) | Business and financial model |
|
||||
|
||||
+8
-10
@@ -1,13 +1,11 @@
|
||||
# Legal — geolocal.io
|
||||
# Legal
|
||||
|
||||
Compliance, data flow, partnership agreements, IP notes.
|
||||
Lightweight legal and compliance notes for pilots and product.
|
||||
|
||||
## Files
|
||||
| Doc | Purpose |
|
||||
|-----|---------|
|
||||
| [data-flow-and-privacy.md](./data-flow-and-privacy.md) | Data flow and privacy |
|
||||
| [ip-notes.md](./ip-notes.md) | IP notes |
|
||||
| [partnership-agreement-skeleton.md](./partnership-agreement-skeleton.md) | Partnership agreement skeleton |
|
||||
|
||||
| File | Description |
|
||||
|------|-------------|
|
||||
| [Data Flow & Privacy](./Data%20Flow%20&%20Privacy.md) | Data collection, storage, sharing, GDPR/CCPA |
|
||||
| [Partnership Agreement Skeleton](./Partnership%20Agreement%20Skeleton.md) | Template for agency/CoC partnerships |
|
||||
| [IP Notes](./IP%20Notes.md) | Trademark, telemetry ownership, open-source strategy |
|
||||
|
||||
Must reference [NORTH_STAR.md](../../NORTH_STAR.md) for principles.
|
||||
Not a substitute for counsel. Strategy §13 calls for tourism pilot terms, business ToS, and basic telemetry privacy next.
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# Product
|
||||
|
||||
Product definitions for what we build and sell. Aligns with [Canonical Strategy](../strategy/CANONICAL_STRATEGY.md).
|
||||
|
||||
| Doc | Purpose |
|
||||
|-----|---------|
|
||||
| [overview.md](./overview.md) | Product map across the four models |
|
||||
| [ssp.md](./ssp.md) | Self-Service Portal (primary SMB experience) |
|
||||
| [intermediate.md](./intermediate.md) | Tourism boards, chambers, visitor bureaus |
|
||||
| [genre-packs.md](./genre-packs.md) | Vertical primitives strategy |
|
||||
| [use-cases/](./use-cases/) | Canonical use cases (to be filled) |
|
||||
|
||||
These folders start thin on purpose. Expand them as decisions lock; do not reintroduce conflicting product stories in GTM-only docs.
|
||||
@@ -0,0 +1,18 @@
|
||||
# Genre packs
|
||||
|
||||
Generic business fields are scaffolding. Durable differentiation is **genre-specific primitives** — structured tools and schemas that match how a vertical actually works.
|
||||
|
||||
## Planned early packs
|
||||
|
||||
- Auto repair
|
||||
- Beauty
|
||||
- Home services
|
||||
- Tourism activity (especially with destination pilots)
|
||||
|
||||
## Detail source
|
||||
|
||||
[Canonical Strategy](../strategy/CANONICAL_STRATEGY.md) (§5.3).
|
||||
|
||||
## Repo note (future)
|
||||
|
||||
Genre packs will live under top-level `genres/` in a later monorepo phase. Product intent is documented here first.
|
||||
@@ -0,0 +1,15 @@
|
||||
# Intermediate product (tourism, chambers, visitor bureaus)
|
||||
|
||||
Model 2: destinations and membership organizations as discovery nodes.
|
||||
|
||||
## Intent
|
||||
|
||||
One intermediate relationship should bring many member endpoints online. Boards get an aggregating MCP, member onboarding (via SSP patterns), and a simple dashboard of hits and category demand. Funding often sits in lodging-tax or destination marketing budgets.
|
||||
|
||||
## Detail source
|
||||
|
||||
[Canonical Strategy](../strategy/CANONICAL_STRATEGY.md) (§4 Model 2, §7 GTM wedge).
|
||||
|
||||
## Build status
|
||||
|
||||
Not implemented. Engineering Priority 1 after Model 1 spine is real.
|
||||
@@ -0,0 +1,20 @@
|
||||
# Product overview
|
||||
|
||||
geolocal.io ships **AI-readiness infrastructure** for local services: hosted multi-tenant MCP, a discovery pointer on the business site, the Self-Service Portal, intermediate (destination/chamber) surfaces, and later telemetry and graph products.
|
||||
|
||||
See [Canonical Strategy](../strategy/CANONICAL_STRATEGY.md) sections 4–5 for the full product definition and the four business models.
|
||||
|
||||
## Surfaces
|
||||
|
||||
| Surface | Audience | Status |
|
||||
|---------|----------|--------|
|
||||
| MCP gateway | AI agents | MVP in `code/` (stdio); HTTP is Priority 0 |
|
||||
| Self-Service Portal | SMB owners | Specified in strategy; not built |
|
||||
| Intermediate dashboard | Tourism boards / chambers | Specified; not built |
|
||||
| Partner surfaces | Agencies / SEO | Distribution; after core attach |
|
||||
|
||||
## Related docs
|
||||
|
||||
- [ssp.md](./ssp.md)
|
||||
- [intermediate.md](./intermediate.md)
|
||||
- [genre-packs.md](./genre-packs.md)
|
||||
@@ -0,0 +1,17 @@
|
||||
# Self-Service Portal (SSP)
|
||||
|
||||
Primary product experience for individual local businesses (Model 1).
|
||||
|
||||
## Intent
|
||||
|
||||
Owners should feel the value before they pay: genre-aware onboarding, site scrape reflection, a live simulation of an AI recommending and booking them, pointer install, in-browser preflight against their MCP, optimization guidance, optional partner handoff, and ongoing reports.
|
||||
|
||||
The portal chat UI is a **test harness** for how *external* AI assistants will interpret the business — not a customer-facing chatbot we sell as the product.
|
||||
|
||||
## Detail source
|
||||
|
||||
Full narrative and priorities: [Canonical Strategy](../strategy/CANONICAL_STRATEGY.md) (§5 Self-Service Portal, §10 priorities).
|
||||
|
||||
## Build status
|
||||
|
||||
Not implemented. Engineering Priority 0 includes the portal spine once HTTP MCP is underway.
|
||||
@@ -0,0 +1,5 @@
|
||||
# Use cases
|
||||
|
||||
Canonical use cases (Bob’s Garage, destination board, etc.) will land here as structured product specs.
|
||||
|
||||
Until then, narrative examples remain in the strategy and archive; do not treat the archive as the product spec.
|
||||
@@ -295,13 +295,14 @@ Run self-serve SMB in parallel. Prefer short pilot contracts over perfect enterp
|
||||
|
||||
| Document | Job |
|
||||
|----------|-----|
|
||||
| `docs/geolocal-copilot-conversation.md` | Historical exploration archive — useful context, not the operating manual |
|
||||
| `docs/archive/` | Historical exploration only — not the operating manual |
|
||||
| **`docs/strategy/CANONICAL_STRATEGY.md` (this file)** | **Operating strategy the team rallies around** |
|
||||
| `NORTH_STAR.md` | Short compass; must stay consistent with this file |
|
||||
| `docs/product/*` | Product surfaces (SSP, intermediate, genre packs) |
|
||||
| `docs/gtm/*` | Execution detail for channels and sales; must describe this company, not a different one |
|
||||
| `docs/investors/*` | External packaging of this strategy |
|
||||
| `docs/engineering/*` | Build plan for the priorities above |
|
||||
| `code/` | Implementation of Priority 0 |
|
||||
| `docs/engineering/*` | Build plan and ADRs for the priorities above |
|
||||
| `code/` | Implementation of Priority 0 (later monorepo: `apps/mcp-gateway`) |
|
||||
|
||||
If two documents disagree, either this file changes on purpose or the other document changes. Silence is how the project fractures again.
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# Strategy
|
||||
|
||||
| Doc | Role |
|
||||
|-----|------|
|
||||
| **[CANONICAL_STRATEGY.md](./CANONICAL_STRATEGY.md)** | Final-draft operating strategy — team plans, builds, and sells against this |
|
||||
|
||||
If another doc conflicts with the canonical strategy, update that doc or deliberately revise the strategy. Do not leave both live.
|
||||
Reference in New Issue
Block a user