gruntjs / gruntjs/grunt

More CLI options and pre-Gruntfile initialization through .gruntrc file(s).

Open
#934 13 comments 0 reactions 0 assignees View on GitHub
needs discussion
Dominant language
JavaScript
Stars
12.2k
Forks
1.5k
PR merge metrics
No merged PRs in 30d

Description

Ok, so I have this idea, and I think it's a good one.

_I'd like to support `.gruntrc` files in projects / user home directories to allow per-project or per-user CLI option overrides. In addition, I want to add more CLI options to allow more configurability._

Note that items marked :new: are ones that don't exist yet, but probably should.
### For a project
- Overriding `--gruntfile` to specify an alternate gruntfile name, like `Gruntfile.coffee`, so grunt doesn't have to guess.
- Overriding `--base` to specify an alternate base path.
- Overriding `--pre-require` to specify packages to be required before the Gruntfile is loaded. Eg. if `--pre-require` was `coffee-script` and `--gruntfile` was `Gruntfile.coffee` (or livescript per #841 or whatever), CoffeeScript wouldn't need to be hard-coded into grunt anymore (yay) :new:
### For a user
- Overriding commonly-used options like `--stack` or `--verbose` or `--no-color`.
- Some way to specify user-tasks that don't really belong in a project's Gruntfile, but instead belong to a specific user's personal workflow. Like Growl notifications or always opening a browser when a web server task starts. These are probably less like tasks, and more like event listeners or hooks :new:

This doesn't exist yet, and might not exist until 0.5, but I want to do it.

What other CLI options should `grunt` have?

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or implementation entry points. Start by locating the existing CLI option parsing and initialization flow, then clarify whether project and user .gruntrc files, new options, and user hooks belong in one change. Done requires a decided scope and documented behavior for configuration precedence and initialization.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
cli, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.