How modelearth/webroot works
1. This repository is a static webroot for “PartnerTools Webroot,” not a traditional application server. The primary runtime is plain file hosting: python -m http.server 8887 serves the repo directly, and paths like /team/ and /projects/ map to folders in the tree.
2. The top-level index.html is the landing page, and the many sibling directories act as route roots or microsites. The architecture is therefore directory-driven: content, pages, and assets are organized by folder rather than assembled by a build pipeline.
3. localsite/ appears to be the shared site framework or common shell used across sections. Paired folders such as home/, grid/, swiper/, and montage/ likely hold reusable layout or interaction patterns that multiple pages depend on.
4. The main functional boundaries are the named content areas: team/, projects/, reports/, trade/, community-forecasting/, data-pipeline/, comparison/, engage/, realitystream/, chat/, codechat/, and similar folders. Each seems to represent a separate subject area or mini-site with its own entry page and assets.
5. There are also product or platform-oriented sections such as cloud/, desktop/, better-auth/, and streamlit/, suggesting the repo is used to publish documentation, demos, or landing pages for multiple related tools rather than one cohesive codebase.
6. example/ is a self-contained sample site, with its own README.md and index.html, likely used as a reference implementation or test page for the webroot structure.
7. siteconfig.yaml and sites.yaml are the main configuration boundaries in the repo. These files likely define which site sections exist, how they are grouped, and potentially how cross-links or catalogs are generated.
8. docker/, .dockerignore, and .github/workflows/vector_db_sync.yml indicate lightweight operational automation around the static site. The GitHub Action suggests an external sync process for vector database or search/embedding data, but it is separate from the core static-serving path.
9. .gitmodules implies at least some directories are managed as submodules, so parts of the site may be sourced from other repositories or shared content modules. That matters for architecture because some content boundaries are actually repository boundaries.
10. The overall data flow is simple: source files live in the repo, the static server exposes them as web pages, and optional automation updates auxiliary data or synced content. There is no obvious application backend in this repo; the “system” is primarily a curated content/web delivery surface.
11. For an architecture diagram, the central node should be the static webroot, with spokes to the major site sections, a shared-site layer (localsite and common UI folders), configuration/catalog files, and external automation/submodule sources. The only explicit runtime is the local HTTP file server used for development.
Main entry points: sites.yaml Site config · .gitmodules Submodules · projects Projects · example Example site
Components 27
Core surface
Primary static hosting entrypoints and the main landing page.
- Static webroot · Repository served directly as a static site tree.
- Landing page · Top-level home page for the webroot.
index.html
Shared UI
Reusable site shell and layout patterns used across sections.
- Local site · Common site framework used across sections.
localsite - Home · Reusable home-page structure or content pattern.
home - Grid · Shared grid-based layout or interaction pattern.
grid - Swiper · Shared carousel or swipe interaction assets.
swiper - Montage · Shared montage or collage presentation assets.
montage
Content sites
Major directory-driven microsites and subject areas.
- Team · Team-focused content section.
team - Projects · Project directory and landing content.
projects - Reports · Report publishing section.
reports - Trade · Trade-related content area.
trade - Community forecasting · Community forecasting section.
community-forecasting - Data pipeline · Data pipeline or process-oriented section.
data-pipeline - Comparison · Comparative content or benchmarking area.
comparison - Engage · Engagement or outreach section.
engage - Realitystream · Realitystream product or media section.
realitystream - Chat · Chat-oriented section.
chat - Codechat · Codechat section for code-centric conversations or demos.
codechat - Cloud · Cloud-oriented documentation or landing area.
cloud - Desktop · Desktop-oriented documentation or landing area.
desktop - Better auth · Authentication-related product or demo section.
better-auth - Streamlit · Streamlit-related section or demo surface.
streamlit - Example site · Self-contained sample web section with its own README and page.
example
Config & ops
Repository-level configuration and lightweight automation.
- Site config · Primary site catalog and grouping configuration.
sites.yaml - Site config · Repository-wide site configuration boundary.
siteconfig.yaml - Sync workflow · GitHub Action that runs external sync automation.
.github/workflows/vector_db_sync.yml
External sources
Content boundaries managed outside the main repository tree.
- Submodules · Repository content pulled from other repos or shared modules.
.gitmodules
Connections 31
- Static webroot → Landing page: serves · The repo is exposed directly as a static site.
- Static webroot → Local site: shared shell · Common shell and framework assets support many sections.
- Static webroot → Home: shared pattern · Reusable home-page structure is available across pages.
- Static webroot → Grid: shared pattern · Grid layout assets are reused across sections.
- Static webroot → Swiper: shared pattern · Swipe/carousel behavior is shared.
- Static webroot → Montage: shared pattern · Montage presentation assets are reused.
- Static webroot → Team: routes to · Directory-backed section root.
- Static webroot → Projects: routes to · Directory-backed section root.
- Static webroot → Reports: routes to · Directory-backed section root.
- Static webroot → Trade: routes to · Directory-backed section root.
- Static webroot → Community forecasting: routes to · Directory-backed section root.
- Static webroot → Data pipeline: routes to · Directory-backed section root.
- Static webroot → Comparison: routes to · Directory-backed section root.
- Static webroot → Engage: routes to · Directory-backed section root.
- Static webroot → Realitystream: routes to · Directory-backed section root.
- Static webroot → Chat: routes to · Directory-backed section root.
- Static webroot → Codechat: routes to · Directory-backed section root.
- Static webroot → Cloud: routes to · Product or documentation microsite.
- Static webroot → Desktop: routes to · Product or documentation microsite.
- Static webroot → Better auth: routes to · Product or documentation microsite.
- Static webroot → Streamlit: routes to · Product or integration microsite.
- Static webroot → Example site: routes to · Standalone sample site within the webroot.
- Site config → Site config: catalogs · Configuration files define site sections and grouping.
- Site config → Team: indexes · Catalog may enumerate available sections.
- Site config → Projects: indexes · Catalog may enumerate available sections.
- Site config → Reports: indexes · Catalog may enumerate available sections.
- Site config → Cloud: indexes · Catalog may enumerate available sections.
- Sync workflow → Submodules: syncs · Automation appears to update external synced content.
- Submodules → Local site: supplies · Some shared content may be sourced from external repositories.
- Submodules → Projects: supplies · Some sections may be managed as submodule-backed boundaries.
- Example site → Landing page: references · Sample site demonstrates the static webroot pattern.