Search

PythonReactSEOPDF
GitHub Skill

javascript-best-practices

Idiomatic JavaScript patterns and conventions for maintainable code.

HoangNguyen0403☆ 143 Repository stars48 Repository forks

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

View source ↗Guides

Skill instructions

JavaScript Best Practices

Priority: P1 (OPERATIONAL)

Conventions and patterns for writing maintainable JavaScript.

Implementation Guidelines

  • Naming: camelCase (vars/funcs), PascalCase (classes), UPPER_SNAKE (constants).
  • Errors: Throw Error objects only. Handle all async errors.
  • Comments: JSDoc for APIs. Explain "why" not "what".
  • Files: One entity per file. index.js for exports.
  • Modules: Named exports only. Order: Ext -> Int -> Rel.

Anti-Patterns

  • No Globals: Encapsulate state.
  • No Magic Numbers: Use const.
  • No Nesting: Guard clauses/early returns.
  • No Defaults: Use named exports.
  • No Side Effects: Keep functions pure.

Code

// Constants
const STATUS = { OK: 200, ERROR: 500 };

// Errors
class APIError extends Error {
  constructor(msg, code) {
    super(msg);
    this.code = code;
  }
}

// Async + JDoc
/** @throws {APIError} */
export async function getData(id) {
  if (!id) throw new APIError('Missing ID', 400);
  const res = await fetch(`/api/${id}`);
  if (!res.ok) throw new APIError('Failed', res.status);
  return res.json();
}

Reference & Examples

For module patterns and project structure: See references/REFERENCE.md.

Related Topics

language | tooling

Examples

Read the usage examples in the source repository.

View source ↗

Source history

Indexed on
2026-01-20
Index updated
2026-01-26
Branch
main

Index and sync dates describe this directory. View the source repository for code history.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!