@treeseed/core 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +145 -0
- package/dist/agents/index.js +5 -0
- package/dist/agents/registry-helper.js +14 -0
- package/dist/agents/registry.js +88 -0
- package/dist/components/DevWatchReload.astro +45 -0
- package/dist/components/SiteTitle.astro +51 -0
- package/dist/components/content/ContentStatusLegend.astro +18 -0
- package/dist/components/content/StatusBadge.astro +11 -0
- package/dist/components/docs/BookFontControls.astro +180 -0
- package/dist/components/docs/DesktopSidebarToggle.astro +88 -0
- package/dist/components/docs/DownloadBook.astro +34 -0
- package/dist/components/docs/Footer.astro +196 -0
- package/dist/components/docs/Header.astro +150 -0
- package/dist/components/docs/PageFrame.astro +260 -0
- package/dist/components/docs/PageSidebar.astro +63 -0
- package/dist/components/docs/PageTitle.astro +39 -0
- package/dist/components/docs/Sidebar.astro +41 -0
- package/dist/components/docs/ThemeSelect.astro +3 -0
- package/dist/components/forms/ContactForm.astro +234 -0
- package/dist/components/forms/FooterSubscribeForm.astro +189 -0
- package/dist/components/site/BookList.astro +27 -0
- package/dist/components/site/CTASection.astro +24 -0
- package/dist/components/site/ChronicleList.astro +33 -0
- package/dist/components/site/Hero.astro +18 -0
- package/dist/components/site/NotesList.astro +18 -0
- package/dist/components/site/PathCard.astro +16 -0
- package/dist/components/site/ProfileList.astro +30 -0
- package/dist/components/site/SectionIntro.astro +9 -0
- package/dist/components/site/StageBanner.astro +8 -0
- package/dist/components/site/TrustCallout.astro +9 -0
- package/dist/components/starlight.js +6 -0
- package/dist/config.js +8 -0
- package/dist/content-config.js +9 -0
- package/dist/content.js +230 -0
- package/dist/contracts.d.ts +130 -0
- package/dist/contracts.js +0 -0
- package/dist/deploy/config.d.ts +4 -0
- package/dist/deploy/config.js +154 -0
- package/dist/deploy/runtime.js +77 -0
- package/dist/env.yaml +322 -0
- package/dist/environment.d.ts +130 -0
- package/dist/environment.js +324 -0
- package/dist/index.js +81 -0
- package/dist/layouts/AuthoredEntryLayout.astro +87 -0
- package/dist/layouts/BookLayout.astro +35 -0
- package/dist/layouts/BridgeLayout.astro +11 -0
- package/dist/layouts/ContentLayout.astro +24 -0
- package/dist/layouts/MainLayout.astro +203 -0
- package/dist/layouts/NoteLayout.astro +26 -0
- package/dist/layouts/ProfileLayout.astro +81 -0
- package/dist/middleware/starlightRouteData.js +45 -0
- package/dist/pages/404.astro +29 -0
- package/dist/pages/[slug].astro +30 -0
- package/dist/pages/agents/[slug].astro +29 -0
- package/dist/pages/agents/index.astro +27 -0
- package/dist/pages/api/form/submit.js +14 -0
- package/dist/pages/books/[slug].astro +19 -0
- package/dist/pages/books/index.astro +28 -0
- package/dist/pages/contact.astro +27 -0
- package/dist/pages/feed.xml.js +34 -0
- package/dist/pages/index.astro +290 -0
- package/dist/pages/notes/[slug].astro +19 -0
- package/dist/pages/notes/index.astro +21 -0
- package/dist/pages/objectives/[slug].astro +31 -0
- package/dist/pages/objectives/index.astro +30 -0
- package/dist/pages/people/[slug].astro +29 -0
- package/dist/pages/people/index.astro +28 -0
- package/dist/pages/questions/[slug].astro +31 -0
- package/dist/pages/questions/index.astro +30 -0
- package/dist/plugin-default.js +4 -0
- package/dist/plugins/builtin/default-plugin.d.ts +21 -0
- package/dist/plugins/builtin/default-plugin.js +32 -0
- package/dist/plugins/constants.d.ts +21 -0
- package/dist/plugins/constants.js +28 -0
- package/dist/plugins/plugin.d.ts +42 -0
- package/dist/plugins/plugin.js +6 -0
- package/dist/plugins/runtime.d.ts +31 -0
- package/dist/plugins/runtime.js +120 -0
- package/dist/scripts/aggregate-book.js +112 -0
- package/dist/scripts/assert-release-tag-version.js +21 -0
- package/dist/scripts/build-dist.js +384 -0
- package/dist/scripts/build-tenant-worker.js +36 -0
- package/dist/scripts/package-tools.js +88 -0
- package/dist/scripts/patch-starlight-content-path.js +172 -0
- package/dist/scripts/paths.js +11 -0
- package/dist/scripts/publish-package.js +20 -0
- package/dist/scripts/release-verify.js +52 -0
- package/dist/scripts/run-fixture-astro-command.js +21 -0
- package/dist/scripts/tenant-astro-command.js +3 -0
- package/dist/scripts/tenant-build.js +16 -0
- package/dist/scripts/tenant-check.js +7 -0
- package/dist/scripts/test-smoke.js +105 -0
- package/dist/server.js +53 -0
- package/dist/site-resources.d.ts +29 -0
- package/dist/site-resources.js +127 -0
- package/dist/site.js +313 -0
- package/dist/styles/global.css +683 -0
- package/dist/styles/prose.css +89 -0
- package/dist/styles/tokens.css +24 -0
- package/dist/tenant/bridge.js +5 -0
- package/dist/tenant/config.d.ts +9 -0
- package/dist/tenant/config.js +124 -0
- package/dist/tenant/runtime-config.js +20 -0
- package/dist/tsconfigs/strict.json +3 -0
- package/dist/types/agents.d.ts +1 -0
- package/dist/types/agents.js +1 -0
- package/dist/types/astro-build.d.js +0 -0
- package/dist/types/cloudflare-sockets.d.js +0 -0
- package/dist/types/cloudflare.d.ts +1 -0
- package/dist/types/cloudflare.js +1 -0
- package/dist/types/forms.js +4 -0
- package/dist/utils/agents/adapters/execution.js +90 -0
- package/dist/utils/agents/adapters/mutations.js +30 -0
- package/dist/utils/agents/adapters/notification.js +16 -0
- package/dist/utils/agents/adapters/repository.js +61 -0
- package/dist/utils/agents/adapters/research.js +25 -0
- package/dist/utils/agents/adapters/verification.js +62 -0
- package/dist/utils/agents/cli-tools.js +5 -0
- package/dist/utils/agents/contracts/messages.d.ts +88 -0
- package/dist/utils/agents/contracts/messages.js +138 -0
- package/dist/utils/agents/contracts/run.d.ts +20 -0
- package/dist/utils/agents/contracts/run.js +0 -0
- package/dist/utils/agents/runtime-types.d.ts +117 -0
- package/dist/utils/agents/runtime-types.js +4 -0
- package/dist/utils/books-data.js +82 -0
- package/dist/utils/content-status.js +38 -0
- package/dist/utils/forms/config.js +87 -0
- package/dist/utils/forms/constants.js +27 -0
- package/dist/utils/forms/contact-submissions-local.js +19 -0
- package/dist/utils/forms/contact-submissions.js +72 -0
- package/dist/utils/forms/crypto.js +64 -0
- package/dist/utils/forms/guard.js +76 -0
- package/dist/utils/forms/http.js +51 -0
- package/dist/utils/forms/provider-core.js +88 -0
- package/dist/utils/forms/routing-core.js +7 -0
- package/dist/utils/forms/routing.js +13 -0
- package/dist/utils/forms/runtime-core.js +17 -0
- package/dist/utils/forms/runtime.js +27 -0
- package/dist/utils/forms/service-core.js +256 -0
- package/dist/utils/forms/service.js +55 -0
- package/dist/utils/forms/session.js +57 -0
- package/dist/utils/forms/smtp-cloudflare.js +107 -0
- package/dist/utils/forms/smtp-node.js +27 -0
- package/dist/utils/forms/smtp.js +10 -0
- package/dist/utils/forms/subscribers-local.js +21 -0
- package/dist/utils/forms/subscribers.js +53 -0
- package/dist/utils/forms/turnstile.js +31 -0
- package/dist/utils/forms/validation.js +58 -0
- package/dist/utils/hub-content.js +28 -0
- package/dist/utils/plugin-runtime.js +158 -0
- package/dist/utils/routes.js +17 -0
- package/dist/utils/seo.js +4 -0
- package/dist/utils/site-config-schema.js +282 -0
- package/dist/utils/site-config.js +122 -0
- package/dist/utils/starlight-nav.js +62 -0
- package/dist/utils/theme.js +49 -0
- package/dist/vendor/starlight/components/AnchorHeading.astro +53 -0
- package/dist/vendor/starlight/components/Banner.astro +23 -0
- package/dist/vendor/starlight/components/ContentNotice.astro +33 -0
- package/dist/vendor/starlight/components/ContentPanel.astro +27 -0
- package/dist/vendor/starlight/components/DraftContentNotice.astro +5 -0
- package/dist/vendor/starlight/components/EditLink.astro +28 -0
- package/dist/vendor/starlight/components/FallbackContentNotice.astro +5 -0
- package/dist/vendor/starlight/components/Footer.astro +61 -0
- package/dist/vendor/starlight/components/Head.astro +5 -0
- package/dist/vendor/starlight/components/Header.astro +94 -0
- package/dist/vendor/starlight/components/Hero.astro +143 -0
- package/dist/vendor/starlight/components/Icons.js +121 -0
- package/dist/vendor/starlight/components/LanguageSelect.astro +57 -0
- package/dist/vendor/starlight/components/LastUpdated.astro +14 -0
- package/dist/vendor/starlight/components/MarkdownContent.astro +5 -0
- package/dist/vendor/starlight/components/MobileMenuFooter.astro +35 -0
- package/dist/vendor/starlight/components/MobileMenuToggle.astro +107 -0
- package/dist/vendor/starlight/components/MobileTableOfContents.astro +151 -0
- package/dist/vendor/starlight/components/Page.astro +126 -0
- package/dist/vendor/starlight/components/PageFrame.astro +97 -0
- package/dist/vendor/starlight/components/PageSidebar.astro +59 -0
- package/dist/vendor/starlight/components/PageTitle.astro +17 -0
- package/dist/vendor/starlight/components/Pagination.astro +79 -0
- package/dist/vendor/starlight/components/Search.astro +488 -0
- package/dist/vendor/starlight/components/Select.astro +99 -0
- package/dist/vendor/starlight/components/Sidebar.astro +15 -0
- package/dist/vendor/starlight/components/SidebarPersistState.js +43 -0
- package/dist/vendor/starlight/components/SidebarPersister.astro +78 -0
- package/dist/vendor/starlight/components/SidebarRestorePoint.astro +12 -0
- package/dist/vendor/starlight/components/SidebarSublist.astro +154 -0
- package/dist/vendor/starlight/components/SiteTitle.astro +59 -0
- package/dist/vendor/starlight/components/SkipLink.astro +26 -0
- package/dist/vendor/starlight/components/SocialIcons.astro +32 -0
- package/dist/vendor/starlight/components/StarlightPage.astro +17 -0
- package/dist/vendor/starlight/components/TableOfContents/TableOfContentsList.astro +79 -0
- package/dist/vendor/starlight/components/TableOfContents/starlight-toc.js +93 -0
- package/dist/vendor/starlight/components/TableOfContents.astro +18 -0
- package/dist/vendor/starlight/components/ThemeProvider.astro +38 -0
- package/dist/vendor/starlight/components/ThemeSelect.astro +73 -0
- package/dist/vendor/starlight/components/TwoColumnContent.astro +54 -0
- package/dist/vendor/starlight/components.js +26 -0
- package/dist/vendor/starlight/constants.js +4 -0
- package/dist/vendor/starlight/expressive-code.d.js +1 -0
- package/dist/vendor/starlight/global.d.js +0 -0
- package/dist/vendor/starlight/i18n.d.js +1 -0
- package/dist/vendor/starlight/index.js +119 -0
- package/dist/vendor/starlight/integrations/asides-error.js +12 -0
- package/dist/vendor/starlight/integrations/asides.js +179 -0
- package/dist/vendor/starlight/integrations/code-rtl-support.js +21 -0
- package/dist/vendor/starlight/integrations/expressive-code/hast.d.js +1 -0
- package/dist/vendor/starlight/integrations/expressive-code/index.js +63 -0
- package/dist/vendor/starlight/integrations/expressive-code/preprocessor.js +92 -0
- package/dist/vendor/starlight/integrations/expressive-code/themes/night-owl-dark.jsonc +1796 -0
- package/dist/vendor/starlight/integrations/expressive-code/themes/night-owl-dark.jsonc.js +1 -0
- package/dist/vendor/starlight/integrations/expressive-code/themes/night-owl-light.jsonc +1695 -0
- package/dist/vendor/starlight/integrations/expressive-code/themes/night-owl-light.jsonc.js +1 -0
- package/dist/vendor/starlight/integrations/expressive-code/theming.js +62 -0
- package/dist/vendor/starlight/integrations/expressive-code/translations.js +29 -0
- package/dist/vendor/starlight/integrations/heading-links.js +61 -0
- package/dist/vendor/starlight/integrations/pagefind.js +43 -0
- package/dist/vendor/starlight/integrations/remark-rehype.js +68 -0
- package/dist/vendor/starlight/integrations/shared/absolutePathToLang.js +15 -0
- package/dist/vendor/starlight/integrations/shared/localeToLang.js +9 -0
- package/dist/vendor/starlight/integrations/shared/slugToLocale.js +10 -0
- package/dist/vendor/starlight/integrations/sitemap.js +20 -0
- package/dist/vendor/starlight/integrations/virtual-user-config.js +110 -0
- package/dist/vendor/starlight/integrations/vite-layer-order.js +42 -0
- package/dist/vendor/starlight/internal.js +6 -0
- package/dist/vendor/starlight/loaders.js +36 -0
- package/dist/vendor/starlight/locals.d.js +0 -0
- package/dist/vendor/starlight/locals.js +30 -0
- package/dist/vendor/starlight/package.json +231 -0
- package/dist/vendor/starlight/package.json.js +248 -0
- package/dist/vendor/starlight/props.js +0 -0
- package/dist/vendor/starlight/route-data.js +6 -0
- package/dist/vendor/starlight/routes/common.astro +23 -0
- package/dist/vendor/starlight/routes/ssr/404.astro +7 -0
- package/dist/vendor/starlight/routes/ssr/index.astro +14 -0
- package/dist/vendor/starlight/routes/static/404.astro +7 -0
- package/dist/vendor/starlight/routes/static/index.astro +12 -0
- package/dist/vendor/starlight/schema.js +102 -0
- package/dist/vendor/starlight/schemas/badge.js +26 -0
- package/dist/vendor/starlight/schemas/components.js +235 -0
- package/dist/vendor/starlight/schemas/expressiveCode.js +12 -0
- package/dist/vendor/starlight/schemas/favicon.js +33 -0
- package/dist/vendor/starlight/schemas/head.js +32 -0
- package/dist/vendor/starlight/schemas/hero.js +57 -0
- package/dist/vendor/starlight/schemas/i18n.js +101 -0
- package/dist/vendor/starlight/schemas/icon.js +7 -0
- package/dist/vendor/starlight/schemas/logo.js +24 -0
- package/dist/vendor/starlight/schemas/pagefind.js +108 -0
- package/dist/vendor/starlight/schemas/prevNextLink.js +14 -0
- package/dist/vendor/starlight/schemas/sidebar.js +80 -0
- package/dist/vendor/starlight/schemas/site-title.js +19 -0
- package/dist/vendor/starlight/schemas/social.js +19 -0
- package/dist/vendor/starlight/schemas/tableOfContents.js +16 -0
- package/dist/vendor/starlight/style/anchor-links.css +131 -0
- package/dist/vendor/starlight/style/asides.css +51 -0
- package/dist/vendor/starlight/style/layers.css +1 -0
- package/dist/vendor/starlight/style/markdown.css +253 -0
- package/dist/vendor/starlight/style/print.css +175 -0
- package/dist/vendor/starlight/style/props.css +188 -0
- package/dist/vendor/starlight/style/reset.css +52 -0
- package/dist/vendor/starlight/style/util.css +63 -0
- package/dist/vendor/starlight/translations/ar.json +30 -0
- package/dist/vendor/starlight/translations/ar.json.js +32 -0
- package/dist/vendor/starlight/translations/ca.json +43 -0
- package/dist/vendor/starlight/translations/ca.json.js +45 -0
- package/dist/vendor/starlight/translations/cs.json +43 -0
- package/dist/vendor/starlight/translations/cs.json.js +45 -0
- package/dist/vendor/starlight/translations/da.json +30 -0
- package/dist/vendor/starlight/translations/da.json.js +32 -0
- package/dist/vendor/starlight/translations/de.json +30 -0
- package/dist/vendor/starlight/translations/de.json.js +32 -0
- package/dist/vendor/starlight/translations/el.json +30 -0
- package/dist/vendor/starlight/translations/el.json.js +32 -0
- package/dist/vendor/starlight/translations/en.json +30 -0
- package/dist/vendor/starlight/translations/en.json.js +32 -0
- package/dist/vendor/starlight/translations/es.json +43 -0
- package/dist/vendor/starlight/translations/es.json.js +45 -0
- package/dist/vendor/starlight/translations/fa.json +30 -0
- package/dist/vendor/starlight/translations/fa.json.js +32 -0
- package/dist/vendor/starlight/translations/fi.json +30 -0
- package/dist/vendor/starlight/translations/fi.json.js +32 -0
- package/dist/vendor/starlight/translations/fr.json +33 -0
- package/dist/vendor/starlight/translations/fr.json.js +35 -0
- package/dist/vendor/starlight/translations/gl.json +43 -0
- package/dist/vendor/starlight/translations/gl.json.js +45 -0
- package/dist/vendor/starlight/translations/he.json +30 -0
- package/dist/vendor/starlight/translations/he.json.js +32 -0
- package/dist/vendor/starlight/translations/hi.json +30 -0
- package/dist/vendor/starlight/translations/hi.json.js +32 -0
- package/dist/vendor/starlight/translations/hu.json +43 -0
- package/dist/vendor/starlight/translations/hu.json.js +45 -0
- package/dist/vendor/starlight/translations/id.json +30 -0
- package/dist/vendor/starlight/translations/id.json.js +32 -0
- package/dist/vendor/starlight/translations/index.js +77 -0
- package/dist/vendor/starlight/translations/it.json +30 -0
- package/dist/vendor/starlight/translations/it.json.js +32 -0
- package/dist/vendor/starlight/translations/ja.json +30 -0
- package/dist/vendor/starlight/translations/ja.json.js +32 -0
- package/dist/vendor/starlight/translations/ko.json +30 -0
- package/dist/vendor/starlight/translations/ko.json.js +32 -0
- package/dist/vendor/starlight/translations/lv.json +30 -0
- package/dist/vendor/starlight/translations/lv.json.js +32 -0
- package/dist/vendor/starlight/translations/nb.json +30 -0
- package/dist/vendor/starlight/translations/nb.json.js +32 -0
- package/dist/vendor/starlight/translations/nl.json +30 -0
- package/dist/vendor/starlight/translations/nl.json.js +32 -0
- package/dist/vendor/starlight/translations/pl.json +33 -0
- package/dist/vendor/starlight/translations/pl.json.js +35 -0
- package/dist/vendor/starlight/translations/pt.json +30 -0
- package/dist/vendor/starlight/translations/pt.json.js +32 -0
- package/dist/vendor/starlight/translations/ro.json +30 -0
- package/dist/vendor/starlight/translations/ro.json.js +32 -0
- package/dist/vendor/starlight/translations/ru.json +33 -0
- package/dist/vendor/starlight/translations/ru.json.js +35 -0
- package/dist/vendor/starlight/translations/sk.json +30 -0
- package/dist/vendor/starlight/translations/sk.json.js +32 -0
- package/dist/vendor/starlight/translations/sv.json +30 -0
- package/dist/vendor/starlight/translations/sv.json.js +32 -0
- package/dist/vendor/starlight/translations/th.json +30 -0
- package/dist/vendor/starlight/translations/th.json.js +32 -0
- package/dist/vendor/starlight/translations/tr.json +30 -0
- package/dist/vendor/starlight/translations/tr.json.js +32 -0
- package/dist/vendor/starlight/translations/uk.json +30 -0
- package/dist/vendor/starlight/translations/uk.json.js +32 -0
- package/dist/vendor/starlight/translations/vi.json +30 -0
- package/dist/vendor/starlight/translations/vi.json.js +32 -0
- package/dist/vendor/starlight/translations/zh-CN.json +30 -0
- package/dist/vendor/starlight/translations/zh-CN.json.js +32 -0
- package/dist/vendor/starlight/translations/zh-TW.json +30 -0
- package/dist/vendor/starlight/translations/zh-TW.json.js +32 -0
- package/dist/vendor/starlight/types.js +0 -0
- package/dist/vendor/starlight/user-components/Aside.astro +40 -0
- package/dist/vendor/starlight/user-components/Badge.astro +148 -0
- package/dist/vendor/starlight/user-components/Card.astro +68 -0
- package/dist/vendor/starlight/user-components/CardGrid.astro +38 -0
- package/dist/vendor/starlight/user-components/FileTree.astro +137 -0
- package/dist/vendor/starlight/user-components/Icon.astro +42 -0
- package/dist/vendor/starlight/user-components/LinkButton.astro +78 -0
- package/dist/vendor/starlight/user-components/LinkCard.astro +78 -0
- package/dist/vendor/starlight/user-components/Steps.astro +90 -0
- package/dist/vendor/starlight/user-components/TabItem.astro +19 -0
- package/dist/vendor/starlight/user-components/Tabs.astro +268 -0
- package/dist/vendor/starlight/user-components/file-tree-icons.js +608 -0
- package/dist/vendor/starlight/user-components/rehype-file-tree.js +160 -0
- package/dist/vendor/starlight/user-components/rehype-steps.js +53 -0
- package/dist/vendor/starlight/user-components/rehype-tabs.js +73 -0
- package/dist/vendor/starlight/utils/base.js +14 -0
- package/dist/vendor/starlight/utils/canonical.js +13 -0
- package/dist/vendor/starlight/utils/collection-fs.js +13 -0
- package/dist/vendor/starlight/utils/collection.js +16 -0
- package/dist/vendor/starlight/utils/createPathFormatter.js +39 -0
- package/dist/vendor/starlight/utils/createTranslationSystem.js +60 -0
- package/dist/vendor/starlight/utils/error-map.js +110 -0
- package/dist/vendor/starlight/utils/format-path.js +9 -0
- package/dist/vendor/starlight/utils/generateToC.js +18 -0
- package/dist/vendor/starlight/utils/git.js +92 -0
- package/dist/vendor/starlight/utils/gitInlined.js +13 -0
- package/dist/vendor/starlight/utils/head.js +156 -0
- package/dist/vendor/starlight/utils/i18n.js +121 -0
- package/dist/vendor/starlight/utils/localizedUrl.js +37 -0
- package/dist/vendor/starlight/utils/navigation.js +320 -0
- package/dist/vendor/starlight/utils/path.js +52 -0
- package/dist/vendor/starlight/utils/plugins.js +355 -0
- package/dist/vendor/starlight/utils/routing/data.js +116 -0
- package/dist/vendor/starlight/utils/routing/index.js +107 -0
- package/dist/vendor/starlight/utils/routing/middleware.js +40 -0
- package/dist/vendor/starlight/utils/routing/types.js +0 -0
- package/dist/vendor/starlight/utils/routing.js +1 -0
- package/dist/vendor/starlight/utils/slugs.js +70 -0
- package/dist/vendor/starlight/utils/starlight-page.js +123 -0
- package/dist/vendor/starlight/utils/translations-fs.js +31 -0
- package/dist/vendor/starlight/utils/translations.js +31 -0
- package/dist/vendor/starlight/utils/types.js +0 -0
- package/dist/vendor/starlight/utils/url.js +5 -0
- package/dist/vendor/starlight/utils/user-config.js +255 -0
- package/dist/vendor/starlight/utils/validateLogoImports.js +22 -0
- package/dist/vendor/starlight/virtual-internal.d.js +0 -0
- package/dist/vendor/starlight/virtual.d.js +0 -0
- package/dist/worker/forms-worker.js +141 -0
- package/package.json +156 -0
- package/style/anchor-links.css +131 -0
- package/templates/github/deploy.workflow.yml +47 -0
- package/tsconfigs/strict.json +3 -0
- package/utils/git.ts +121 -0
- package/utils/gitInlined.ts +20 -0
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { getCollection } from 'astro:content';
|
|
3
|
+
import MainLayout from '../layouts/MainLayout.astro';
|
|
4
|
+
import Hero from '../components/site/Hero.astro';
|
|
5
|
+
import StageBanner from '../components/site/StageBanner.astro';
|
|
6
|
+
import SectionIntro from '../components/site/SectionIntro.astro';
|
|
7
|
+
import PathCard from '../components/site/PathCard.astro';
|
|
8
|
+
import CTASection from '../components/site/CTASection.astro';
|
|
9
|
+
import TrustCallout from '../components/site/TrustCallout.astro';
|
|
10
|
+
import NotesList from '../components/site/NotesList.astro';
|
|
11
|
+
import ChronicleList from '../components/site/ChronicleList.astro';
|
|
12
|
+
import ProfileList from '../components/site/ProfileList.astro';
|
|
13
|
+
import BookList from '../components/site/BookList.astro';
|
|
14
|
+
import { getPublishedObjectives, getPublishedQuestions, resolveContributorsForEntries } from '../utils/hub-content';
|
|
15
|
+
|
|
16
|
+
const notes = (await getCollection('notes', ({ data }) => !data.draft))
|
|
17
|
+
.sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf())
|
|
18
|
+
.slice(0, 3);
|
|
19
|
+
const questions = (await getPublishedQuestions()).slice(0, 2);
|
|
20
|
+
const objectives = (await getPublishedObjectives()).slice(0, 2);
|
|
21
|
+
const questionContributors = await resolveContributorsForEntries(questions);
|
|
22
|
+
const objectiveContributors = await resolveContributorsForEntries(objectives);
|
|
23
|
+
const people = (await getCollection('people')).slice(0, 2);
|
|
24
|
+
const agents = (await getCollection('agents')).slice(0, 2);
|
|
25
|
+
const books = (await getCollection('books')).sort((a, b) => a.data.order - b.data.order);
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
<MainLayout
|
|
29
|
+
title="Home"
|
|
30
|
+
description="TreeSeed is a documentation-first working site that keeps setup, inquiry, contributors, books, and verification visible in one place."
|
|
31
|
+
currentPath="/"
|
|
32
|
+
>
|
|
33
|
+
<div class="space-y-18">
|
|
34
|
+
<Hero>
|
|
35
|
+
<div slot="eyebrow">
|
|
36
|
+
<StageBanner />
|
|
37
|
+
</div>
|
|
38
|
+
<div slot="title">
|
|
39
|
+
<h1 class="max-w-4xl font-serif text-5xl font-bold tracking-tight text-[color:var(--site-text)] md:text-7xl">
|
|
40
|
+
A small TreeSeed site that doubles as documentation and a real test ground.
|
|
41
|
+
</h1>
|
|
42
|
+
</div>
|
|
43
|
+
<div slot="body">
|
|
44
|
+
<p class="max-w-3xl text-xl leading-10 text-[color:var(--site-text-muted)]">
|
|
45
|
+
TreeSeed works best when contributors can understand the package, inspect the
|
|
46
|
+
tenant surface, and verify real workflows without reconstructing everything from
|
|
47
|
+
source code alone. This fixture keeps those paths visible by combining pages,
|
|
48
|
+
questions, objectives, books, agents, and forms in one generic working site.
|
|
49
|
+
</p>
|
|
50
|
+
</div>
|
|
51
|
+
<div slot="actions">
|
|
52
|
+
<a href="/status/" class="border border-[color:var(--site-accent)] bg-[color:var(--site-accent)] px-5 py-3 text-base font-semibold text-[color:var(--site-text)] transition hover:border-[color:var(--site-blue)] hover:bg-[color:var(--site-blue-soft)]">See what exists today</a>
|
|
53
|
+
<a href="/vision/" class="border border-[color:var(--site-border-strong)] px-5 py-3 text-base font-semibold text-[color:var(--site-text)] transition hover:border-[color:var(--site-blue)] hover:bg-[color:var(--site-blue-soft)]">Read the vision</a>
|
|
54
|
+
</div>
|
|
55
|
+
<div slot="aside" class="space-y-4">
|
|
56
|
+
<p class="text-sm font-semibold uppercase tracking-[0.16em] text-[color:var(--site-blue-strong)]">Right now</p>
|
|
57
|
+
<ul class="space-y-4 text-base leading-8 text-[color:var(--site-text-muted)]">
|
|
58
|
+
<li>A full TreeSeed content surface with pages, notes, questions, objectives, people, agents, books, and docs.</li>
|
|
59
|
+
<li>Package defaults exercised through a realistic tenant instead of isolated unit tests alone.</li>
|
|
60
|
+
<li>Forms, book exports, and navigation paths that participate in release verification.</li>
|
|
61
|
+
<li>A documentation-first example meant to stay easy to inspect and easy to maintain.</li>
|
|
62
|
+
</ul>
|
|
63
|
+
</div>
|
|
64
|
+
</Hero>
|
|
65
|
+
|
|
66
|
+
<section class="grid gap-10 lg:grid-cols-[1.15fr_0.85fr]">
|
|
67
|
+
<div class="space-y-6">
|
|
68
|
+
<SectionIntro
|
|
69
|
+
eyebrow="What TreeSeed Is"
|
|
70
|
+
title="A working site for documentation, management, and verification"
|
|
71
|
+
description="TreeSeed is easiest to understand when the package runtime and the tenant experience are visible together. The fixture exists to make that relationship concrete."
|
|
72
|
+
/>
|
|
73
|
+
<div class="space-y-4 text-lg leading-9 text-[color:var(--site-text-muted)]">
|
|
74
|
+
<p>
|
|
75
|
+
The site is intentionally generic. It is not here to tell one project’s story.
|
|
76
|
+
It is here to show how TreeSeed can organize content, contributor roles, inquiry,
|
|
77
|
+
and operational guidance in a way that remains legible as the package evolves.
|
|
78
|
+
</p>
|
|
79
|
+
<p>
|
|
80
|
+
That makes the fixture useful in two directions at once. It teaches contributors
|
|
81
|
+
how TreeSeed is meant to feel from the tenant side, and it gives maintainers a
|
|
82
|
+
broad surface that can catch regressions in shared pages, content wiring, book
|
|
83
|
+
exports, and forms behavior.
|
|
84
|
+
</p>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
<TrustCallout
|
|
88
|
+
title="The site should stay smaller than the ambition."
|
|
89
|
+
body="The fixture should stay broad enough to catch real regressions and small enough that contributors can still understand it quickly."
|
|
90
|
+
/>
|
|
91
|
+
</section>
|
|
92
|
+
|
|
93
|
+
<section class="space-y-6 border-t border-[color:var(--site-border)] pt-10">
|
|
94
|
+
<SectionIntro
|
|
95
|
+
eyebrow="What Makes It Useful"
|
|
96
|
+
title="The site keeps docs, inquiry, and operations in the same surface"
|
|
97
|
+
description="The fixture is designed to show how TreeSeed can turn scattered workflow concepts into one inspectable tenant."
|
|
98
|
+
/>
|
|
99
|
+
<div class="grid gap-6 md:grid-cols-2">
|
|
100
|
+
<div class="border border-[color:var(--site-border)] bg-[color:var(--site-surface)] p-6">
|
|
101
|
+
<h2 class="font-serif text-2xl text-[color:var(--site-text)]">Content commitments</h2>
|
|
102
|
+
<ul class="mt-4 space-y-3 text-base leading-8 text-[color:var(--site-text-muted)]">
|
|
103
|
+
<li>Questions and objectives stay visible instead of disappearing into process notes.</li>
|
|
104
|
+
<li>Books and docs remain queryable content, not only navigation configuration.</li>
|
|
105
|
+
<li>People and agents are explicit contributors rather than invisible supporting actors.</li>
|
|
106
|
+
<li>Notes provide a lightweight place to explain decisions as the site changes.</li>
|
|
107
|
+
</ul>
|
|
108
|
+
</div>
|
|
109
|
+
<div class="border border-[color:var(--site-border)] bg-[color:var(--site-surface)] p-6">
|
|
110
|
+
<h2 class="font-serif text-2xl text-[color:var(--site-text)]">Execution posture</h2>
|
|
111
|
+
<ul class="mt-4 space-y-3 text-base leading-8 text-[color:var(--site-text-muted)]">
|
|
112
|
+
<li>The fixture participates directly in `check`, `build`, and smoke verification.</li>
|
|
113
|
+
<li>Shared defaults should read clearly in a generic tenant, not only in package code.</li>
|
|
114
|
+
<li>Generated book exports and forms flows are part of the package contract.</li>
|
|
115
|
+
<li>Contributor understanding is treated as an engineering concern, not polish for later.</li>
|
|
116
|
+
</ul>
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
</section>
|
|
120
|
+
|
|
121
|
+
<section class="space-y-6 border-t border-[color:var(--site-border)] pt-10">
|
|
122
|
+
<SectionIntro
|
|
123
|
+
eyebrow="What Exists Today"
|
|
124
|
+
title="A realistic tenant that stays intentionally generic"
|
|
125
|
+
description="The fixture is broad enough to exercise the package meaningfully, but it stays small enough to remain maintainable and easy to read."
|
|
126
|
+
/>
|
|
127
|
+
<div class="grid gap-6 lg:grid-cols-[1fr_1fr]">
|
|
128
|
+
<div class="space-y-4 text-base leading-8 text-[color:var(--site-text-muted)]">
|
|
129
|
+
<p>
|
|
130
|
+
The current fixture demonstrates the full TreeSeed surface: pages, notes, questions,
|
|
131
|
+
objectives, people, agents, books, docs, and forms. That gives package changes a
|
|
132
|
+
tenant-level target instead of relying on isolated examples.
|
|
133
|
+
</p>
|
|
134
|
+
<p>
|
|
135
|
+
It is still a fixture, not a turnkey product site. The goal is to make development
|
|
136
|
+
and management easier by keeping one coherent example current, not to simulate every
|
|
137
|
+
possible downstream use case.
|
|
138
|
+
</p>
|
|
139
|
+
</div>
|
|
140
|
+
<div class="border border-[color:var(--site-border)] bg-[color:var(--site-surface)] p-6">
|
|
141
|
+
<p class="text-sm font-semibold uppercase tracking-[0.16em] text-[color:var(--site-accent-strong)]">Best current shorthand</p>
|
|
142
|
+
<p class="mt-4 font-serif text-3xl text-[color:var(--site-text)]">
|
|
143
|
+
Documentation-first example, real enough to break usefully.
|
|
144
|
+
</p>
|
|
145
|
+
<p class="mt-4 text-base leading-8 text-[color:var(--site-text-muted)]">
|
|
146
|
+
If you want the evidence behind that judgment, the{' '}
|
|
147
|
+
<a href="/status/" class="text-[color:var(--site-text)] underline decoration-[color:var(--site-accent)] underline-offset-4">
|
|
148
|
+
Project Status
|
|
149
|
+
</a>{' '}
|
|
150
|
+
page is the right next step.
|
|
151
|
+
</p>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
</section>
|
|
155
|
+
|
|
156
|
+
<section class="grid gap-10 border-t border-[color:var(--site-border)] pt-10 lg:grid-cols-[1.2fr_0.8fr]">
|
|
157
|
+
<div class="space-y-6">
|
|
158
|
+
<SectionIntro
|
|
159
|
+
eyebrow="How To Read The Site"
|
|
160
|
+
title="Follow the path that matches the question you have"
|
|
161
|
+
description="Each public page has a single job: explain the platform, ground it in implementation reality, define active work, or make collaboration legible."
|
|
162
|
+
/>
|
|
163
|
+
<div class="border-b border-[color:var(--site-border)]">
|
|
164
|
+
<PathCard href="/vision/" title="Vision" meta="Why this fixture exists" description="Start with the reason TreeSeed keeps a generic working site in the repo." />
|
|
165
|
+
<PathCard href="/status/" title="Status" meta="What the fixture proves today" description="See which package surfaces the fixture is expected to exercise and why that matters." />
|
|
166
|
+
<PathCard href="/research-direction/" title="Research Direction" meta="What questions organize the work" description="Follow the implementation-facing questions that keep the fixture useful." />
|
|
167
|
+
<PathCard href="/architecture/" title="Architecture" meta="How to enter the docs surface" description="Use the bridge page to move into the books and deeper knowledge library." />
|
|
168
|
+
<PathCard href="/contribute/" title="Contribute" meta="How to help usefully" description="Find the most useful contribution lanes for a documentation-first TreeSeed site." />
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
<div class="border border-[color:var(--site-border)] bg-[color:var(--site-surface)] p-6">
|
|
172
|
+
<p class="text-sm font-semibold uppercase tracking-[0.16em] text-[color:var(--site-blue-strong)]">Useful feedback</p>
|
|
173
|
+
<p class="mt-4 text-base leading-8 text-[color:var(--site-text-muted)]">
|
|
174
|
+
The most helpful feedback is concrete: which defaults still feel confusing, which
|
|
175
|
+
workflows are hard to infer, and which parts of the fixture are too thin or too heavy
|
|
176
|
+
to serve as a reliable test ground.
|
|
177
|
+
</p>
|
|
178
|
+
</div>
|
|
179
|
+
</section>
|
|
180
|
+
|
|
181
|
+
<section class="space-y-6 border-t border-[color:var(--site-border)] pt-10">
|
|
182
|
+
<SectionIntro
|
|
183
|
+
eyebrow="Notes"
|
|
184
|
+
title="Working notes instead of polished announcements"
|
|
185
|
+
description="Notes are the lightest-weight way to explain why the fixture changed, what was learned, and where contributor guidance still needs work."
|
|
186
|
+
/>
|
|
187
|
+
<NotesList notes={notes} />
|
|
188
|
+
</section>
|
|
189
|
+
|
|
190
|
+
<section class="space-y-8 border-t border-[color:var(--site-border)] pt-10">
|
|
191
|
+
<SectionIntro
|
|
192
|
+
eyebrow="TreeSeed"
|
|
193
|
+
title="Questions, objectives, contributors, and books form one connected working surface"
|
|
194
|
+
description="The fixture shows how humans and agents can publish questions, anchor them to objectives, and connect that work to books and contributor profiles."
|
|
195
|
+
/>
|
|
196
|
+
<div class="grid gap-10 lg:grid-cols-2">
|
|
197
|
+
<div class="space-y-6">
|
|
198
|
+
<SectionIntro
|
|
199
|
+
eyebrow="Questions"
|
|
200
|
+
title="Open inquiry"
|
|
201
|
+
description="Questions make the active lines of curiosity explicit instead of leaving them implied in notes or book chapters."
|
|
202
|
+
/>
|
|
203
|
+
<ChronicleList
|
|
204
|
+
items={questions.map((question) => ({
|
|
205
|
+
href: `/questions/${question.id}/`,
|
|
206
|
+
title: question.data.title,
|
|
207
|
+
summary: question.data.summary,
|
|
208
|
+
status: question.data.status,
|
|
209
|
+
date: question.data.date,
|
|
210
|
+
meta: questionContributors.get(question.id)?.data.name,
|
|
211
|
+
tags: question.data.tags,
|
|
212
|
+
}))}
|
|
213
|
+
/>
|
|
214
|
+
</div>
|
|
215
|
+
<div class="space-y-6">
|
|
216
|
+
<SectionIntro
|
|
217
|
+
eyebrow="Objectives"
|
|
218
|
+
title="Guided direction"
|
|
219
|
+
description="Objectives show where the fixture is concentrating effort right now and how that effort relates to contributor experience and package verification."
|
|
220
|
+
/>
|
|
221
|
+
<ChronicleList
|
|
222
|
+
items={objectives.map((objective) => ({
|
|
223
|
+
href: `/objectives/${objective.id}/`,
|
|
224
|
+
title: objective.data.title,
|
|
225
|
+
summary: objective.data.summary,
|
|
226
|
+
status: objective.data.status,
|
|
227
|
+
date: objective.data.date,
|
|
228
|
+
meta: objectiveContributors.get(objective.id)?.data.name,
|
|
229
|
+
tags: objective.data.tags,
|
|
230
|
+
}))}
|
|
231
|
+
/>
|
|
232
|
+
</div>
|
|
233
|
+
</div>
|
|
234
|
+
<div class="grid gap-10 lg:grid-cols-2">
|
|
235
|
+
<div class="space-y-6">
|
|
236
|
+
<SectionIntro
|
|
237
|
+
eyebrow="Contributors"
|
|
238
|
+
title="People and agents are first-class participants"
|
|
239
|
+
description="The hub makes both human and agent contributors visible so authorship, stewardship, and inquiry relationships can stay inspectable over time."
|
|
240
|
+
/>
|
|
241
|
+
<ProfileList
|
|
242
|
+
items={[
|
|
243
|
+
...people.map((person) => ({
|
|
244
|
+
href: `/people/${person.id}/`,
|
|
245
|
+
name: person.data.name,
|
|
246
|
+
summary: person.data.summary,
|
|
247
|
+
meta: `${person.data.role} · ${person.data.affiliation}`,
|
|
248
|
+
status: person.data.status,
|
|
249
|
+
tags: person.data.tags,
|
|
250
|
+
})),
|
|
251
|
+
...agents.map((agent) => ({
|
|
252
|
+
href: `/agents/${agent.id}/`,
|
|
253
|
+
name: agent.data.name,
|
|
254
|
+
summary: agent.data.summary,
|
|
255
|
+
meta: `${agent.data.operator} · ${agent.data.runtimeStatus}`,
|
|
256
|
+
tags: agent.data.tags,
|
|
257
|
+
})),
|
|
258
|
+
]}
|
|
259
|
+
/>
|
|
260
|
+
</div>
|
|
261
|
+
<div class="space-y-6">
|
|
262
|
+
<SectionIntro
|
|
263
|
+
eyebrow="Books"
|
|
264
|
+
title="Books are queryable working references"
|
|
265
|
+
description="Long-form books stay grounded in the knowledge library while remaining visible as first-class TreeSeed records."
|
|
266
|
+
/>
|
|
267
|
+
<BookList
|
|
268
|
+
items={books.map((book) => ({
|
|
269
|
+
href: `/books/${book.id}/`,
|
|
270
|
+
title: book.data.title,
|
|
271
|
+
summary: book.data.summary,
|
|
272
|
+
meta: book.data.sectionLabel,
|
|
273
|
+
landingPath: book.data.landingPath,
|
|
274
|
+
downloadHref: book.data.downloadHref,
|
|
275
|
+
}))}
|
|
276
|
+
/>
|
|
277
|
+
</div>
|
|
278
|
+
</div>
|
|
279
|
+
</section>
|
|
280
|
+
|
|
281
|
+
<CTASection
|
|
282
|
+
title="Follow the Treeseed from question to objective to book"
|
|
283
|
+
body="If you are new here, start with current questions and objectives, then use the books and contributor pages to understand how TreeSeed organizes work across the platform."
|
|
284
|
+
primaryHref="/questions/"
|
|
285
|
+
primaryLabel="Browse questions"
|
|
286
|
+
secondaryHref="/books/"
|
|
287
|
+
secondaryLabel="Explore books"
|
|
288
|
+
/>
|
|
289
|
+
</div>
|
|
290
|
+
</MainLayout>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { getCollection, render } from 'astro:content';
|
|
3
|
+
import NoteLayout from '../../layouts/NoteLayout.astro';
|
|
4
|
+
|
|
5
|
+
export async function getStaticPaths() {
|
|
6
|
+
const notes = await getCollection('notes', ({ data }) => !data.draft);
|
|
7
|
+
return notes.map((note) => ({
|
|
8
|
+
params: { slug: note.id },
|
|
9
|
+
props: { note },
|
|
10
|
+
}));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const { note } = Astro.props;
|
|
14
|
+
const { Content } = await render(note);
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
<NoteLayout note={note.data}>
|
|
18
|
+
<Content />
|
|
19
|
+
</NoteLayout>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { getCollection } from 'astro:content';
|
|
3
|
+
import MainLayout from '../../layouts/MainLayout.astro';
|
|
4
|
+
import SectionIntro from '../../components/site/SectionIntro.astro';
|
|
5
|
+
import NotesList from '../../components/site/NotesList.astro';
|
|
6
|
+
|
|
7
|
+
const notes = (await getCollection('notes', ({ data }) => !data.draft)).sort(
|
|
8
|
+
(a, b) => b.data.date.valueOf() - a.data.date.valueOf(),
|
|
9
|
+
);
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<MainLayout title="Notes" description="Public working notes from the TreeSeed fixture site." currentPath="/notes/">
|
|
13
|
+
<div class="space-y-10">
|
|
14
|
+
<SectionIntro
|
|
15
|
+
eyebrow="Notes"
|
|
16
|
+
title="A public lab notebook for decisions, framing, and implementation reality"
|
|
17
|
+
description="This section is intentionally closer to a working log than a blog. It is where the fixture can publish implementation notes, documentation decisions, and platform observations without pretending every idea has already settled into a polished guide."
|
|
18
|
+
/>
|
|
19
|
+
<NotesList notes={notes} />
|
|
20
|
+
</div>
|
|
21
|
+
</MainLayout>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { getCollection, render } from 'astro:content';
|
|
3
|
+
import AuthoredEntryLayout from '../../layouts/AuthoredEntryLayout.astro';
|
|
4
|
+
import { resolveContributor, resolveReferences } from '../../utils/hub-content';
|
|
5
|
+
|
|
6
|
+
export async function getStaticPaths() {
|
|
7
|
+
const objectives = await getCollection('objectives', ({ data }) => !data.draft);
|
|
8
|
+
return objectives.map((objective) => ({
|
|
9
|
+
params: { slug: objective.id },
|
|
10
|
+
props: { objective },
|
|
11
|
+
}));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const { objective } = Astro.props;
|
|
15
|
+
const { Content } = await render(objective);
|
|
16
|
+
const contributor = await resolveContributor(objective.data.primaryContributor);
|
|
17
|
+
const relatedQuestions = await resolveReferences(objective.data.relatedQuestions);
|
|
18
|
+
const relatedBooks = await resolveReferences(objective.data.relatedBooks);
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
<AuthoredEntryLayout
|
|
22
|
+
entry={objective.data}
|
|
23
|
+
currentPath="/objectives/"
|
|
24
|
+
contributor={contributor}
|
|
25
|
+
metaLabel="Time horizon"
|
|
26
|
+
metaValue={objective.data.timeHorizon}
|
|
27
|
+
relatedQuestions={relatedQuestions}
|
|
28
|
+
relatedBooks={relatedBooks}
|
|
29
|
+
>
|
|
30
|
+
<Content />
|
|
31
|
+
</AuthoredEntryLayout>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
import MainLayout from '../../layouts/MainLayout.astro';
|
|
3
|
+
import SectionIntro from '../../components/site/SectionIntro.astro';
|
|
4
|
+
import ChronicleList from '../../components/site/ChronicleList.astro';
|
|
5
|
+
import { getPublishedObjectives, resolveContributorsForEntries } from '../../utils/hub-content';
|
|
6
|
+
|
|
7
|
+
const objectives = await getPublishedObjectives();
|
|
8
|
+
const contributors = await resolveContributorsForEntries(objectives);
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<MainLayout title="Objectives" description="Strategic objectives guiding the TreeSeed working site." currentPath="/objectives/">
|
|
12
|
+
<div class="space-y-10">
|
|
13
|
+
<SectionIntro
|
|
14
|
+
eyebrow="Objectives"
|
|
15
|
+
title="Public objectives for the evolving platform"
|
|
16
|
+
description="Objectives turn broad platform goals into legible lines of effort. They show what the site is actively trying to document, validate, or make easier to operate."
|
|
17
|
+
/>
|
|
18
|
+
<ChronicleList
|
|
19
|
+
items={objectives.map((objective) => ({
|
|
20
|
+
href: `/objectives/${objective.id}/`,
|
|
21
|
+
title: objective.data.title,
|
|
22
|
+
summary: objective.data.summary,
|
|
23
|
+
status: objective.data.status,
|
|
24
|
+
date: objective.data.date,
|
|
25
|
+
meta: contributors.get(objective.id)?.data.name,
|
|
26
|
+
tags: objective.data.tags,
|
|
27
|
+
}))}
|
|
28
|
+
/>
|
|
29
|
+
</div>
|
|
30
|
+
</MainLayout>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { getCollection, render } from 'astro:content';
|
|
3
|
+
import ProfileLayout from '../../layouts/ProfileLayout.astro';
|
|
4
|
+
import { resolveReferences } from '../../utils/hub-content';
|
|
5
|
+
|
|
6
|
+
export async function getStaticPaths() {
|
|
7
|
+
const people = await getCollection('people');
|
|
8
|
+
return people.map((person) => ({
|
|
9
|
+
params: { slug: person.id },
|
|
10
|
+
props: { person },
|
|
11
|
+
}));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const { person } = Astro.props;
|
|
15
|
+
const { Content } = await render(person);
|
|
16
|
+
const relatedQuestions = await resolveReferences(person.data.relatedQuestions);
|
|
17
|
+
const relatedObjectives = await resolveReferences(person.data.relatedObjectives);
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
<ProfileLayout
|
|
21
|
+
entry={person.data}
|
|
22
|
+
currentPath="/people/"
|
|
23
|
+
metaLabel="Role"
|
|
24
|
+
metaValue={`${person.data.role} · ${person.data.affiliation}`}
|
|
25
|
+
relatedQuestions={relatedQuestions}
|
|
26
|
+
relatedObjectives={relatedObjectives}
|
|
27
|
+
>
|
|
28
|
+
<Content />
|
|
29
|
+
</ProfileLayout>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { getCollection } from 'astro:content';
|
|
3
|
+
import MainLayout from '../../layouts/MainLayout.astro';
|
|
4
|
+
import SectionIntro from '../../components/site/SectionIntro.astro';
|
|
5
|
+
import ProfileList from '../../components/site/ProfileList.astro';
|
|
6
|
+
|
|
7
|
+
const people = await getCollection('people');
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<MainLayout title="People" description="Human contributors participating in the TreeSeed working site." currentPath="/people/">
|
|
11
|
+
<div class="space-y-10">
|
|
12
|
+
<SectionIntro
|
|
13
|
+
eyebrow="People"
|
|
14
|
+
title="Human contributors in the Treeseed"
|
|
15
|
+
description="People entries make human stewardship explicit. They show who is participating in the hub, what posture they hold, and which questions and objectives they are linked to."
|
|
16
|
+
/>
|
|
17
|
+
<ProfileList
|
|
18
|
+
items={people.map((person) => ({
|
|
19
|
+
href: `/people/${person.id}/`,
|
|
20
|
+
name: person.data.name,
|
|
21
|
+
summary: person.data.summary,
|
|
22
|
+
meta: `${person.data.role} · ${person.data.affiliation}`,
|
|
23
|
+
status: person.data.status,
|
|
24
|
+
tags: person.data.tags,
|
|
25
|
+
}))}
|
|
26
|
+
/>
|
|
27
|
+
</div>
|
|
28
|
+
</MainLayout>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { getCollection, render } from 'astro:content';
|
|
3
|
+
import AuthoredEntryLayout from '../../layouts/AuthoredEntryLayout.astro';
|
|
4
|
+
import { resolveContributor, resolveReferences } from '../../utils/hub-content';
|
|
5
|
+
|
|
6
|
+
export async function getStaticPaths() {
|
|
7
|
+
const questions = await getCollection('questions', ({ data }) => !data.draft);
|
|
8
|
+
return questions.map((question) => ({
|
|
9
|
+
params: { slug: question.id },
|
|
10
|
+
props: { question },
|
|
11
|
+
}));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const { question } = Astro.props;
|
|
15
|
+
const { Content } = await render(question);
|
|
16
|
+
const contributor = await resolveContributor(question.data.primaryContributor);
|
|
17
|
+
const relatedObjectives = await resolveReferences(question.data.relatedObjectives);
|
|
18
|
+
const relatedBooks = await resolveReferences(question.data.relatedBooks);
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
<AuthoredEntryLayout
|
|
22
|
+
entry={question.data}
|
|
23
|
+
currentPath="/questions/"
|
|
24
|
+
contributor={contributor}
|
|
25
|
+
metaLabel="Question type"
|
|
26
|
+
metaValue={question.data.questionType}
|
|
27
|
+
relatedObjectives={relatedObjectives}
|
|
28
|
+
relatedBooks={relatedBooks}
|
|
29
|
+
>
|
|
30
|
+
<Content />
|
|
31
|
+
</AuthoredEntryLayout>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
import MainLayout from '../../layouts/MainLayout.astro';
|
|
3
|
+
import SectionIntro from '../../components/site/SectionIntro.astro';
|
|
4
|
+
import ChronicleList from '../../components/site/ChronicleList.astro';
|
|
5
|
+
import { getPublishedQuestions, resolveContributorsForEntries } from '../../utils/hub-content';
|
|
6
|
+
|
|
7
|
+
const questions = await getPublishedQuestions();
|
|
8
|
+
const contributors = await resolveContributorsForEntries(questions);
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<MainLayout title="Questions" description="Open questions guiding the TreeSeed working site." currentPath="/questions/">
|
|
12
|
+
<div class="space-y-10">
|
|
13
|
+
<SectionIntro
|
|
14
|
+
eyebrow="Questions"
|
|
15
|
+
title="A public stream of research questions"
|
|
16
|
+
description="Questions are the atomic units of inquiry in the Treeseed. They capture what humans and agents are trying to understand, test, or make more legible over time."
|
|
17
|
+
/>
|
|
18
|
+
<ChronicleList
|
|
19
|
+
items={questions.map((question) => ({
|
|
20
|
+
href: `/questions/${question.id}/`,
|
|
21
|
+
title: question.data.title,
|
|
22
|
+
summary: question.data.summary,
|
|
23
|
+
status: question.data.status,
|
|
24
|
+
date: question.data.date,
|
|
25
|
+
meta: contributors.get(question.id)?.data.name,
|
|
26
|
+
tags: question.data.tags,
|
|
27
|
+
}))}
|
|
28
|
+
/>
|
|
29
|
+
</div>
|
|
30
|
+
</MainLayout>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
id: string;
|
|
3
|
+
provides: {
|
|
4
|
+
forms: string[];
|
|
5
|
+
agents: {
|
|
6
|
+
execution: string[];
|
|
7
|
+
mutation: string[];
|
|
8
|
+
repository: string[];
|
|
9
|
+
verification: string[];
|
|
10
|
+
notification: string[];
|
|
11
|
+
research: string[];
|
|
12
|
+
handlers: string[];
|
|
13
|
+
};
|
|
14
|
+
deploy: string[];
|
|
15
|
+
content: {
|
|
16
|
+
docs: string[];
|
|
17
|
+
};
|
|
18
|
+
site: string[];
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export default _default;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { defineTreeseedPlugin } from "../plugin.js";
|
|
2
|
+
var default_plugin_default = defineTreeseedPlugin({
|
|
3
|
+
id: "treeseed-core-default",
|
|
4
|
+
provides: {
|
|
5
|
+
forms: ["store_only", "notify_admin", "full_email"],
|
|
6
|
+
agents: {
|
|
7
|
+
execution: ["stub", "manual", "copilot"],
|
|
8
|
+
mutation: ["local_branch"],
|
|
9
|
+
repository: ["stub", "git"],
|
|
10
|
+
verification: ["stub", "local"],
|
|
11
|
+
notification: ["stub"],
|
|
12
|
+
research: ["stub"],
|
|
13
|
+
handlers: [
|
|
14
|
+
"planner",
|
|
15
|
+
"architect",
|
|
16
|
+
"engineer",
|
|
17
|
+
"notifier",
|
|
18
|
+
"researcher",
|
|
19
|
+
"reviewer",
|
|
20
|
+
"releaser"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
deploy: ["cloudflare"],
|
|
24
|
+
content: {
|
|
25
|
+
docs: ["default"]
|
|
26
|
+
},
|
|
27
|
+
site: ["default"]
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
export {
|
|
31
|
+
default_plugin_default as default
|
|
32
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const TREESEED_DEFAULT_PLUGIN_PACKAGE = "@treeseed/core/plugin-default";
|
|
2
|
+
export declare const TREESEED_DEFAULT_PROVIDER_SELECTIONS: {
|
|
3
|
+
forms: string;
|
|
4
|
+
agents: {
|
|
5
|
+
execution: string;
|
|
6
|
+
mutation: string;
|
|
7
|
+
repository: string;
|
|
8
|
+
verification: string;
|
|
9
|
+
notification: string;
|
|
10
|
+
research: string;
|
|
11
|
+
};
|
|
12
|
+
deploy: string;
|
|
13
|
+
content: {
|
|
14
|
+
docs: string;
|
|
15
|
+
};
|
|
16
|
+
site: string;
|
|
17
|
+
};
|
|
18
|
+
export declare const TREESEED_DEFAULT_PLUGIN_REFERENCES: {
|
|
19
|
+
package: string;
|
|
20
|
+
enabled: boolean;
|
|
21
|
+
}[];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const TREESEED_DEFAULT_PLUGIN_PACKAGE = "@treeseed/core/plugin-default";
|
|
2
|
+
const TREESEED_DEFAULT_PROVIDER_SELECTIONS = {
|
|
3
|
+
forms: "store_only",
|
|
4
|
+
agents: {
|
|
5
|
+
execution: "stub",
|
|
6
|
+
mutation: "local_branch",
|
|
7
|
+
repository: "stub",
|
|
8
|
+
verification: "stub",
|
|
9
|
+
notification: "stub",
|
|
10
|
+
research: "stub"
|
|
11
|
+
},
|
|
12
|
+
deploy: "cloudflare",
|
|
13
|
+
content: {
|
|
14
|
+
docs: "default"
|
|
15
|
+
},
|
|
16
|
+
site: "default"
|
|
17
|
+
};
|
|
18
|
+
const TREESEED_DEFAULT_PLUGIN_REFERENCES = [
|
|
19
|
+
{
|
|
20
|
+
package: TREESEED_DEFAULT_PLUGIN_PACKAGE,
|
|
21
|
+
enabled: true
|
|
22
|
+
}
|
|
23
|
+
];
|
|
24
|
+
export {
|
|
25
|
+
TREESEED_DEFAULT_PLUGIN_PACKAGE,
|
|
26
|
+
TREESEED_DEFAULT_PLUGIN_REFERENCES,
|
|
27
|
+
TREESEED_DEFAULT_PROVIDER_SELECTIONS
|
|
28
|
+
};
|