# Why start domain-specific scientific projects as Packages?

**URL:** <https://discourse.julialang.org/t/why-start-domain-specific-scientific-projects-as-packages/34752>\
**Category:** General Usage\
**Created:** [February 17, 2020, 10:11am UTC](https://discourse.julialang.org/t/why-start-domain-specific-scientific-projects-as-packages/34752 "2020-02-17T10:11:16Z")\
**Posts on this page:** 1\
**Showing post:** 11

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [February 18, 2020, 12:02am UTC](https://discourse.julialang.org/t/why-start-domain-specific-scientific-projects-as-packages/34752/11 "2020-02-18T00:02:42Z")

</div>

I put dev tools in `@v1.x`, that is the current shared environment, and whatever the current package/project needs in its environment. Then I have a `.envrc` file in each project with `export JULIA_PROJECT=@.` and I use [direnv](https://github.com/direnv/direnv). That way I always have my dev tools in the REPL and I can load whatever the dependencies is the project whose directory I’m currently am in.

If you’re trusting, you could just put that export in your global bashrc file (or whatever shell you use), but it’s a bit dangerous since it means that cloning some project and starting Julia in that directory can change what packages mean (although you still have to install them).

---

_[View the full topic](https://discourse.julialang.org/t/why-start-domain-specific-scientific-projects-as-packages/34752)._
