One-click setup for professional JavaScript development workflow

Sets up a professional development environment with automatic code formatting, linting, and commit validation in under 60 seconds!
# One command - zero dependencies!
curl -fsSL https://raw.githubusercontent.com/msrajawat298/AutoDevKit/main/setup_project.sh -o setup_project.sh
# Download and run installer (downloads all modular components)
curl -fsSL https://raw.githubusercontent.com/msrajawat298/AutoDevKit/main/install.sh | bash
# Then run the setup
cd autodevkit
./setup.sh
# Clone the repository
git clone https://github.com/msrajawat298/AutoDevKit.git
cd AutoDevKit
# Run the setup wizard
chmod +x setup.sh
./setup.sh
# Download the latest release archive
curl -L -o autodevkit.tar.gz https://github.com/msrajawat298/AutoDevKit/archive/main.tar.gz
tar -xzf autodevkit.tar.gz
cd AutoDevKit-main
# Run setup
chmod +x setup.sh
./setup.sh
Thatβs it! Follow the interactive prompts and youβre done! π
| Method | Dependencies | File Size | Best For |
|---|---|---|---|
| Single-file | β Zero | 22KB | End users, quick setup |
| Modular | Requires scripts/ | ~15 files | Developers, customization |
| Git Clone | Git required | Full repo | Contributors, development |
| Archive | Manual extraction | Full repo | Offline usage |
| Technology | ESLint Rules | Prettier Config | Git Ignore | npm Scripts |
|---|---|---|---|---|
| React.js | β React/JSX rules | β JSX formatting | β Next.js builds | β Dev server |
| React Native | β RN specific | β Mobile formatting | β iOS/Android | β Platform scripts |
| Node.js | β Server-side rules | β Backend formatting | β Server ignores | β Nodemon |
| General JS | β Universal rules | β Standard format | β Basic ignores | β Standard scripts |
After running the setup, youβll get these files in your project:
| File | Purpose | Can I Edit? | Description |
|ββ|βββ|ββββ-|ββββ-|
| .eslintrc.json | Linting rules | β οΈ Carefully | Defines code quality rules |
| .prettierrc | Formatting rules | β
Yes | Code formatting preferences |
| .commitlintrc.json | Commit validation | β οΈ Carefully | Commit message standards |
| .lintstagedrc.json | Pre-commit tasks | β οΈ Carefully | What runs before commits |
| .eslintignore | Files to skip linting | β
Yes | Add files to ignore |
| File | Purpose | Can I Edit? | Description |
|ββ|βββ|ββββ-|ββββ-|
| .husky/pre-commit | Before commit validation | β No | Runs linting/formatting |
| .husky/commit-msg | Commit message check | β No | Validates commit format |
| File | Purpose | Can I Edit? | Description |
|ββ|βββ|ββββ-|ββββ-|
| .gitignore | Git ignore rules | β
Yes | Add more files to ignore |
| package.json | Project dependencies | β
Yes | Add your own dependencies |
.prettierrc){
"semi": true, β Add/remove semicolons
"singleQuote": true, β Use single or double quotes
"tabWidth": 2, β Change indentation size
"printWidth": 80 β Change line width
}
.eslintignore)# Add your files/folders to ignore
build/
dist/
*.min.js
.gitignore)# Add your project-specific ignores
.env.local
*.log
coverage/
.eslintrc.json)Only modify the rules section:
{
"extends": ["..."], β Don't change
"rules": {
"no-console": "warn", β You can modify these
"no-unused-vars": "error" β Add your own rules
}
}
.commitlintrc.json)You can add more commit types:
{
"extends": ["@commitlint/config-conventional"],
"rules": {
"type-enum": [2, "always", [
"feat", "fix", "docs",
"custom-type" β Add your types here
]]
}
}
.husky/pre-commit - Auto-generated hook.husky/commit-msg - Auto-generated hookWhen you choose βDemo Modeβ during setup:
Perfect for presentations and learning!
After setup, use these commit message formats:
# β
Good commits
git commit -m "feat: add user authentication"
git commit -m "fix: resolve login issue"
git commit -m "docs: update README"
git commit -m "style: format code"
git commit -m "refactor: simplify validation"
git commit -m "test: add unit tests"
git commit -m "chore: update dependencies"
# β Bad commits (will be rejected)
git commit -m "fix stuff"
git commit -m "updated files"
git commit -m "changes"
After setup, use these commands:
# Code quality
npm run lint # Check for issues
npm run lint:fix # Fix issues automatically
npm run format # Format all files
npm run format:check # Check formatting
npm run validate # Full validation
# Development (technology-specific)
npm run dev # Start development server
npm run build # Build for production
npm run test # Run tests
β subject may not be empty [subject-empty]
Solution: Use proper commit format: feat: your message
β 'variable' is assigned a value but never used
Solution: Remove unused variables or add // eslint-disable-next-line
chmod +x setup.sh
./setup.sh
setup.sh
βββ Creates β .eslintrc.json (linting rules)
βββ Creates β .prettierrc (formatting rules)
βββ Creates β .commitlintrc.json (commit rules)
βββ Creates β .lintstagedrc.json (pre-commit tasks)
βββ Creates β .husky/pre-commit (git hook)
βββ Creates β .husky/commit-msg (git hook)
βββ Updates β package.json (scripts & deps)
AutoDevKit uses a modular architecture with an automated build system that creates both versions:
# Development commands
./dev.sh build # Build single-file version
./dev.sh watch # Auto-rebuild on changes
./dev.sh test # Test generated files
./dev.sh dev # Start development mode
./dev.sh release # Full release process
# Project status
./dev.sh status # Show current state
./dev.sh help # Show all commands
AutoDevKit/
βββ setup.sh # Modular version (for developers)
βββ setup_project.sh # Single-file version (auto-generated)
βββ build.sh # Builds single file from modules
βββ dev.sh # Development manager
βββ scripts/ # Modular components
βββ ui/ # User interface modules
βββ config/ # Configuration generators
βββ core/ # Core functionality
βββ demo/ # Demo features
scripts/ directory./dev.sh watch OR manual ./dev.sh build./dev.sh testask_technology() function in scripts/ui/prompts.shscripts/config/*.shscripts/core/dependencies.sh./dev.sh build to update single filescripts/ directory./dev.sh test-modules./dev.sh buildMIT License - feel free to use in your projects!
If this saved you time, please star the repository and share with other developers!
Made with β€οΈ for developers who want professional setups without the hassle!