This project showcases my contributions to the open-source community through published npm packages, configuration repositories, and development tools that help streamline modern web development workflows.
@mcdougald/configs - Development Configuration Monorepo
A comprehensive collection of shared configuration packages for modern JavaScript and TypeScript projects, designed to enforce consistent code style, formatting, and best practices across development teams.
Repository : github.com/mcdougald/configs
Available Packages
@mcdougald/eslint-config
A comprehensive ESLint configuration that enforces consistent code style and best practices across JavaScript and TypeScript projects.
pnpm add -D @mcdougald/eslint-config
Features:
TypeScript support with strict type checking
React and Next.js specific rules
Import/export optimization
Accessibility (a11y) rules
Performance and security best practices
@mcdougald/prettier-config
A shared Prettier configuration to ensure consistent code formatting across all projects.
pnpm add -D @mcdougald/prettier-config prettier-plugin-packagejson
Features:
Consistent formatting rules
Package.json plugin integration
Editor integration support
Team collaboration optimization
@mcdougald/typescript-config
A shared TypeScript configuration to standardize TypeScript compiler options and ensure consistent type checking.
pnpm add -D @mcdougald/typescript-config
Features:
Strict type checking enabled
Modern ES target support
Path mapping configuration
Module resolution optimization
@mcdougald/biome-config
A modern Biome configuration for fast formatting and linting, providing an alternative to ESLint and Prettier with better performance.
pnpm add -D @mcdougald/biome-config
Features:
High-performance linting and formatting
TypeScript support
Modern JavaScript features
Reduced configuration complexity
@mcdougald/tailwindcss-config
A comprehensive Tailwind CSS configuration with modern plugins and utilities for React applications.
pnpm add -D @mcdougald/tailwindcss-config
Features:
🎨 Modern Plugins : Forms, typography, aspect ratio, and motion animations
🌙 Dark Mode : Class-based dark mode support
📱 Responsive Design : Custom breakpoints including extra small screens
🎭 Animations : Built-in animation utilities and motion effects
⚡ Performance : Optimized content paths for better build performance
🎯 React Ready : Pre-configured for React and Next.js applications
The configs repository demonstrates modern monorepo patterns:
Package Structure
packages/
├── eslint-config/ # ESLint configuration
├── prettier-config/ # Prettier configuration
├── typescript-config/ # TypeScript configuration
├── biome-config/ # Biome configuration
└── tailwindcss-config/ # Tailwind CSS configuration
Development Workflow
Turborepo for fast, cached builds
pnpm workspaces for efficient dependency management
Changesets for version management and changelog generation
GitHub Actions for CI/CD automation
Automated testing and quality checks
Inspiration & Credits
This project is inspired by excellent work from the community:
antfu/eslint-config - Anthony Fu's comprehensive ESLint configurations
sxzz/eslint-config - Modern ESLint configurations by sxzz
nelsonlaidev/config - Nelson's configuration packages
Open Source Philosophy
MIT License for maximum accessibility
Comprehensive documentation for easy adoption
Type-safe configurations for better developer experience
Performance-focused tooling choices
Community feedback integration
Planned Python Contributions
@mcdougald/python-configs (Future)
A collection of Python development configuration packages for modern Python projects.
Planned Packages:
@mcdougald/black-config
Black code formatter configuration for consistent Python code style.
pip install @mcdougald/black-config
Features:
Consistent line length and formatting
String quote preferences
Import sorting configuration
Pre-commit hook integration
@mcdougald/ruff-config
Ruff linter configuration for fast Python linting and import sorting.
pip install @mcdougald/ruff-config
Features:
High-performance linting (Rust-based)
Import sorting and organization
Security and best practice rules
Flake8 compatibility
@mcdougald/mypy-config
MyPy type checker configuration for strict type checking.
pip install @mcdougald/mypy-config
Features:
Strict type checking rules
Third-party library stubs
Plugin configuration
CI/CD integration
@mcdougald/pytest-config
Pytest configuration for comprehensive testing setup.
pip install @mcdougald/pytest-config
Features:
Test discovery patterns
Coverage reporting
Fixture organization
Parallel test execution
@mcdougald/poetry-config
Poetry dependency management configuration templates.
pip install @mcdougald/poetry-config
Features:
Dependency group organization
Build system configuration
Publishing settings
Development workflow optimization
Python Development Standards
Type hints throughout codebase
Strict linting with Ruff and MyPy
Comprehensive testing with Pytest
Documentation with Sphinx or MkDocs
CI/CD with GitHub Actions
Security scanning with safety and bandit
Quick Setup Examples
For a React/Next.js project:
pnpm add -D @mcdougald/eslint-config @mcdougald/prettier-config @mcdougald/typescript-config @mcdougald/tailwindcss-config
For a modern project with Biome:
pnpm add -D @mcdougald/biome-config @mcdougald/typescript-config @mcdougald/tailwindcss-config
For a Python project (future):
pip install @mcdougald/black-config @mcdougald/ruff-config @mcdougald/mypy-config @mcdougald/pytest-config
Community Adoption
0 stars and growing community interest
MIT License for maximum accessibility
Comprehensive documentation for easy onboarding
Type-safe configurations for better DX
Development Benefits
Consistent code style across projects
Reduced configuration overhead for new projects
Best practices enforcement
Team collaboration optimization
CI/CD integration ready
Trevor McDougald
Contributing
I welcome feedback and contributions:
Open an issue on GitHub for bugs or feature requests
Submit a pull request with proposed improvements
Reach out directly for collaboration opportunities
Share feedback on configuration effectiveness
All packages are released under the MIT License for maximum accessibility and community benefit.
These configuration packages represent years of refinement in development workflows and best practices. They're designed to help developers focus on building great software rather than configuring tools.