- 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)
180 lines
4.9 KiB
Markdown
180 lines
4.9 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to @supsys/discovery will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [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:
|
|
- [README.md](README.md) - Quick start and examples
|
|
- [Documentation Site](https://astrojs-discovery.docs.example.com) - Complete guides
|
|
- [Repository](https://git.supported.systems/astro/astro-discovery) - Source code and issues
|