Skip to content

0bserver07/codingagents.dev

Repository files navigation

codingagents.dev

A full-featured link aggregator and discussion platform for the AI/coding community, built with Rails 8. Inspired by Lobsters and Hacker News.

Features

  • 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

Tech Stack

  • 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

Getting Started

Prerequisites

  • Ruby 3.3+
  • PostgreSQL
  • Node.js (for Tailwind)

Setup

# 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/dev

Environment Variables

Copy .env.example to .env and configure as needed:

cp .env.example .env

See .env.example for the full list of available variables.

Running Tests

bundle exec rspec

Linting

bin/rubocop

Deployment

Configured for Kamal 2 deployment with PostgreSQL.

# Configure your secrets (see .kamal/secrets for required env vars)
# Then deploy
bin/kamal deploy

See config/deploy.yml for server configuration.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -am 'Add my feature')
  4. Push to the branch (git push origin feature/my-feature)
  5. Create a Pull Request

Security

See SECURITY.md for reporting vulnerabilities.

License

MIT License - see LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published