Add optional 'version' field to the 'prelude`
- Dominant language
- Haskell
- Stars
- 711
- Forks
- 73
- PR merge metrics
- No merged PRs in 30d
Description
So it will look like this:
```toml
[prelude]
package = "relude"
module = "Relude"
version = "0.6.0.0"
```
And in the `.cabal` file you'll have `relude ^>= 0.6.0.0`
**Open questions**
1. Should we do any validation, like, check that all components are only numbers?
2. What to do with `stack`? Always add to `extra-deps` or just ignore it?
**Alternatives**
Allow arbitrary text in the `version`, so users can write something like:
```haskell
version = "^>= 0.6.0.0"
```
or
```haskell
version = ">= 0.5.0 && < 0.7"
```
Contributor guide
Research direction
Locate the existing `prelude` handling and the entry points that generate `.cabal` and `stack` configuration. Resolve the stated validation and `stack` behavior questions, then verify that a `version` value produces the intended Cabal constraint and that the chosen behavior is covered by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- build-system, cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100