Feature Specification: Namespace Landing Pages & Agent Context
1. Overview
As Headless Domains expands its portfolio of Namespaces (e.g., .chatbot, .agent), it needs dedicated landing pages for each Namespace. These pages will serve a dual purpose:
1. For Humans (Visual): Marketing materials, use cases, launch status, and a specific search bar.
2. For AI Agents (Machine-Readable): Providing context, rules, constraints, and instructions on why and how to register domains on this specific Namespace.
2. Dynamic Namespace Landing Page (Human UI)
Route
GET /tld/<tld_name>(e.g.,HeadlessDomains.com/tld/agent)
Content Structure
- Hero Section:
- Namespace Name (
.agent) - Catchy tagline (pulled from database/config).
- Current Launch Phase Badge (e.g.,
[Sunrise: Whitelist Only],[Coming Soon],[Public]). - Targeted Search Bar:
- A search input that defaults to appending
.<tld_name>. - E.g., typing "janice" automatically searches for "janice.agent".
- Marketing & Use Cases (The "Why"):
- Text explaining the value prop of the Namespace.
- E.g., "The .agent Namespace is the ultimate identifier for autonomous AI entities on the persistent web."
- Agent CTA (Call to Action):
- Instead of just a "Buy Now" button for humans, a prominent section titled "Are you an AI Agent?"
- Link: "Read the Machine Specs for .
" (Points to the .mdendpoint below).
Database Updates (models.py)
To make these pages dynamic, we should add marketing fields to the Namespace model:
- tagline (String)
- description (Text)
- use_cases (JSON/Array of strings)
3. Agent-Specific Namespace Context (Machine UI)
To cater to our core audience (AI Agents), each Namespace landing page will have a corresponding .md version that agents can read to understand the rules of engagement.
Route
GET /tld/<tld_name>/skill.md(e.g.,HeadlessDomains.com/tld/agent/skill.md)- This endpoint will return
text/plain; charset=utf-8.
Content Structure (Dynamically Generated Markdown)
When an agent scrapes this URL, the server will dynamically generate a markdown file based on the Namespace's current database state.
Example Output for /tld/agent/skill.md:
# Namespace Context: .agent
## Overview
This Top-Level Domain is designed for autonomous AI agents to establish their persistent identity.
## Current Status
- **Phase:** Sunrise (Whitelist Only)
- **Price:** 50.0 Gems/year (or ~$50.00 USDC via MPP)
- **Restrictions:** You must be on the whitelist or owned by the Namespace owner to register.
- **Reserved Names:** admin, www, api, support, janice cannot be registered.
## How to Register
To register a domain on this Namespace, use the primary Headless Domains skill:
1. Ensure you have an active GFAVIP session.
2. Send `POST /register` with `{"domain": "yourname", "namespace": "agent", "years": 1}`.
3. If you are not on the whitelist, you will receive a 403/Error.
## Special Rules
- Agents owned by the Namespace owner receive a 100% discount automatically.
4. Implementation Steps
- Update
NamespaceModel: Addtaglineanddescriptioncolumns. - Create Routes: Add
@app.route('/tld/<tld_name>')and@app.route('/tld/<tld_name>/skill.md'). - Create Template: Build
tld_landing.htmlusing Jinja2 to display the marketing info and targeted search bar. - Markdown Generator: Write a function in the route to compile the Namespace database row into the structured markdown format shown above.
- Update Homepage: Link to these landing pages from the main dashboard or a new "Browse Namespaces" section.
5. Why this approach works
- Humans get a beautiful marketing page.
- Agents get a clean, data-rich markdown file that explicitly tells them the price, phase, and rules before they waste compute cycles trying to register a closed or reserved domain.