Initial commit: Bifrost accessible fediverse client
- Full ActivityPub support for Pleroma, GoToSocial, and Mastodon - Screen reader optimized interface with PySide6 - Timeline switching with tabs and keyboard shortcuts (Ctrl+1-4) - Threaded conversation navigation with expand/collapse - Cross-platform desktop notifications via plyer - Customizable sound pack system with audio feedback - Complete keyboard navigation and accessibility features - XDG Base Directory compliant configuration - Multiple account support with OAuth authentication 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
65
README.md
Normal file
65
README.md
Normal file
@ -0,0 +1,65 @@
|
||||
# Bifrost
|
||||
|
||||
A fully accessible fediverse client built with PySide6, designed specifically for screen reader users.
|
||||
|
||||
## Vibe Coding Project
|
||||
|
||||
This project was created through "vibe coding" - a collaborative development approach where a human (Storm Dragon) provides direction, requirements, and testing while an AI assistant (Claude) handles the actual code implementation. Vibe coding combines human creativity and domain expertise with AI's rapid development capabilities, resulting in functional software that meets real accessibility needs.
|
||||
|
||||
**All code in this project was written by Claude (Anthropic's AI assistant)** based on specifications and feedback from Storm Dragon.
|
||||
|
||||
## Features
|
||||
|
||||
- **Full ActivityPub Support**: Compatible with Pleroma, GoToSocial, and other fediverse servers
|
||||
- **Screen Reader Optimized**: Designed from the ground up for excellent accessibility
|
||||
- **Threaded Conversations**: Navigate complex conversation trees with keyboard shortcuts
|
||||
- **Timeline Switching**: Easy navigation between Home, Mentions, Local, and Federated timelines
|
||||
- **Desktop Notifications**: Cross-platform notifications for mentions, direct messages, and timeline updates
|
||||
- **Customizable Audio Feedback**: Rich sound pack system with themed audio notifications
|
||||
- **Clean Interface**: Focused on functionality over visual design
|
||||
- **Keyboard Navigation**: Complete keyboard control with intuitive shortcuts
|
||||
|
||||
## Audio System
|
||||
|
||||
Bifrost includes a sophisticated sound system with:
|
||||
- Customizable sound packs (includes Default sounds)
|
||||
- Audio feedback for all major actions
|
||||
- Per-event volume control
|
||||
- Cross-platform audio support
|
||||
|
||||
## Technology Stack
|
||||
|
||||
- **PySide6**: Main GUI framework for proven accessibility
|
||||
- **ActivityPub**: Full federation protocol support
|
||||
- **simpleaudio**: Cross-platform audio with subprocess fallback
|
||||
- **Plyer**: Cross-platform desktop notifications
|
||||
- **XDG Base Directory**: Standards-compliant configuration storage
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
git clone <repository>
|
||||
cd bifrost
|
||||
pip install -r requirements.txt
|
||||
python bifrost.py
|
||||
```
|
||||
|
||||
## Accessibility Features
|
||||
|
||||
- Complete keyboard navigation
|
||||
- Proper screen reader announcements
|
||||
- Focus management and tab order
|
||||
- Accessible names and descriptions for all controls
|
||||
- Thread expansion/collapse with audio feedback
|
||||
|
||||
## Contributing
|
||||
|
||||
This is a vibe coding project where AI handles implementation. Human contributors can:
|
||||
- Test accessibility with different screen readers
|
||||
- Suggest features and improvements
|
||||
- Create new sound packs
|
||||
- Report bugs and usability issues
|
||||
|
||||
## License
|
||||
|
||||
This project demonstrates the potential of human-AI collaboration in creating accessible software. It is released under the gpl version 3. See LICENSE file for details.
|
Reference in New Issue
Block a user