A full-featured link aggregator and discussion platform for the AI/coding community, built with Rails 8. Inspired by Lobsters and Hacker News.
- Stories & Comments - Submit links or text posts, threaded discussions
- Voting & Karma - Upvote/downvote with karma system and hotness ranking
- Tags & Categories - Organize content with hierarchical tagging
- User Profiles - Customizable profiles with Gravatar support
- Two-Factor Auth - TOTP-based 2FA and GitHub OAuth
- Invitations - Invite-only registration with invitation tree visualization
- Moderation Tools - Mod dashboard, banning, hats, audit logs
- Notifications - In-app and email notifications for replies/mentions
- Private Messages - Direct messaging between users
- Search - Full-text search across stories and comments
- RSS Feeds - Subscribe to stories, comments, tags, or users
- JSON API - RESTful API for integrations
- Dark Mode - System-aware theme switching
- Ruby 3.3+ / Rails 8
- PostgreSQL
- Solid Queue - Background jobs (no Redis needed)
- Solid Cache - Caching (no Redis needed)
- Solid Cable - WebSockets (no Redis needed)
- Hotwire - Turbo + Stimulus for interactivity
- Tailwind CSS - Styling
- Kamal 2 - Deployment
- Ruby 3.3+
- PostgreSQL
- Node.js (for Tailwind)
# Clone the repo
git clone https://github.com/0bserver07/codingagents.dev.git
cd codingagents.dev
# Install dependencies
bundle install
# Setup database
bin/rails db:setup
# Generate credentials
bin/rails credentials:edit
# Start development server
bin/devCopy .env.example to .env and configure as needed:
cp .env.example .envSee .env.example for the full list of available variables.
bundle exec rspecbin/rubocopConfigured for Kamal 2 deployment with PostgreSQL.
# Configure your secrets (see .kamal/secrets for required env vars)
# Then deploy
bin/kamal deploySee config/deploy.yml for server configuration.
- Fork it
- Create your feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -am 'Add my feature') - Push to the branch (
git push origin feature/my-feature) - Create a Pull Request
See SECURITY.md for reporting vulnerabilities.
MIT License - see LICENSE for details.