No updates detected yet. GitHub releases will appear here.
For empowering community 🌱
翻訳待ち
Loading the full README.
Read the full README ↗Welcome to the Forem codebase, the platform that powers dev.to. We are so excited to have you. With your help, we can build out Forem’s usability, scalability, and stability to better serve our communities.
Forem is open source software for building communities. Communities for your peers, customers, fanbases, families, friends, and any other time and space where people need to come together to be part of a collective. See our announcement post for a high-level overview of what Forem is.
dev.to (or just DEV) is hosted by Forem. It is a community of software developers who write articles, take part in discussions, and build their professional profiles. We value supportive and constructive dialogue in the pursuit of great code and career growth for all members. The ecosystem spans from beginner to advanced developers, and all are welcome to find their place within our community. ❤️
We welcome pull requests on any issue, regardless of its current status, if it provides a fix or improvement. While we cannot guarantee that every PR will be merged, we value legitimate suggestions and contributions.
All pull requests should include appropriate tests. Our current focus is primarily on backend-related regression tests, while frontend changes may require more extensive user review.
We welcome AI-assisted pull requests but will turn away "slop" — all submissions must maintain high standards of code quality and meaningful utility.
🤖 AI Agents: Check out
AGENTS.mdfor more instructions. Forem also synchronizes these rules across.cursorrules,.windsurfrules, and.github/copilot-instructions.mdfor specific IDEs and environments.
Please also check out the Contributing to Forem guide for more detailed guidelines.
This section provides a high-level quick start guide. If you're looking for a more thorough installation guide (for example with macOS), you'll want to refer to our complete Developer Documentation.
We run on a Rails backend, and we are currently transitioning to a Preact-first frontend.
Prerequisites Note: Forem now utilizes advanced AI embeddings for feed generation. You must ensure your PostgreSQL installation has the
pgvectorextension (version 0.8.0 or higher) installed to support HNSW indexing. This database extension is a hard requirement to migrate the database and run the app.To install
pgvector:
- macOS (Homebrew):
brew install pgvector- Linux (Debian/Ubuntu):
sudo apt install postgresql-15-pgvector(adjust15to match your installed PostgreSQL version), or compile from source following the pgvector installation guide.Providing a Gemini API key (
GEMINI_API_KEY) to actually generate the embeddings is completely optional; if omitted, the app will continue to function normally without semantic recommendations.
A more complete overview of our stack is available in our docs.
https://gitpod.io/#https://github.com/{your_github_username}/forem.Please see our installation guides:
Check out our dedicated docs page for more technical documentation. Please note that while the documentation is a great place to start, some parts may be out of date as the project evolves.
Forem is equipped with Kamal 2 to allow you to easily deploy the application to any cloud provider or bare metal server.
For a comprehensive guide, including cloud provider setups (AWS, DigitalOcean, Hetzner, GCP), secrets management, and Forem-specific production gotchas, see the Kamal Deployment Guide.
Before deploying, ensure you have:
This is the beginning of the README. Read the rest at the original. Read the full README ↗