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

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