Files
dotfiles/.serena/memories/code_style_conventions.md
2025-10-13 14:14:45 +03:00

1.4 KiB

Code Style and Conventions

EditorConfig Rules (.editorconfig)

  • Charset: UTF-8
  • Line endings: LF
  • Indent style: Spaces (except for specific files)
  • Indent size: 2 spaces (default)
  • Final newline: Required
  • Trailing whitespace: Trimmed

Language-specific Rules

  • Fish scripts: 4-space indent, 80 char line limit
  • PHP files: 4-space indent
  • Markdown: 120 char line limit
  • Lua: 90 char line limit
  • Git files: Tab indentation
  • Shell scripts: 2-space indent with specific shfmt settings

Prettier Configuration

  • Extends @ivuorinen/prettier-config
  • Trailing commas: Always
  • Markdown: 120 char width, preserve prose wrapping

ESLint Configuration

  • Extends @ivuorinen base configuration
  • Applied to JavaScript/TypeScript files

Shell Script Standards (.shellcheckrc)

  • External sources following enabled
  • Disabled checks: SC2039, SC2166, SC2154, SC1091, SC2174, SC2016
  • Must include shebang or # shellcheck shell=bash

Formatting Tools

  • Shell scripts: shfmt with specific rules
  • Markdown: markdownlint + prettier
  • JavaScript/TypeScript: prettier + eslint
  • YAML: yamllint

Naming Conventions

  • Shell functions: Use x- prefix for cross-shell compatibility
  • Environment variables: UPPERCASE with underscores
  • File names: lowercase with hyphens for scripts
  • Directory structure: lowercase, organized by tool/purpose