Pages

Overview

Astro’s routes for the whole site, one file per address. astro.config.mjs sets no output, so a route is built ahead of time unless it says export const prerender = false. Only the community’s pages, /admin and /linked/ are drawn when asked. Every other page is built at build time, from getStaticPaths over src/lib/ where it has a parameter.

The app’s and the account’s pages are shells: a frame from src/layouts/ and a React island filled in by the browser. They check nothing themselves (ADR 0018). The worker sends a signed-out visitor at /properties/ and /property/ to /signin/ before Astro is asked (src/lib/ways.ts:led; see server/worker). /new/ and its steps stay open to a guest.

The pages drawn when asked do their work in server/community/ (posts.ts, hausboss.ts), with the env of server/community/env.ts.

Interface

Addresses end in / in a build (trailingSlash: 'always'). A subdirectory holds the routes under its address (community/ ten, handbook/ four, calculators/ three, editor/, examples/ and features/ two each, the rest one), and has no README of its own. The table has one row for each of the 42 route files.

Address File Kind Built ahead What it does
/ index.astro page yes The home page
/404 404.astro page yes Not found, noindex
/start/ start.astro page yes The ad page: an address given starts /new/, noindex
/solutions/ solutions/index.astro page yes What owners use it for
/tools/ tools/index.astro page yes The editor’s tools
/features/ features/index.astro page yes The features
/features/[feature]/ features/[feature].astro page yes One feature, from src/lib/site.ts features
/examples/ examples/index.astro page yes House styles
/examples/[style]/ examples/[style].astro page yes One style in 3D, on its lot with its yard
/calculators/ calculators/index.astro page yes The calculators, searched in the browser
/calculators/[...tool]/ calculators/[...tool].astro page yes One calculator in 3D with its cut list
/calculators/[...tool].md calculators/[...tool].md.ts endpoint GET yes A calculator said in markdown, for agents
/handbook/ handbook/index.astro page yes The guides
/handbook/[chapter]/ handbook/[chapter].astro page yes A chapter’s steps
/handbook/guides/[guide]/ handbook/guides/[guide]/index.astro page yes A guide: its plan, what to buy, its steps
/handbook/guides/[guide]/[step].png handbook/guides/[guide]/[step].png.ts endpoint GET yes One step’s picture
/drawn/[name].svg drawn/[name].svg.ts endpoint GET yes A framing drawing
/demos/[name].json demos/[name].json.ts endpoint GET yes A scene’s demo documents
/llms.txt llms.txt.ts endpoint GET yes The site said for language models (src/lib/llms.ts)
/editor/demo/ editor/demo.astro page yes The editor on a kept demo property
/editor/embed/ editor/embed.astro page yes The editor embedded
/properties/ properties.astro page yes The app: an owner’s properties (React, client:only)
/property/ property.astro page yes The app: one property, and the editor’s frame
/new/ new.astro page yes The app: a new property from an address
/signin/ signin.astro page yes Account shell, signed out
/reset-password/ reset-password.astro page yes Account shell, signed out
/account/, /account/profile/, /account/billing/ account/[...page].astro page yes Account shell, signed in
/connect/ connect.astro page yes Account shell: approve an AI app
/device/ device.astro page yes Account shell: approve a script by its code
/community/ community/index.astro page, GET and POST no The community’s parts and categories; a POST writes a new post (/community/new/’s form is sent here)
/community/[id]/[...under] community/[id]/[...under].astro page, GET and POST no A part, a category, a post, a feed or an edit, as posts.ts:route finds it
/community/new/ community/new.astro page no Write a post
/community/members/[id]/ community/members/[id].astro page no A member’s profile
/community/shell/ community/shell.astro page yes The community’s frame for the app, noindex
/community/latest.json community/latest.json.ts endpoint GET no The latest showcases, posts and news
/community/me community/me.ts endpoint GET no How many posts are unread, or false signed out
/community/attachments/[key] community/attachments/[key].ts endpoint GET no A post’s attachment from R2
/community/faces/[...hash] community/faces/[...hash].ts endpoint GET, POST no Avatars: served, or put up
/community/pictures/[...hash] community/pictures/[...hash].ts endpoint GET, POST no A post’s or a reply’s pictures: served, or put up
/linked/[hash] linked/[hash].ts endpoint GET no A picture linked from a property (linked/ in R2)
/admin admin.astro page no Admins talk with Hausboss
/admin/hausboss/[...at] admin/hausboss/[...at].ts endpoint ALL no Sent on to Hausboss

Invariants

Side Effects

Verification