πŸ”Ή Backend Development

September 26, 2026 Β· View on GitHub

🌟 Programming Best Practices

Your comprehensive guide to writing better code across 30+ languages and frameworks

Curated resources from industry leaders β€’ Production-ready practices β€’ Always updated

Awesome Star Badge GitHub issues GitHub stars GitHub last commit Github license
Backend β€’ Frontend β€’ Database β€’ Mobile β€’ DevOps β€’ AI/ML β€’ Tools β€’ Featured

πŸ“– Introduction

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.

✨ At a Glance

πŸ“š Resources340+ hand-picked guides, style guides, and official docs
πŸ’» Coverage30+ languages & frameworks across backend, frontend, mobile, data, DevOps, and AI
πŸ” Offline searchCrawl everything locally and search with BM25 β€” no browser tab-sprawl
πŸ€– AI-nativeAuto-invoked skills for Claude Code and Kiro, plus a Claude Code plugin
πŸ”„ MaintainedAutomated link checking with weekly fix PRs

Status: 🚧 Work in Progress β€” continuously updated


🎯 Why This Repository?

✨ 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


πŸ’‘ Want offline access, local search, or AI-editor integration? Jump to πŸš€ Quick Start Setup at the bottom.


πŸ“ Repository Structure

programing-best-practices/
β”œβ”€β”€ README.md                   # Main knowledge base (curated links)
β”œβ”€β”€ index.html                  # Web landing page
β”œβ”€β”€ contributing.md             # Contribution guidelines
β”œβ”€β”€ .claude-plugin/             # πŸ”Œ Claude Code plugin manifest
β”‚   β”œβ”€β”€ marketplace.json
β”‚   └── plugin.json
β”œβ”€β”€ skills/                     # 🧠 Claude Code auto-invoked skills
β”‚   └── best-practices/         # πŸ” BM25-powered best practices search
β”‚       β”œβ”€β”€ SKILL.md            # Skill instructions
β”‚       β”œβ”€β”€ data/               # CSV databases (resources, languages, categories)
β”‚       └── scripts/            # Search engine (core.py, search.py, generate_csv.py)
β”œβ”€β”€ .kiro/                      # Kiro config
β”‚   β”œβ”€β”€ project.md
β”‚   β”œβ”€β”€ steering/               # Kiro steering files (auto-included)
β”‚   β”‚   β”œβ”€β”€ best-practices/     # πŸ” BM25-powered search
β”‚   β”‚   └── ui-ux-pro-max/      # 🎨 UI/UX guidance skill
β”‚   └── resources/              # Project knowledge (decisions, progress)
β”œβ”€β”€ data/
β”‚   └── resources.csv           # πŸ“Š Resource index (regenerated by crawler)
β”œβ”€β”€ content/                    # πŸ“„ Crawled content (generated β€” not committed)
β”‚   β”œβ”€β”€ index.json              # Master index of all resources
β”‚   β”œβ”€β”€ metadata.yaml           # Crawl statistics
β”‚   └── ...                     # Content organized by category
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ crawler/                # πŸ•·οΈ Crawler tools
β”‚   β”‚   β”œβ”€β”€ crawl.py            # Main crawler
β”‚   β”‚   β”œβ”€β”€ search.py           # Search tool
β”‚   β”‚   β”œβ”€β”€ generate_summaries.py
β”‚   β”‚   └── requirements.txt
β”‚   β”œβ”€β”€ validate_links.py       # βœ… Link health checker
β”‚   β”œβ”€β”€ fix_links.py            # πŸ”§ Automated link fixer
β”‚   β”œβ”€β”€ auto_maintenance_pr.sh  # πŸ€– Weekly maintenance PR automation
β”‚   β”œβ”€β”€ install-skill.py        # πŸ”§ Install skill to any project (Claude/Kiro)
β”‚   β”œβ”€β”€ update.sh               # πŸ”„ Update resources + reinstall skill
β”‚   β”œβ”€β”€ setup-kb.sh             # ⚑ Integrate KB into an existing project
β”‚   └── quick-start.sh          # πŸš€ First-time setup for this repo
└── docs/
    β”œβ”€β”€ INTEGRATION.md          # Integration guide
    β”œβ”€β”€ QUICK_START_GUIDE.md    # Setup script walkthrough
    β”œβ”€β”€ backend.md / frontend.md / database.md / devops.md / mobile.md / ai-ml.md / tools.md
    └── images/                 # Diagrams and screenshots

content/ is generated locally by the crawler and intentionally git-ignored β€” clone the repo and run the setup script to create it.


πŸ” Searching the Knowledge Base

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

BM25-Powered Search (via Skill)

The best-practices skill installed at .kiro/steering/best-practices/ provides more powerful BM25 search:

# Full recommendation (resources + deep content)
python3 .kiro/steering/best-practices/scripts/search.py "ruby rails security" --recommend

# Search by language overview
python3 .kiro/steering/best-practices/scripts/search.py "go" --domain language

# Deep search within crawled markdown files
python3 .kiro/steering/best-practices/scripts/search.py "design patterns" --content --lang python

Keeping Resources Up to Date

# Update all resources and reinstall the Kiro skill
./scripts/update.sh

# Update a specific category only
./scripts/update.sh --category ruby

# Regenerate CSVs and reinstall without re-crawling
./scripts/update.sh --skip-crawl

πŸ› οΈ Troubleshooting

ProblemFix
python3: command not foundInstall Python 3.8+ and re-run the setup script
source .venv/bin/activate fails on WindowsUse .venv\Scripts\activate instead
Crawl is slow or times outTry --limit 20 first, or crawl one category: --category python
Skill not detected by your AI editorRe-run ./scripts/update.sh --skip-crawl to reinstall, then restart the editor
Found a broken linkPlease open an issue β€” link health is checked automatically (see below)

With 340+ external links, rot is inevitable β€” so it's automated:

  • Validation β€” scripts/validate_links.py checks every link in the README
  • Auto-fix β€” scripts/fix_links.py repairs known patterns (e.g., moved or archived URLs)
  • Weekly PRs β€” scripts/auto_maintenance_pr.sh opens a maintenance pull request with link fixes
  • Log β€” maintenance_log.txt records each maintenance run
# Check all links yourself
python3 scripts/validate_links.py

# Attempt automatic fixes
python3 scripts/fix_links.py

πŸ“š How to Use This Repository

For Beginners

  1. Start with your primary language β€” Navigate to your language section in the Table of Contents
  2. Read style guides first β€” Understanding code style is fundamental
  3. Practice with examples β€” Apply the practices in your own projects
  4. Bookmark for reference β€” Keep this as a go-to resource when coding

For Experienced Developers

  1. Explore new languages β€” Learn best practices before starting a new tech stack
  2. Code review reference β€” Use during code reviews to maintain quality standards
  3. Team onboarding β€” Share relevant sections with new team members
  4. Stay updated β€” Check back regularly for new resources and practices

For Team Leads

  1. Establish standards β€” Use these guides to create team coding standards
  2. Training resource β€” Assign relevant sections for team learning
  3. Quality benchmarks β€” Set expectations for code quality
  4. Architecture decisions β€” Reference system design and scalability sections

πŸ€– Use for Existing Projects

Want to integrate this knowledge base into your existing project? We provide multiple options:

Option 1: Quick Setup Script

# Run the setup script in your project directory
curl -sSL https://raw.githubusercontent.com/dereknguyen269/programing-best-practices/main/scripts/setup-kb.sh | bash

Option 2: Git Submodule

# Add as a submodule in your project
cd your-project
git submodule add https://github.com/dereknguyen269/programing-best-practices.git .kb/best-practices

Install directly as a Claude Code plugin for automatic best practices guidance:

# Step 1: Add the marketplace
/plugin marketplace add dereknguyen269/programing-best-practices

# Step 2: Install the plugin
/plugin install programming-best-practices@programming-best-practices

Once installed, you get:

FeatureHow to Use
Auto best practicesClaude automatically references style guides when you write code
Security reviewsClaude applies OWASP/security checklists during code review
/programming-best-practices:best-practices [language]Look up best practices for any language
/programming-best-practices:review-codeReview current code against industry standards
/programming-best-practices:setup-standards [stack]Generate linter/formatter configs for your stack

The plugin includes a skill that Claude invokes automatically:

  • best-practices β€” Activated when writing or reviewing code in any of 30+ languages

Install the BM25-powered best practices skill directly into any project. The installer automatically crawls content, generates searchable CSV databases, and copies the skill:

# Full install β€” crawl all 340+ resources + generate CSVs + install skill
python3 scripts/install-skill.py ~/Projects/my-app --mode both

# Install as Claude Code skill only
python3 scripts/install-skill.py ~/Projects/my-app --mode claude

# Install as Kiro steering only
python3 scripts/install-skill.py ~/Projects/my-app --mode kiro

# Quick test β€” crawl only 20 resources
python3 scripts/install-skill.py ~/Projects/my-app --mode both --crawl-limit 20

# Skip crawl β€” use existing content/ data
python3 scripts/install-skill.py ~/Projects/my-app --mode both --skip-crawl

# Crawl specific category only
python3 scripts/install-skill.py ~/Projects/my-app --mode both --crawl-category python

The installer runs a 4-step pipeline:

StepWhat It DoesTime
1. DependenciesInstalls crawler requirements (requests, beautifulsoup4, etc.)~10s
2. CrawlFetches 340+ resources from README.md links~2-10 min
3. Generate CSVsBuilds BM25-searchable databases (resources, languages, categories)~5s
4. InstallCopies skill with correct paths to target project~1s

Once installed, your AI editor can search best practices:

# Search for recommendations (Kiro)
python3 .kiro/steering/best-practices/scripts/search.py "python style guide" --recommend

# Search by domain
python3 .kiro/steering/best-practices/scripts/search.py "react" --domain language

# Deep search in crawled content
python3 .kiro/steering/best-practices/scripts/search.py "clean code" --content --lang javascript

Here are some standout resources that every developer should know:

πŸ† Must-Read Guides

🎨 Design Patterns

πŸ”§ Language-Specific Gems


πŸ“‚ Table of Contents

πŸ”Ή Backend Development

Systems Programming

Enterprise & JVM Languages

Web Backend

Modern Runtimes

Functional & Specialized

πŸ”Ή Frontend Development

Core Technologies

Frameworks & Libraries

Performance

πŸ”Ή Database & Data

NoSQL & Big Data

ORMs

πŸ”Ή Mobile Development

πŸ”Ή DevOps & Infrastructure

Cloud & Deployment

Security

πŸ”Ή AI & Data Science

πŸ”Ή Development Tools & Practices

Version Control & Collaboration

Scripting & Automation

Linting & Formatting

Monorepo

Testing

Performance & Architecture

πŸ”Ή Specialized Languages


πŸ”Ή Backend Development

Systems Programming

πŸ–₯️ C Best Practices


πŸ–₯️ C++ Best Practices


πŸ¦€ Rust Best Practices


Enterprise & JVM Languages

β˜• Java Best Practices


πŸŒ€ Kotlin Best Practices


πŸŒ€ Scala Best Practices


πŸ–₯️ C# Best Practices


Web Backend

🟒 Node.js Best Practices


🐍 Python Best Practices


πŸ’Ž Ruby Best Practices


πŸš‚ Rails Best Practices


🐘 PHP Best Practices


🎯 Laravel Best Practices


🟣 NestJS Best Practices


πŸ”· GraphQL Best Practices

πŸ”Œ tRPC Best Practices

Modern Runtimes

πŸ¦• Deno Best Practices

πŸ₯Ÿ Bun Best Practices


Functional & Specialized

πŸ§ͺ Elixir Best Practices


🐹 Go (Golang) Best Practices


🍎 Swift Best Practices


🍏 Objective-C Best Practices


πŸͺ Perl Best Practices


πŸͺΆ Lua Best Practices


🎨 Frontend Development

Core Technologies

🌐 HTML Best Practices


🎨 CSS Best Practices


🎨 SASS Best Practices


πŸ“œ JavaScript Best Practices


🟦 TypeScript Best Practices


Frameworks & Libraries

βš›οΈ ReactJS Best Practices


πŸ“± React Native Best Practices


πŸ–ΌοΈ Vue Best Practices


πŸ…°οΈ Angular Best Practices


⚑ Next.js Best Practices


⚑ Nuxt Best Practices

🧩 Svelte Best Practices

πŸ”΅ Solid.js Best Practices


Performance

πŸš€ Frontend Performance Best Practices


πŸ—„οΈ Database & Data

SQL Databases

πŸ“Š SQL Best Practices


🐘 PostgreSQL Best Practices


🐬 MySQL Best Practices


NoSQL & Big Data

πŸ“¦ NoSQL Best Practices

πŸ—„οΈ Prisma Best Practices

☁️ Drizzle ORM Best Practices


πŸ“± Mobile Development

πŸ“± Flutter Best Practices


🎯 Dart Best Practices


☁️ DevOps & Infrastructure

Cloud & Deployment

☁️ AWS Best Practices


πŸ“¦ Microservices & Cloud-Native Best Practices


🐳 Docker Best Practices


☸️ Kubernetes Best Practices


Security

πŸ” API Security Best Practices


πŸ” DevSecOps & Security Best Practices


πŸ€– AI & Data Science

πŸ€– AI/ML Engineering Best Practices


πŸ€– AI Tools for Developers


πŸ› οΈ Development Tools & Practices

Version Control & Collaboration

πŸ”Ž Code Review Best Practices


🌿 Git Best Practices


πŸ§‘β€πŸ€β€πŸ§‘ Team & Collaboration Best Practices


Scripting & Automation

🐚 Bash Script Best Practices

🧹 Linting & Formatting

Biome Best Practices

πŸ—οΈ Monorepo Best Practices

Turborepo Best Practices

Nx Best Practices


Testing Best Practices

πŸ§ͺ General Testing Best Practices


Performance & Architecture

πŸ—οΈ System Design Best Practices


⚑ Performance & Scalability Best Practices


🌍 Specialized Languages

πŸ“Š R Best Practices


πŸ†• What's New

Stay updated with the latest additions to this repository:

Recent Updates

  • βœ… Svelte / Solid.js β€” New frontend framework sections with official best practices
  • βœ… Deno / Bun β€” Modern runtime best practices (permissions, std lib, testing)
  • βœ… Prisma / Drizzle ORM β€” ORM design, performance, and deployment guides
  • βœ… tRPC β€” Type-safe API layer best practices
  • βœ… Biome β€” Next-gen linter/formatter replacing ESLint/Prettier
  • βœ… Turborepo / Nx β€” Monorepo architecture and caching patterns
  • βœ… Angular β€” Updated to modern Angular v19 official guides (replaced AngularJS)
  • βœ… AI/ML Section β€” Overhauled with Anthropic/OpenAI prompt engineering, AI agents, OWASP LLM security, Copilot/Cursor/Claude Code guides
  • βœ… Quality Badges β€” 🏒 industry-leader badges added to official resources

Coming Soon

  • πŸ”œ 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
  • πŸ”œ Zig / Gleam β€” New languages gaining traction

🌟 Community & Support

πŸ’¬ Get Involved

We believe in the power of community! Here's how you can participate:

🀝 Ways to Contribute

  • πŸ“ 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 & Ideas

  • Questions? Open a GitHub Issue
  • Ideas? Share your thoughts in a feature request
  • Showcase β€” Share how you're using these best practices in your projects

πŸ† Contributors

A huge thank you to all our contributors! πŸ™


πŸ“ˆ Star History

Star History Chart


πŸ’‘ Related Resources

Looking for more? Check out these complementary resources:


🎯 Repository Stats

Last Commit Contributors Forks Watchers

πŸš€ Quick Start Setup

Just browsing the guides? No setup needed β€” every link above works straight from GitHub. Follow these steps only for offline access, local search, or AI-editor integration.

βœ… Prerequisites

  • Git (any recent version)
  • Python 3.8+ with pip and venv (only needed for crawling, offline search, or installing the AI skill)
  • Works on macOS, Linux, and Windows (use .venv\Scripts\activate on Windows)

The fastest way to get started is using our automated setup script:

# Clone the repository
git clone https://github.com/dereknguyen269/programing-best-practices.git
cd programing-best-practices

# Run the interactive setup script
./scripts/quick-start.sh

The script will guide you through different setup options:

ModeTimeWhat's Included
Minimal~1 minDependencies only, no crawling
Test~2-3 minDependencies + 20 sample resources
Full~10-15 minEverything + all 340+ resources + AI summaries
CustomVariesChoose specific categories to crawl

Quick Options:

# Minimal setup (just dependencies)
./scripts/quick-start.sh --minimal

# Full setup (everything)
./scripts/quick-start.sh --full

# Test with 20 resources
./scripts/quick-start.sh --limit 20

# Crawl only Python resources
./scripts/quick-start.sh --category python

πŸ“‹ Manual Setup (Alternative)

Prefer to set up manually? Follow these steps:

Step 1: Clone the Repository

git clone https://github.com/dereknguyen269/programing-best-practices.git
cd programing-best-practices

The crawler downloads all external resources locally for offline access:

# Create virtual environment (recommended)
python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -r scripts/crawler/requirements.txt

Step 3: Crawl Resources (Optional)

Download all best practices content locally:

Note: Make sure your virtual environment is activated before running these commands:

source .venv/bin/activate  # On Windows: .venv\Scripts\activate

Or use the venv Python directly: .venv/bin/python3 instead of python3

# Crawl all resources (~340+ 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 20

# Update existing content
python3 scripts/crawler/crawl.py --update

Step 4: Generate AI Summaries (Optional)

Create condensed summaries optimized for AI assistants:

python3 scripts/crawler/generate_summaries.py

Step 5: Use with Your AI Coding Editor

The repository is now ready! Your AI coding editor will automatically detect:

AI EditorConfig FileAuto-Detected
Claude Codeskills/best-practices/βœ…
Kiro.kiro/steering/best-practices/βœ…

See Searching the Knowledge Base and Troubleshooting if you get stuck.


🀝 Contributing

Contributions are always welcome! πŸŽ‰ Before contributing, please read the Contribution Guidelines.


πŸ’– Support This Project

If you find this repository helpful, here are some ways you can show your support:

⭐ Star This Repository

Click the ⭐ button at the top of this page β€” it helps others discover this resource!

πŸ”„ Share With Others

🀝 Contribute

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.


❓ Frequently Asked Questions

How often is this repository updated?

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.

Can I suggest a resource?

Absolutely! We welcome contributions. Please read our Contributing Guidelines and submit a pull request with your suggestions.

Are these practices suitable for beginners?

Yes! We've organized resources for all skill levels. Beginners should start with the How to Use section and focus on style guides first.

How do I know which resources to prioritize?

Check out our Featured Resources section for must-read guides. Also, resources from well-known organizations (Google, Airbnb, etc.) are generally excellent starting points.

Can I use this for my team?

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.

Is this repository language-specific?

No, we cover 30+ programming languages and frameworks. Use the Table of Contents or Quick Links to navigate to your preferred technology.

How can I stay updated with new additions?

  • ⭐ Star and Watch this repository on GitHub
  • Check the What's New section periodically
  • Follow the repository for notifications

Please open an issue with the broken URL. Links are also validated automatically every week (see Maintenance & Link Health), so it may already be queued for a fix.


πŸ“œ License

License: Unlicense This project is released into the public domain under The Unlicense β€” see the LICENSE file for details.


Made with ❀️ by developers, for developers

⬆ Back to Top