docs: Extract and organize CLAUDE.MD content, restructure documentation
This commit performs comprehensive documentation reorganization: 1. Extracted testing checklist from CLAUDE.MD to docs/standards/testing-checklist.md - Consolidated manual testing checklist - Added validation tools and resources - Created pre-release validation workflow 2. Streamlined CLAUDE.md to lightweight operational instructions - Python environment setup (uv) - Agent-developer protocol - Key documentation references - Removed redundant content (already in other docs) 3. Removed CLAUDE.MD (uppercase) - content was redundant - All content already exists in architecture/overview.md and projectplan docs - Only unique content (testing checklist) was extracted 4. Moved root documentation files to appropriate locations: - CONTAINER_IMPLEMENTATION_SUMMARY.md -> docs/reports/2025-11-19-container-implementation-summary.md - QUICKFIX-AUTH-LOOP.md -> docs/reports/2025-11-18-quickfix-auth-loop.md - TECHNOLOGY-STACK-SUMMARY.md -> docs/architecture/technology-stack-legacy.md - TODO_TEST_UPDATES.md -> docs/reports/2025-11-19-todo-test-updates.md 5. Consolidated design folders: - Moved all docs/designs/ content into docs/design/ - Renamed PHASE-5-EXECUTIVE-SUMMARY.md to phase-5-executive-summary.md (consistent naming) - Removed empty docs/designs/ directory 6. Added ADR-021: IndieAuth Provider Strategy - Documents decision to build own IndieAuth provider - Explains rationale and trade-offs Repository root now contains only: README.md, CLAUDE.md, CHANGELOG.md 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
127
docs/standards/testing-checklist.md
Normal file
127
docs/standards/testing-checklist.md
Normal file
@@ -0,0 +1,127 @@
|
||||
# Testing Checklist
|
||||
|
||||
This document provides a comprehensive checklist for testing StarPunk functionality before release.
|
||||
|
||||
## Manual Testing Checklist
|
||||
|
||||
### Core Functionality
|
||||
- [ ] Create notes via web interface
|
||||
- [ ] Create notes via Micropub JSON
|
||||
- [ ] Create notes via Micropub form-encoded
|
||||
- [ ] Notes display with proper microformats
|
||||
- [ ] Markdown renders correctly
|
||||
- [ ] Slugs generate uniquely
|
||||
- [ ] Timestamps record accurately
|
||||
|
||||
### Authentication & Security
|
||||
- [ ] IndieAuth login flow works
|
||||
- [ ] Micropub client authentication
|
||||
- [ ] Token expiration works
|
||||
- [ ] Rate limiting functions
|
||||
|
||||
### Syndication & Standards
|
||||
- [ ] RSS feed validates (W3C validator)
|
||||
- [ ] API returns correct status codes
|
||||
|
||||
### Automated Testing
|
||||
- [ ] All unit tests pass
|
||||
- [ ] All integration tests pass
|
||||
- [ ] Test coverage >80%
|
||||
|
||||
## Validation Tools
|
||||
|
||||
### IndieWeb Standards
|
||||
- **IndieWebify.me**: https://indiewebify.me/
|
||||
- Verify microformats (h-entry, h-card, h-feed)
|
||||
- Check IndieAuth implementation
|
||||
|
||||
- **IndieAuth Validator**: https://indieauth.com/validate
|
||||
- Test IndieAuth flow
|
||||
- Validate token handling
|
||||
|
||||
- **Micropub Test Suite**: https://micropub.rocks/
|
||||
- Comprehensive Micropub endpoint testing
|
||||
- Verify spec compliance
|
||||
|
||||
### Web Standards
|
||||
- **W3C Feed Validator**: https://validator.w3.org/feed/
|
||||
- Validate RSS 2.0 feed structure
|
||||
- Check date formatting
|
||||
- Verify CDATA wrapping
|
||||
|
||||
- **W3C HTML Validator**: https://validator.w3.org/
|
||||
- Validate HTML5 markup
|
||||
- Check semantic structure
|
||||
- Verify accessibility
|
||||
|
||||
- **JSON Validator**: https://jsonlint.com/
|
||||
- Validate API responses
|
||||
- Check Micropub payloads
|
||||
|
||||
## Testing Resources
|
||||
|
||||
### Specifications
|
||||
- IndieWeb Notes: https://indieweb.org/note
|
||||
- Micropub Spec: https://micropub.spec.indieweb.org
|
||||
- IndieAuth Spec: https://indieauth.spec.indieweb.org
|
||||
- Microformats2: http://microformats.org/wiki/h-entry
|
||||
- RSS 2.0 Spec: https://www.rssboard.org/rss-specification
|
||||
|
||||
### Testing & Validation
|
||||
- Micropub Test Suite: https://micropub.rocks/
|
||||
- IndieAuth Testing: https://indieauth.com/
|
||||
- Microformats Parser: https://pin13.net/mf2/
|
||||
|
||||
### Example Implementations
|
||||
- IndieWeb Examples: https://indieweb.org/examples
|
||||
- Micropub Clients: https://indieweb.org/Micropub/Clients
|
||||
|
||||
## Pre-Release Validation Workflow
|
||||
|
||||
1. **Run Automated Tests**
|
||||
```bash
|
||||
uv run pytest
|
||||
```
|
||||
|
||||
2. **Validate HTML**
|
||||
- Test homepage output
|
||||
- Test note permalink output
|
||||
- Run through W3C HTML Validator
|
||||
|
||||
3. **Validate RSS Feed**
|
||||
- Access /feed.xml
|
||||
- Run through W3C Feed Validator
|
||||
- Verify in actual RSS reader
|
||||
|
||||
4. **Validate Microformats**
|
||||
- Test homepage with IndieWebify.me
|
||||
- Test note permalinks
|
||||
- Use microformats parser
|
||||
|
||||
5. **Validate Micropub**
|
||||
- Run micropub.rocks test suite
|
||||
- Test with real Micropub client (Quill)
|
||||
|
||||
6. **Manual Browser Testing**
|
||||
- Chrome/Chromium
|
||||
- Firefox
|
||||
- Safari (if available)
|
||||
- Mobile browsers
|
||||
|
||||
7. **Security Verification**
|
||||
- CSRF protection working
|
||||
- XSS prevention verified
|
||||
- SQL injection tests pass
|
||||
- Path traversal prevention works
|
||||
|
||||
## Success Criteria
|
||||
|
||||
All checklist items must pass before V1 release. If any validation tool reports errors, they must be fixed before proceeding.
|
||||
|
||||
## Related Documentation
|
||||
|
||||
- [Testing Strategy](/home/phil/Projects/starpunk/docs/architecture/overview.md#testing-strategy)
|
||||
- [Implementation Plan](/home/phil/Projects/starpunk/docs/projectplan/v1/implementation-plan.md)
|
||||
- [Feature Scope](/home/phil/Projects/starpunk/docs/projectplan/v1/feature-scope.md)
|
||||
|
||||
**Last Updated**: 2025-11-24
|
||||
Reference in New Issue
Block a user