astro-discovery/CHANGELOG.md
Ryan Malloy c7bcc4b1e5 chore: rebrand as @supsys/discovery and update repository URLs
- Change package name from @astrojs/discovery to @supsys/discovery
- Update repository URL to git.supported.systems
- Update CHANGELOG references
- Rebuild and verify all tests pass (89/89)
2025-12-22 19:49:26 -07:00

4.9 KiB

Changelog

All notable changes to @supsys/discovery will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.0.0] - 2025-12-22

Added

Core Discovery Files

  • robots.txt - Dynamic generation with smart defaults and LLM bot support
  • llms.txt - AI assistant discovery with site context and instructions
  • humans.txt - Human-readable credits and team information
  • security.txt - RFC 9116 compliant security contact information
  • canary.txt - Warrant canary for transparency and trust
  • WebFinger - RFC 7033 resource discovery for ActivityPub/federated services
  • sitemap.xml - Integration with @astrojs/sitemap

Features

robots.txt

  • Default allow-all policy with sensible defaults
  • LLM-specific bot rules (Anthropic-AI, GPTBot, Claude-Web, etc.)
  • Per-bot access control
  • Crawl delay settings
  • Custom rules and patterns
  • Path-based restrictions

llms.txt

  • Site description and positioning
  • Key features listing
  • Important pages highlighting
  • AI assistant-specific instructions
  • API endpoint documentation
  • Technology stack disclosure
  • Brand voice guidelines
  • Custom sections support

humans.txt

  • Team member information with roles
  • Thanks and acknowledgments
  • Site technical stack
  • Project story and philosophy
  • Fun facts
  • Custom sections

security.txt (RFC 9116)

  • Security contact information
  • Expiration date management
  • PGP encryption support
  • Policy and acknowledgment URLs
  • Hiring information
  • Canonical URL support
  • Automatic .well-known/security.txt placement

canary.txt

  • Warrant canary statements
  • Update frequency tracking
  • PGP signature support
  • Blockchain proof integration
  • Multiple statement types
  • Specific claims documentation

WebFinger (RFC 7033)

  • Resource discovery endpoint at /.well-known/webfinger
  • JRD (JSON Resource Descriptor) format
  • Static resource configuration
  • Content collection integration
  • Template variable system ({slug}, {id}, {data.field})
  • ActivityPub/Mastodon compatibility
  • OpenID Connect support
  • Rel filtering
  • CORS enabled by default

Configuration

  • Comprehensive TypeScript types
  • Sensible defaults for all options
  • Zero-config getting started experience
  • Full customization available
  • Environment-based toggles
  • Dynamic content support
  • HTTP cache control per file type
  • Custom template system
  • Content collection integration

Developer Experience

  • Full TypeScript support with type definitions
  • Automatic type inference
  • IntelliSense/autocomplete in IDEs
  • Validation with helpful error messages
  • Hot reload in development
  • Build-time generation
  • Virtual module pattern for configuration

Testing

  • 89 comprehensive tests covering all features
  • 100% feature coverage
  • Unit tests for all generators
  • Integration test patterns
  • Validation test cases
  • Example configurations tested

Documentation

  • Comprehensive README with examples
  • Complete Starlight documentation site (53 pages)
  • Diátaxis framework organization:
    • Tutorials (9 pages) - Step-by-step learning
    • How-to Guides (9 pages) - Problem-solving recipes
    • Reference (11 pages) - Complete API documentation
    • Explanation (10 pages) - Conceptual understanding
    • Examples (6 pages) - Real-world scenarios
    • Community (4 pages) - Contributing, FAQ, troubleshooting
  • Full API reference
  • TypeScript type documentation
  • RFC compliance documentation
  • Migration guides
  • Troubleshooting guides

Technical Details

Architecture

  • Astro integration hook system
  • Virtual module configuration passing
  • Dynamic route injection for WebFinger
  • Static file generation for discovery files
  • Generator pattern for extensibility
  • Type-safe configuration validation

Standards Compliance

  • RFC 9116 (security.txt)
  • RFC 7033 (WebFinger)
  • robots.txt specification
  • Open standards for llms.txt, humans.txt
  • JSON Resource Descriptor (JRD) format
  • W3C compliance

Performance

  • Build-time generation (zero runtime cost)
  • Configurable HTTP caching
  • Minimal bundle size impact
  • Tree-shakeable exports
  • Efficient file generation

Dependencies

  • Peer dependency: astro ^5.0.0
  • Dependency: @astrojs/sitemap ^3.6.0

Breaking Changes

  • None (initial release)

Future Enhancements

Considered for Future Versions

  • ads.txt support for advertising
  • manifest.json PWA integration
  • RSS feed discovery
  • OpenGraph meta tags
  • Structured data (JSON-LD)
  • Analytics discovery
  • i18n support for multi-language sites
  • Content negotiation for discovery files

For more information: