mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-26 03:04:06 +00:00
3.4 KiB
3.4 KiB
Essential Commands for .dotfiles Development
Installation & Setup
# Initial setup - install linting tools and dependencies
yarn install
# Install/update all dotfiles configurations
./install
# Update git submodules (multiple approaches)
git submodule update --remote --merge
git submodule update --init --recursive --force
bash add-submodules.sh
Development Commands
# Linting (run all linters - ALWAYS fix all issues)
yarn lint
# Individual linting commands
yarn lint:markdown # Markdownlint
yarn lint:prettier # Prettier check
yarn lint:ec # EditorConfig checker
# Auto-fixing (use these BEFORE manual linting)
yarn fix # Fix all format issues
yarn fix:markdown # Fix markdown formatting
yarn fix:prettier # Fix prettier formatting
# Testing
yarn test # Run all Bats tests
bash test-all.sh # Alternative test runner
Pre-commit Hooks (Comprehensive)
Current pre-commit configuration includes:
- Security: detect-aws-credentials, detect-private-key
- File integrity: check-case-conflict, check-merge-conflict, check-symlinks
- Shell scripts: shellcheck, shfmt (formatting)
- YAML/JSON: yamllint, check-yaml, check-toml, pretty-format-json
- Markdown: markdownlint with auto-fix
- Lua: stylua formatting for Neovim configs
- Fish: fish_syntax, fish_indent for shell configs
- GitHub Actions: actionlint validation
- Renovate: renovate-config-validator
- General: trailing-whitespace, end-of-file-fixer, mixed-line-ending
# Run pre-commit manually
pre-commit run --all-files
Version Management
# Check current versions
node --version # Managed by nvm (.nvmrc: v20.18.1)
go version # Managed by asdf (.go-version)
python --version # Managed by asdf (.python-version)
System Utilities (Darwin-specific)
# Modern CLI tools available
ls # aliased to eza with icons and git info
grep # aliased to grep --color
fd pattern # modern find alternative
rg pattern # ripgrep for text search
bat file # modern cat with syntax highlighting
Project-specific Scripts (100+ available)
# Dotfiles management
bash local/bin/dfm install all
# Git utilities
git-dirty # Check for dirty git repositories
git-fsck-dirs # Run fsck on git directories
git-update-dirs # Update multiple git directories
# Development utilities
x-pr-comments <pr> # Analyze GitHub PR comments (NEW)
x-set-php-aliases # Generate PHP version aliases
x-env-list # List environment variables
x-open-ports # Check open network ports
# Backup utilities
x-backup-folder # Backup directories
x-backup-mysql-with-prefix # MySQL backup with prefix
Configuration Management
# Load shell configurations
source config/shared.sh # Cross-shell compatibility functions
source x-set-php-aliases # PHP version management
# Host-specific configurations
# Automatically applied: hosts/{hostname}/
Quality Assurance (CRITICAL)
All linting errors are BLOCKING and must be fixed:
- EditorConfig violations are considered blocking errors
- ShellCheck warnings must be addressed
- Prettier formatting must be consistent
- Markdownlint rules must be followed
- NEVER use --no-verify with git operations
- ALWAYS run autofixers before manual intervention