- 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)
4.9 KiB
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.txtplacement
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:
- README.md - Quick start and examples
- Documentation Site - Complete guides
- Repository - Source code and issues