I've read a few threads on Cardano Stack exchange on how to start a new Plutus project, but there doesn't seem to be a satisfying answer. I've read the following:

The answers suggests that we copy the Plutus Pioneer course and use the cabal.project file as a base to build on top of. But what if we the Plutus Pioneer course is over, surely there has to be a way to determine what the correct cabal.project file and its dependencies should be?

Another answer says to follow the plutus-starter repository: https://github.com/input-output-hk/plutus-starter. However this repository doesn't seem to be fully updated. The cabal.project file there hasn't been updated for the past 5 months.

So, the question is, when starting a new Plutus project, especially getting the correct dependencies and tags in the cabal.project file, ensuring that the correct tags are used for the repositories within it, what's the procedure to do this?


  • Please take a look at this answer.
    – Fermat
    Dec 21, 2022 at 8:39

2 Answers 2


Great point, unfortunately IO has been a bit behind in regards to updating some of its skeleton repos as you've already pointed out.

In regards to the correct tags for repos - there is actually only one thing you have to be make sure is matching up and that's making sure the cabal.project file defines a plutus-apps dependency which references a git tag. That must match the commit you check out after cloning the plutus-apps repo.

After that you're pretty safe to run nix-shell in the plutus-apps repo and switch back to your project.

I've used the pioneer program cohort #3 as template.


The plutus starter is the ideal template to start with new Plutus projects and like William said the IOG repo is quite outdated at this time.

I have created an updated branch for the plutus-starter. I have been using it and it works. I made a PR for the IOG repo, but seems it yet to get attention :)

Here it is if you'd like to use. https://github.com/gannith/plutus-starter/tree/track-plutus-apps


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.