feqa
v0.0.3
Published
A CLI tool to help projects setup development tools (husky, eslint, prettier, commitlint)
Maintainers
Readme
Feqa
Frontend Quality Assurance - A professional CLI tool to help projects quickly set up and configure essential development tools including Husky, ESLint, Prettier, Commitlint, and Performance monitoring tools.
Features
- 🚀 One-command setup - Install and configure all development tools with a single command
- 🛠️ Professional configuration - Pre-configured with industry best practices
- 🎯 Zero configuration - Works out of the box with sensible defaults
- 📦 Modern tooling - Built with Vite and ES modules
- 🔧 Git hooks - Automatically sets up pre-commit and commit-msg hooks
- 📊 Performance monitoring - Bundle analysis, Lighthouse CI, and size limit checks
- 🎨 Smart detection - Automatically detects project type and provides tailored configurations
Installation & Usage
You can use feqa directly with npx without installing it globally:
npx feqa@latest initOr install it globally:
npm install -g feqa
feqa initAvailable Commands
feqa init
Initialize your project with essential development tools:
When you run feqa init, it will:
Install development dependencies:
husky- Git hooks made easyeslint- JavaScript/TypeScript lintingprettier- Code formatting@commitlint/cli- Commit message linting@commitlint/config-conventional- Conventional commit rules@typescript-eslint/eslint-plugin- TypeScript ESLint rules@typescript-eslint/parser- TypeScript parser for ESLintlint-staged- Run linters on staged files
Create configuration files:
.eslintrc.json- ESLint configuration.prettierrc.json- Prettier configuration.prettierignore- Files to ignore for Prettiercommitlint.config.js- Commitlint configuration
Set up Git hooks:
pre-commit- Runs linting and formatting before commitscommit-msg- Validates commit message format
Add npm scripts to
package.json:lint- Run ESLintlint:fix- Fix ESLint issues automaticallyformat- Format code with Prettierformat:check- Check if code is properly formattedprepare- Initialize Husky (runs on npm install)
feqa performance (or feqa perf)
Setup performance monitoring and optimization tools:
feqa performance # Setup all performance tools
feqa perf --no-lighthouse # Skip Lighthouse CI setup
feqa perf --no-bundle-analyzer # Skip bundle analyzer setup
feqa perf --no-size-limit # Skip size limit setupWhat it does:
Installs performance dependencies:
webpack-bundle-analyzer- Bundle size analysis for Webpackvite-bundle-analyzer- Bundle analysis for Vite projects@lhci/cli&lighthouse- Lighthouse CI for performance auditssize-limit- Bundle size monitoring and limits
Creates configuration files:
.lighthouserc.js- Lighthouse CI configuration.size-limit.json- Bundle size limits configuration- Project-specific enhancement guides
Detects project type and provides optimizations for:
- Next.js - Built-in bundle analyzer integration
- Create React App - Source map explorer setup
- Vite - Rollup visualizer configuration
- Webpack - Bundle analyzer plugin setup
- Generic - Universal performance tools
Adds performance scripts to
package.json:analyze- Analyze bundle size and compositionlighthouse- Run Lighthouse CI auditssize- Check bundle size against limitsperf- Run all performance checksperf:ci- CI-optimized performance checks
Sets up CI/CD integration:
- GitHub Actions workflow for Lighthouse CI
- Automated performance regression detection
Requirements
- Node.js >= 18.0.0
- npm or yarn
- Git repository (must be run in a project with
package.json)
Commit Message Format
After setup, your commit messages should follow the conventional commit format:
type(scope): description
Examples:
feat: add new feature
fix: resolve bug in authentication
docs: update README
style: fix formatting
refactor: improve code structure
test: add unit tests
chore: update dependenciesRoadmap
Feqa is continuously evolving to provide comprehensive frontend quality assurance. Here are the upcoming commands and features:
🔐 feqa security (Coming Soon)
Security-focused quality assurance tools:
- npm audit - Dependency vulnerability scanning
- Snyk - Professional security scanning
- ESLint Security Plugin - Security-focused linting rules
- OWASP ZAP - Security testing integration
🧪 feqa testing (Coming Soon)
Comprehensive testing setup:
- Jest - Unit testing framework configuration
- Vitest - Modern Vite-based testing
- Cypress - End-to-end testing setup
- Playwright - Cross-browser testing
- Coverage reports - Code coverage tracking
📝 feqa types (Coming Soon)
Type safety and documentation:
- TypeScript - Complete TypeScript setup
- JSDoc - JavaScript documentation
- TypeDoc - TypeScript documentation generation
- Type coverage - Type safety metrics
🔄 feqa ci (Coming Soon)
CI/CD pipeline optimization:
- GitHub Actions - Comprehensive workflow templates
- pre-commit hooks - Advanced git hook management
- Danger - Automated code review
- Quality gates - Automated quality enforcement
📊 feqa report (Coming Soon)
Project health and quality reporting:
- Quality dashboard - Comprehensive project health overview
- Technical debt - Code quality metrics and trends
- Dependency analysis - Package health and update recommendations
- Performance trends - Historical performance tracking
🛠️ feqa doctor (Coming Soon)
Project diagnosis and recommendations:
- Health check - Comprehensive project analysis
- Best practices - Automated recommendations
- Configuration audit - Tool configuration optimization
- Upgrade paths - Migration assistance for tools and dependencies
🎨 feqa customize (Coming Soon)
Advanced customization and templates:
- Custom presets - Create and share configuration presets
- Team templates - Organization-specific configurations
- Rule management - Fine-grained rule customization
- Integration templates - Framework-specific optimizations
Development
To contribute to this project:
# Clone the repository
git clone https://github.com/stevenzg/feqa.git
cd feqa
# Install dependencies
npm install
# Build the project
npm run build
# Test the CLI locally
node dist/cli.js --helpLicense
MIT
