kowainik / kowainik/summoner

Add optional 'version' field to the 'prelude`

Open
#411 2 comments 1 reaction 0 assignees View on GitHub
config generated project
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.