Skip

NPM Packages & Community Contributions

Published npm packages and open-source contributions including configuration packages, development tools, and community projects.

Open Source Contributions & Published Packages

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.

Published NPM Packages

@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

Monorepo Architecture

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

Community Contributions

Inspiration & Credits

This project is inspired by excellent work from the community:

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

Future Python Packages

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

Getting Started

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

Impact & Usage

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

Contact & Collaboration

Trevor McDougald

Contributing

I welcome feedback and contributions:

  1. Open an issue on GitHub for bugs or feature requests
  2. Submit a pull request with proposed improvements
  3. Reach out directly for collaboration opportunities
  4. Share feedback on configuration effectiveness

License

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.

    NPM Packages & Community Contributions | @mcdougald/portfolio-website | McDougald