Your comprehensive guide to writing better code across 30+ languages and frameworks
Curated resources from industry leaders • Production-ready practices • Always updated
This repository is a curated collection of programming best practices across multiple languages, frameworks, and tools.
It is not an exhaustive list but rather a practical resource containing articles, guidelines, and style guides that have proven helpful in real-world development.
The focus is primarily on Web Development (Ruby, Rails, JavaScript, etc.), but it also covers databases, DevOps, cloud practices, AI tools, and career growth.
With this collection, I hope to support developers in writing cleaner, more maintainable code and growing in their careers.
Status: 🚧 Work in Progress — continuously updated
✨ Curated Quality — Hand-picked resources from industry leaders and experienced developers
🚀 Production-Ready — Practices that work in real-world applications, not just theory
🌍 Multi-Language — Covers 30+ programming languages and frameworks
📚 Comprehensive — From code style to architecture, security to performance
🔄 Always Updated — Regularly maintained with the latest best practices
💡 Community-Driven — Open to contributions from developers worldwide
git clone https://github.com/dereknguyen269/programing-best-practices.git
cd programing-best-practicesThe crawler downloads all external resources locally for offline access:
# Using pip
pip install -r scripts/crawler/requirements.txt
# Or using pip3
pip3 install -r scripts/crawler/requirements.txtDownload all best practices content locally:
# Crawl all resources (~150+ links, takes 10-15 minutes)
python3 scripts/crawler/crawl.py
# Or crawl specific categories
python3 scripts/crawler/crawl.py --category python
python3 scripts/crawler/crawl.py --category javascript
# Or crawl a limited number for testing
python3 scripts/crawler/crawl.py --limit 20Create condensed summaries optimized for AI assistants:
python3 scripts/crawler/generate_summaries.pyThe repository is now ready! Your AI coding editor will automatically detect:
| AI Editor | Config File | Auto-Detected |
|---|---|---|
| Claude Code | CLAUDE.md |
✅ |
| Kiro | .kiro/project.md |
✅ |
| Antigravity | .agent/instructions.md |
✅ |
| Cursor | .cursorrules |
✅ |
| Windsurf | .windsurfrules |
✅ |
After setup, your repository will look like:
programing-best-practices/
├── README.md # Main knowledge base (curated links)
├── CLAUDE.md # Claude Code instructions
├── AGENTS.md # Universal AI agent instructions
├── .agent/ # Antigravity config
│ ├── config.json
│ └── instructions.md
├── .kiro/ # Kiro config
│ └── project.md
├── .cursorrules # Cursor AI rules
├── .windsurfrules # Windsurf AI rules
├── content/ # 📦 Crawled content (after running crawler)
│ ├── index.json # Master index of all resources
│ ├── metadata.yaml # Crawl statistics
│ ├── backend_development/ # Content organized by category
│ ├── frontend_development/
│ └── ...
├── summaries/ # 📝 AI-ready summaries (after generate_summaries.py)
│ ├── SUMMARY.md # Master overview
│ └── [category].md # Category summaries
├── scripts/
│ ├── crawler/ # 🕷️ Crawler tools
│ │ ├── crawl.py # Main crawler
│ │ ├── search.py # Search tool
│ │ ├── generate_summaries.py
│ │ └── requirements.txt
│ └── setup-kb.sh # Quick setup script
├── templates/ # 📋 Templates for your projects
│ ├── CLAUDE.template.md
│ ├── agent/
│ ├── kiro/
│ └── cursorrules.template
└── docs/
└── INTEGRATION.md # Integration guide
After crawling, you can search locally:
# Search for JavaScript content
python3 scripts/crawler/search.py "javascript style guide"
# Search within a specific category
python3 scripts/crawler/search.py "best practices" --category python
# Get results as JSON
python3 scripts/crawler/search.py "security" --json- Start with your primary language — Navigate to your language section in the Table of Contents
- Read style guides first — Understanding code style is fundamental
- Practice with examples — Apply the practices in your own projects
- Bookmark for reference — Keep this as a go-to resource when coding
- Explore new languages — Learn best practices before starting a new tech stack
- Code review reference — Use during code reviews to maintain quality standards
- Team onboarding — Share relevant sections with new team members
- Stay updated — Check back regularly for new resources and practices
- Establish standards — Use these guides to create team coding standards
- Training resource — Assign relevant sections for team learning
- Quality benchmarks — Set expectations for code quality
- Architecture decisions — Reference system design and scalability sections
Want to integrate this knowledge base into your existing project? We provide multiple options:
# Run the setup script in your project directory
curl -sSL https://raw.githubusercontent.com/dereknguyen269/programing-best-practices/main/scripts/setup-kb.sh | bash# Add as a submodule in your project
cd your-project
git submodule add https://github.com/dereknguyen269/programing-best-practices.git .kb/best-practicesDownload the templates from the /templates directory and customize for your project:
| Template | Copy To | Purpose |
|---|---|---|
CLAUDE.template.md |
CLAUDE.md |
Claude Code |
agent/instructions.template.md |
.agent/instructions.md |
Antigravity |
agent/config.template.json |
.agent/config.json |
Antigravity |
kiro/project.template.md |
.kiro/project.md |
Kiro |
cursorrules.template |
.cursorrules |
Cursor |
📖 Full integration guide: See docs/INTEGRATION.md
Here are some standout resources that every developer should know:
- Airbnb JavaScript Style Guide — The gold standard for JavaScript coding
- Clean Code JavaScript — Software engineering principles for JavaScript
- System Design 101 — Essential system design concepts
- The Twelve-Factor App — Methodology for building modern cloud-native apps
- OWASP Top 10 — Critical security awareness for developers
- Design Patterns in Python — Comprehensive pattern guide
- Design Patterns in Go — Go-specific implementations
- Design Patterns in Swift — Swift pattern examples
- Uber Go Style Guide — Production-grade Go practices
- Ruby Style Guide — Community-driven Ruby standards
- Google HTML/CSS Style Guide — Google's web standards
- 3 Coding Best Practices for C++
- Collaborative Collection of C++ Best Practices — @lefticus
- The C++ Core Guidelines — @isocpp
- C++ Best Practices (CppCon)
- C++ Best Practices by Puppet Labs — @puppetlabs
- Modern C++ Exception Handling — Microsoft
- Top Ten Tips for Correct C++ Coding
- Rust Style Guide — @ubsan
- Rust Design Patterns
- Design Patterns in Rust — Refactoring.Guru
- Java Best Practices — @in28minutes
- Selenium Best Practices — @previousdeveloper
- Java Style Guide (Ray Wenderlich) — @raywenderlich
- Java Best Practices Guide
- 30 Java Programming Tips for Beginners
- Best Practices in Kotlin — @JackyAndroid
- Kotlin Style Guide — @yole
- Kotlin Style Guide (Ray Wenderlich) — @raywenderlich
- Scala Best Practices — @alexandru
- Databricks Scala Guide — @databricks
- Node.js Style Guide — @felixge
- RisingStack Node.js Style Guide — @RisingStack
- Python Best Practices – Become an Expert
- Best of the Best Practices (BOBP) Guide — @sloria
- Python Best Practices (Toptal)
- Python Code Style Guide
- 11 Tips to Write Better Python Code
- Python Tutorial: Best Practices & Mistakes
- Design Patterns in Python — Refactoring.Guru
- Ruby Style Guide — @airbnb
- Ruby Tricks & Best Practices — @franzejr
- Best Practice Patterns in Ruby — @avdi
- Ruby Best Practices (Gregory Brown) — @practicingruby
- The Ruby Style Guide — @bbatsov
- Shopify Ruby Style Guide — @Shopify
- 53 Ruby on Rails Interview Questions
- Ruby Best Practices (Toptal)
- Ruby Best Practices for Beginners
- Ruby Timeouts Guide — @ankane
- Design Patterns in Ruby — Refactoring.Guru
- Best Practices for Writing Ruby
- 6 Ruby Best Practices for Beginners
- Rails Style Guide — @bbatsov
- rails_best_practices — @flyerhzm
- RSpec Style Guide — @reachlocal
- RSpec Best Practices — @abinoda
- Rails Database Best Practices
- Active Record Query Optimization Tips
- ActiveRecord SQL Query Optimization
- Arel Cheatsheet
- Production Rails — @ankane
- Securing Sensitive Data in Rails — @ankane
- Toptal Rails Best Practices
- PHP: The Right Way — @codeguy
- PHP Knowledge — @php-earth
- PHP Coding Standards — @maxdmyers
- Laravel: The Right Way — @laraveltherightway
- Laravel Best Practices — @uonick
- The Elixir Style Guide — @christopheradams
- Elixir Style Guide — @lexmag
- Credo's Elixir Style Guide — @rrrene
- 10 Killer Elixir Tips #1
- 10 Killer Elixir Tips #2
- 10 Killer Elixir Tips #3
- Elixir Cheatsheet
- Elixir Metaprogramming Cheatsheet
- Uber Go Style Guide — @uber-go
- Go Best Practices — @mehrdadrad
- Go Style Guide — @AgtLucas
- Golang Tutorial Series
- Golang Cheat Sheet (Golang Dojo)
- Soham Kamani – Golang
- Design Patterns in Go — Refactoring.Guru
- Swift Style Guide (Eure) — @eure
- Design Patterns in Swift — @ochococo
- Swift Style Guide (Ray Wenderlich) — @raywenderlich
- NYTimes Objective-C Style Guide — @NYTimes
- Objective-C Style Guide (Ray Wenderlich) — @raywenderlich
- GitHub Objective-C Style Guide — @github
- Code Style & Best Practices for Objective-C — @wangshengjia
- HTML Best Practices — @hail2u
- HTML5 (and Some CSS) Best Practice
- Frontend Guidelines — @bendc
- Google HTML Style Guide — @google
- Airbnb CSS / Sass Styleguide — @airbnb
- Dropbox (S)CSS Style Guide — @dropbox
- CSS Coding Standards & Best Practices — @stevekwan
- Google CSS Style Guide — @google
- Sass Coding Guidelines — @bigcommerce
- Sass-Guidelines — @blackfalcon
- Sass-lang Style Rules
- Airbnb JavaScript Style Guide — @airbnb
- ES6 Cheatsheet — @DrkSephy
- Common JavaScript "Gotchas" — @stevekwan
- Pragmatic JavaScript Standards — @stevekwan
- JavaScript 规范 — @adamlu
- Google JavaScript Style Guide — @google
- JavaScript The Right Way — @braziljs
- MDN JavaScript Guidelines — @mozilla
- W3C JavaScript Best Practices — @w3c
- Clean Code JavaScript — @ryanmcdermott
- TypeScript Best Practices — @BestCoderDotInfo
- Advanced ReactJS Patterns — @kentcdodds
- React Interview Questions & Answers — @sudheerj
- React Native Guide — @reactnativecn
- Tips & Best Practices (Vue 0.12)
- 10 Good Practices for Large Vue.js Projects
- 12 VueJS Best Practices for Pro Developers
- AngularJS Style Guide — @mgechev
- Angular 2 Style Guide — @mgechev
- Angular.js Advanced Design Patterns — @trochette
- Best Practices for Clean React/Next.js Projects
- 10 Tips for Optimal Next.js Performance
- Best Practices to Increase Next.js Speed
- Frontend Performance Best Practices (Roadmap.sh)
- Web Vitals Best Practices (Google)
- High Performance Web Apps (MDN)
- SQL Style Guide
- Best Practices for Writing SQL Queries
- SQL Performance Explained (Markus Winand)
- GitLab SQL Style Guide
- PostgreSQL Performance Best Practices
- Best Practices for PostgreSQL Database
- Run ANALYZE, Run ANALYZE, Run ANALYZE
- Best Practices for Designing PostgreSQL Databases
- 10 NoSQL Data Modeling Best Practices
- MongoDB Schema Design Best Practices
- 11 MongoDB Security Features & Best Practices
- Performance Best Practices
- Flutter: Best Practices and Tips — Kinjal Dhamat
- Flutter Development Best Practices — Derrick Mwiti
- Dart & Flutter Best Practices
- Performance Best Practices
- Writing Clean Code in Dart: Best Practices & Design Patterns
- 12 Factors for Building Cloud-Native Apps
- Microservices Best Practices (Microsoft)
- Cloud-Native Patterns (CNCF)
- MLOps Best Practices (Google Cloud)
- Responsible AI Practices (Google)
- Best Practices for LLM Applications
- IBM Data Science – Best Practices
- AI Best Practices (XenonStack Blog)
- Best Practices for Deep Learning in Julia (FastAI.jl)
- ETL Best Practices with Airflow
- 9 of the Best AI Tools for Software Developers in 2024
- The Best AI Tools for Developers in 2024
- Awesome AI Tools — @mahseema
- Awesome AI-Powered Developer Tools — @jamesmurdza
- Best Practices for Coding with AI (2024)
- AI Tools for Developers: 5 Types of Tools & How to Choose
- The Do's and Don'ts of Using AI in Software Development
- 10 Best Practices for Secure AI Development
- AI Hacks to Maximize Productivity in 2024
- Bash Best Practices
- progrium/bashstyle
- Best Practices for Bash Scripts
- Best Practices for Writing Bash Scripts
- System Design 101 — @ByteByteGoHq
- Beyond Basic R – Introduction & Best Practices
- R Code – Best Practices
- Best Practices for Writing R Code — @swcarpentry
- R Coding Style Best Practices
- Good Practices in R Programming (ETH Zürich)
Stay updated with the latest additions to this repository:
- ✅ Enhanced README — Added quick navigation, featured resources, and usage guides
- ✅ AI/ML Section — Expanded with LLM best practices and MLOps resources
- ✅ Security Focus — Added DevSecOps and API security best practices
- ✅ Performance Guides — New frontend performance and scalability resources
- ✅ Modern Frameworks — Added Next.js, Nuxt, and NestJS best practices
- 🔜 Video Tutorials — Curated video resources for visual learners
- 🔜 Code Examples — Practical code snippets demonstrating best practices
- 🔜 Interactive Checklists — Ready-to-use checklists for code reviews
- 🔜 Language Comparison — Side-by-side best practices across languages
- 🔜 Community Picks — Top-voted resources from contributors
We believe in the power of community! Here's how you can participate:
- 📝 Submit Resources — Found a great article or guide? Share it!
- 🐛 Report Issues — Broken links or outdated content? Let us know!
- 💡 Suggest Improvements — Ideas for better organization or new sections?
- ⭐ Star the Repo — Show your support and help others discover this resource
- 🔄 Share — Spread the word on social media, blogs, or with your team
- Questions? Open a GitHub Discussion
- Ideas? Share your thoughts in the Ideas category
- Showcase — Share how you're using these best practices in your projects
A huge thank you to all our contributors! 🙏
Looking for more? Check out these complementary resources:
- Awesome Lists — Curated lists of awesome things
- Developer Roadmaps — Step-by-step guides for different tech careers
- Free Programming Books — Extensive collection of free learning resources
- Design Resources for Developers — Design and UI resources
- The Book of Secret Knowledge — Collection of inspiring lists, manuals, cheatsheets, blogs, hacks, one-liners, cli/web tools and more
Contributions are always welcome! 🎉 Before contributing, please read the Contribution Guidelines.
If you find this repository helpful, here are some ways you can show your support:
Click the ⭐ button at the top of this page — it helps others discover this resource!
See our Contributing Guidelines to add your favorite resources!
If this project has saved you time or helped your career, consider sponsoring to support continued maintenance and updates.

This repository is actively maintained and updated regularly. We add new resources as they emerge and remove outdated ones. Check the What's New section for recent updates.
Absolutely! We welcome contributions. Please read our Contributing Guidelines and submit a pull request with your suggestions.
Yes! We've organized resources for all skill levels. Beginners should start with the How to Use section and focus on style guides first.
Check out our Featured Resources section for must-read guides. Also, resources from well-known organizations (Google, Airbnb, etc.) are generally excellent starting points.
Definitely! Many teams use this repository as a reference for establishing coding standards. Feel free to share relevant sections with your team or use them in onboarding materials.
No, we cover 30+ programming languages and frameworks. Use the Table of Contents or Quick Links to navigate to your preferred technology.
- ⭐ Star and Watch this repository on GitHub
- Check the What's New section periodically
- Follow the repository for notifications

Made with ❤️ by developers, for developers