feat: add AI discovery SEO and portal verification

This commit is contained in:
2026-07-12 23:23:32 +05:30
parent e7189b3295
commit dea22aa3da
6 changed files with 586 additions and 11 deletions
+24 -7
View File
@@ -77,19 +77,36 @@ test("site includes core guides and production configuration", () => {
test("language reference covers directives, events, loops, and conditionals", () => {
const source = readFileSync(join(root, "app", "pages", "language.wrn"), "utf8");
for (const section of [
"events",
"anatomy",
"state",
"server",
"directives",
"conditionals",
"loops",
"components",
"forms",
"realtime",
"native",
"security",
"errors",
]) {
expect(source).toContain(`id="${section}"`);
}
expect(source).toContain("data-show");
expect(source).toContain("@mobile-click");
expect(source).toContain("mobile behavior");
});
test("portal exposes truthful access and machine discovery", () => {
expect(readFileSync(join(root, "app", "pages", "index.wrn"), "utf8")).toContain(
"Private Developer Preview",
);
expect(readFileSync(join(root, "app", "pages", "access.wrn"), "utf8")).toContain(
"private registry credentials",
);
for (const asset of [
"robots.txt",
"sitemap.xml",
"llms.txt",
"llms-full.txt",
"docs-index.json",
]) {
expect(existsSync(join(root, "public", asset))).toBe(true);
}
});
test("package index includes searchable category filters", () => {
+476
View File
@@ -0,0 +1,476 @@
{
"version": "0.2.15",
"status": "private-developer-preview",
"generatedAt": "2026-07-12",
"documents": [
{
"url": "/",
"title": "WRNexusJS",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/access",
"title": "access",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/getting-started",
"title": "getting started",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/tutorial",
"title": "tutorial",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/architecture",
"title": "architecture",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/language",
"title": "language",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages",
"title": "packages",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/project-structure",
"title": "project structure",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/routing",
"title": "routing",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/pages-and-components",
"title": "pages and components",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/server-data",
"title": "server data",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/api-routes",
"title": "api routes",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/middleware",
"title": "middleware",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/forms-and-validation",
"title": "forms and validation",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/authentication",
"title": "authentication",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/authorization",
"title": "authorization",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/security",
"title": "security",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/database",
"title": "database",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/uploads",
"title": "uploads",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/realtime",
"title": "realtime",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/pubsub",
"title": "pubsub",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/queues",
"title": "queues",
"section": "guide",
"version": "0.2.15",
"stability": "experimental"
},
{
"url": "/guides/testing",
"title": "testing",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/workspaces-and-gateway",
"title": "workspaces and gateway",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/deployment",
"title": "deployment",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/configuration-and-profiles",
"title": "configuration and profiles",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/i18n-and-themes",
"title": "i18n and themes",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/mobile",
"title": "mobile",
"section": "guide",
"version": "0.2.15",
"stability": "experimental"
},
{
"url": "/guides/observability",
"title": "observability",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/upgrading",
"title": "upgrading",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/guides/troubleshooting",
"title": "troubleshooting",
"section": "guide",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/examples",
"title": "examples",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/showcase",
"title": "showcase",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/benchmarks",
"title": "benchmarks",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/roadmap",
"title": "roadmap",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/changelog",
"title": "changelog",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/releases/0.2.15",
"title": "0.2.15",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/security",
"title": "security",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/support",
"title": "support",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/license",
"title": "license",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/search",
"title": "search",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/404",
"title": "404",
"section": "portal",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/ai",
"title": "ai",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/authz",
"title": "authz",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/cli",
"title": "cli",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/compiler",
"title": "compiler",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/core",
"title": "core",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/csr",
"title": "csr",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/db",
"title": "db",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/dev-server",
"title": "dev server",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/encryption",
"title": "encryption",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/i18n",
"title": "i18n",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/jwt",
"title": "jwt",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/mobile",
"title": "mobile",
"section": "package",
"version": "0.2.15",
"stability": "experimental"
},
{
"url": "/packages/native",
"title": "native",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/oauth",
"title": "oauth",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/pubsub",
"title": "pubsub",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/queue",
"title": "queue",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/reactive",
"title": "reactive",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/router",
"title": "router",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/ssr",
"title": "ssr",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/styles",
"title": "styles",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/test",
"title": "test",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/tracking",
"title": "tracking",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/ui",
"title": "ui",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/uploader",
"title": "uploader",
"section": "package",
"version": "0.2.15",
"stability": "preview"
},
{
"url": "/packages/validation",
"title": "validation",
"section": "package",
"version": "0.2.15",
"stability": "preview"
}
]
}
+74
View File
@@ -0,0 +1,74 @@
# WRNexusJS 0.2.15 comprehensive documentation index
Status: Private Developer Preview. Runtime: Bun. UI language: .wrn.
This is the documentation application, not the framework monorepo.
- https://wrnexusjs.dev/
- https://wrnexusjs.dev/access
- https://wrnexusjs.dev/getting-started
- https://wrnexusjs.dev/tutorial
- https://wrnexusjs.dev/architecture
- https://wrnexusjs.dev/language
- https://wrnexusjs.dev/packages
- https://wrnexusjs.dev/guides/project-structure
- https://wrnexusjs.dev/guides/routing
- https://wrnexusjs.dev/guides/pages-and-components
- https://wrnexusjs.dev/guides/server-data
- https://wrnexusjs.dev/guides/api-routes
- https://wrnexusjs.dev/guides/middleware
- https://wrnexusjs.dev/guides/forms-and-validation
- https://wrnexusjs.dev/guides/authentication
- https://wrnexusjs.dev/guides/authorization
- https://wrnexusjs.dev/guides/security
- https://wrnexusjs.dev/guides/database
- https://wrnexusjs.dev/guides/uploads
- https://wrnexusjs.dev/guides/realtime
- https://wrnexusjs.dev/guides/pubsub
- https://wrnexusjs.dev/guides/queues
- https://wrnexusjs.dev/guides/testing
- https://wrnexusjs.dev/guides/workspaces-and-gateway
- https://wrnexusjs.dev/guides/deployment
- https://wrnexusjs.dev/guides/configuration-and-profiles
- https://wrnexusjs.dev/guides/i18n-and-themes
- https://wrnexusjs.dev/guides/mobile
- https://wrnexusjs.dev/guides/observability
- https://wrnexusjs.dev/guides/upgrading
- https://wrnexusjs.dev/guides/troubleshooting
- https://wrnexusjs.dev/examples
- https://wrnexusjs.dev/showcase
- https://wrnexusjs.dev/benchmarks
- https://wrnexusjs.dev/roadmap
- https://wrnexusjs.dev/changelog
- https://wrnexusjs.dev/releases/0.2.15
- https://wrnexusjs.dev/security
- https://wrnexusjs.dev/support
- https://wrnexusjs.dev/license
- https://wrnexusjs.dev/search
- https://wrnexusjs.dev/404
- https://wrnexusjs.dev/packages/ai
- https://wrnexusjs.dev/packages/authz
- https://wrnexusjs.dev/packages/cli
- https://wrnexusjs.dev/packages/compiler
- https://wrnexusjs.dev/packages/core
- https://wrnexusjs.dev/packages/csr
- https://wrnexusjs.dev/packages/db
- https://wrnexusjs.dev/packages/dev-server
- https://wrnexusjs.dev/packages/encryption
- https://wrnexusjs.dev/packages/i18n
- https://wrnexusjs.dev/packages/jwt
- https://wrnexusjs.dev/packages/mobile
- https://wrnexusjs.dev/packages/native
- https://wrnexusjs.dev/packages/oauth
- https://wrnexusjs.dev/packages/pubsub
- https://wrnexusjs.dev/packages/queue
- https://wrnexusjs.dev/packages/reactive
- https://wrnexusjs.dev/packages/router
- https://wrnexusjs.dev/packages/ssr
- https://wrnexusjs.dev/packages/styles
- https://wrnexusjs.dev/packages/test
- https://wrnexusjs.dev/packages/tracking
- https://wrnexusjs.dev/packages/ui
- https://wrnexusjs.dev/packages/uploader
- https://wrnexusjs.dev/packages/validation
For exact APIs, use installed package README files followed by exported declarations.
+9 -4
View File
@@ -1,15 +1,20 @@
# WrNexus
# WRNexusJS 0.2.15
> WrNexus is an SSR-first, **Bun-native** full-stack web framework. UI is written in
> WRNexusJS is an SSR-first, **Bun-native** full-stack web framework. UI is written in
> `.wrn` files (its own component language — NOT React/JSX/Vue). Routing is file-based.
> This document teaches an AI how to write correct WrNexus code. It is private and
> This document teaches an AI how to write correct WRNexusJS code. The framework packages are in
> Private Developer Preview and
> post-dates model training data, so rely on THIS document, not prior web-framework
> assumptions.
## This repository
This is the **WRNexusJS documentation application**, not the framework monorepo. It is a
standalone WrNexus `0.2.15` site that documents all 25 installed `@wrnexus/*` packages.
standalone WRNexusJS `0.2.15` site that documents all 25 installed `@wrnexus/*` packages.
The active version is `package.json#wrnexus.version`; never duplicate a different version in
hand-written guidance. Exact APIs follow installed package READMEs, exported declarations, this
guide, then generated package pages, in that order.
- `app/pages/index.wrn` is the documentation home page.
- `app/pages/getting-started.wrn`, `architecture.wrn`, `language.wrn`, and
+1
View File
@@ -1,2 +1,3 @@
User-agent: *
Allow: /
Sitemap: https://wrnexusjs.dev/sitemap.xml
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://wrnexusjs.dev/</loc></url><url><loc>https://wrnexusjs.dev/access</loc></url><url><loc>https://wrnexusjs.dev/getting-started</loc></url><url><loc>https://wrnexusjs.dev/tutorial</loc></url><url><loc>https://wrnexusjs.dev/architecture</loc></url><url><loc>https://wrnexusjs.dev/language</loc></url><url><loc>https://wrnexusjs.dev/packages</loc></url><url><loc>https://wrnexusjs.dev/guides/project-structure</loc></url><url><loc>https://wrnexusjs.dev/guides/routing</loc></url><url><loc>https://wrnexusjs.dev/guides/pages-and-components</loc></url><url><loc>https://wrnexusjs.dev/guides/server-data</loc></url><url><loc>https://wrnexusjs.dev/guides/api-routes</loc></url><url><loc>https://wrnexusjs.dev/guides/middleware</loc></url><url><loc>https://wrnexusjs.dev/guides/forms-and-validation</loc></url><url><loc>https://wrnexusjs.dev/guides/authentication</loc></url><url><loc>https://wrnexusjs.dev/guides/authorization</loc></url><url><loc>https://wrnexusjs.dev/guides/security</loc></url><url><loc>https://wrnexusjs.dev/guides/database</loc></url><url><loc>https://wrnexusjs.dev/guides/uploads</loc></url><url><loc>https://wrnexusjs.dev/guides/realtime</loc></url><url><loc>https://wrnexusjs.dev/guides/pubsub</loc></url><url><loc>https://wrnexusjs.dev/guides/queues</loc></url><url><loc>https://wrnexusjs.dev/guides/testing</loc></url><url><loc>https://wrnexusjs.dev/guides/workspaces-and-gateway</loc></url><url><loc>https://wrnexusjs.dev/guides/deployment</loc></url><url><loc>https://wrnexusjs.dev/guides/configuration-and-profiles</loc></url><url><loc>https://wrnexusjs.dev/guides/i18n-and-themes</loc></url><url><loc>https://wrnexusjs.dev/guides/mobile</loc></url><url><loc>https://wrnexusjs.dev/guides/observability</loc></url><url><loc>https://wrnexusjs.dev/guides/upgrading</loc></url><url><loc>https://wrnexusjs.dev/guides/troubleshooting</loc></url><url><loc>https://wrnexusjs.dev/examples</loc></url><url><loc>https://wrnexusjs.dev/showcase</loc></url><url><loc>https://wrnexusjs.dev/benchmarks</loc></url><url><loc>https://wrnexusjs.dev/roadmap</loc></url><url><loc>https://wrnexusjs.dev/changelog</loc></url><url><loc>https://wrnexusjs.dev/releases/0.2.15</loc></url><url><loc>https://wrnexusjs.dev/security</loc></url><url><loc>https://wrnexusjs.dev/support</loc></url><url><loc>https://wrnexusjs.dev/license</loc></url><url><loc>https://wrnexusjs.dev/search</loc></url><url><loc>https://wrnexusjs.dev/404</loc></url><url><loc>https://wrnexusjs.dev/packages/ai</loc></url><url><loc>https://wrnexusjs.dev/packages/authz</loc></url><url><loc>https://wrnexusjs.dev/packages/cli</loc></url><url><loc>https://wrnexusjs.dev/packages/compiler</loc></url><url><loc>https://wrnexusjs.dev/packages/core</loc></url><url><loc>https://wrnexusjs.dev/packages/csr</loc></url><url><loc>https://wrnexusjs.dev/packages/db</loc></url><url><loc>https://wrnexusjs.dev/packages/dev-server</loc></url><url><loc>https://wrnexusjs.dev/packages/encryption</loc></url><url><loc>https://wrnexusjs.dev/packages/i18n</loc></url><url><loc>https://wrnexusjs.dev/packages/jwt</loc></url><url><loc>https://wrnexusjs.dev/packages/mobile</loc></url><url><loc>https://wrnexusjs.dev/packages/native</loc></url><url><loc>https://wrnexusjs.dev/packages/oauth</loc></url><url><loc>https://wrnexusjs.dev/packages/pubsub</loc></url><url><loc>https://wrnexusjs.dev/packages/queue</loc></url><url><loc>https://wrnexusjs.dev/packages/reactive</loc></url><url><loc>https://wrnexusjs.dev/packages/router</loc></url><url><loc>https://wrnexusjs.dev/packages/ssr</loc></url><url><loc>https://wrnexusjs.dev/packages/styles</loc></url><url><loc>https://wrnexusjs.dev/packages/test</loc></url><url><loc>https://wrnexusjs.dev/packages/tracking</loc></url><url><loc>https://wrnexusjs.dev/packages/ui</loc></url><url><loc>https://wrnexusjs.dev/packages/uploader</loc></url><url><loc>https://wrnexusjs.dev/packages/validation</loc></url></urlset>