# Complete End-to-end guide for professional Julia development guide

**URL:** <https://discourse.julialang.org/t/complete-end-to-end-guide-for-professional-julia-development-guide/46174>\
**Category:** New to Julia\
**Created:** [September 7, 2020, 5:57am UTC](https://discourse.julialang.org/t/complete-end-to-end-guide-for-professional-julia-development-guide/46174 "2020-09-07T05:57:43Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [September 7, 2020, 5:57am UTC](https://discourse.julialang.org/t/complete-end-to-end-guide-for-professional-julia-development-guide/46174/1 "2020-09-07T05:57:43Z")

</div>

I find that it’s actually hard to find info on how to do professional Julia development from end to end.

By that I mean

1. How to set up a Julia repo on Github/Gitlab (use PkgTemplates.jl)
2. What to include in the repo to trigger testing and code coverage tests (not sure ???)
3. Set up testing properly (Just use the examples in test folder)
4. Set up doc strings (Follow the documentation)
5. Compile the Doc strings into documentation HTML (not sure)
6. Host that HTML on Github/Netlify etc (not sure, Documenter.jl seems quite complex).
7. Reigstering and Release the package (via JuliaReigstrator)

I come from R where I use RStudio and it’s quite a breeze, but I find it quite hard.

Am I missing some points?

I mean all of those things are there but I find it to be disparate. So a single post walking through all of those from end to end would be nice. Or a book really.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [September 7, 2020, 7:54am UTC](https://discourse.julialang.org/t/complete-end-to-end-guide-for-professional-julia-development-guide/46174/2 "2020-09-07T07:54:44Z")

</div>

I don’t think there is enough material here for a book, but you could write a short blog post collecting the relevant pointers.

Each step is documented in detail, but IMO that should not be duplicated or consensed, as the underlying packages/procedures do change occasionally. Just links should be fine.

FWIW, I don’t think that finding this information is that hard though; the actual steps are analogous in all modern languages with a FOSS ecosystem, it’s just the details that differ.

---

<div class="post-metadata">

**Author:** ![danielw2904](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/danielw2904/32/10890_2.png) [@danielw2904](https://discourse.julialang.org/u/danielw2904)\
**Post date:** [September 7, 2020, 8:19am UTC](https://discourse.julialang.org/t/complete-end-to-end-guide-for-professional-julia-development-guide/46174/3 "2020-09-07T08:19:54Z")

</div>

I struggled with building the documentation at first using GithubActions. But really the process boils down to reading the manual for PkgTemplates. I’m not sure if that exists but maybe an ‘example workflow’ in the manual would be good.

---

<div class="post-metadata">

**Author:** ![yiyuezhuo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yiyuezhuo/32/27101_2.png) [@yiyuezhuo](https://discourse.julialang.org/u/yiyuezhuo)\
**Post date:** [September 7, 2020, 11:15am UTC](https://discourse.julialang.org/t/complete-end-to-end-guide-for-professional-julia-development-guide/46174/4 "2020-09-07T11:15:38Z")

</div>

> [@xiaodai](#):
>
> I mean all of those things are there but I find it to be disparate. So a single post walking through all of those from end to end would be nice. Or a book really.

To me it feels too “engineering”, one may doesn’t have enough motivation to read through such a post if he or she doesn’t have a concrete task in their mind. For example, there’re so many people who never read through a complete Git tutorial and just search and ask “how to return a history version”.

---

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [September 7, 2020, 12:14pm UTC](https://discourse.julialang.org/t/complete-end-to-end-guide-for-professional-julia-development-guide/46174/5 "2020-09-07T12:14:41Z")

</div>

> [@yiyuezhuo](#):
>
> To me it feels too “engineering”

Nice. At least a certain proportion of the population don’t feel like what i like. Cool.

---

<div class="post-metadata">

**Author:** ![danielw2904](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/danielw2904/32/10890_2.png) [@danielw2904](https://discourse.julialang.org/u/danielw2904)\
**Post date:** [September 7, 2020, 4:21pm UTC](https://discourse.julialang.org/t/complete-end-to-end-guide-for-professional-julia-development-guide/46174/6 "2020-09-07T16:21:03Z")

</div>

I have created a minimal package and documented how to generate it. Maybe this can be used as a basis for a tutorial

[https://github.com/danielw2904/CoolPkg.jl](https://github.com/danielw2904/CoolPkg.jl)

---

<div class="post-metadata">

**Author:** ![mthelm85](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mthelm85/32/224164_2.png) [@mthelm85](https://discourse.julialang.org/u/mthelm85)\
**Post date:** [September 7, 2020, 5:15pm UTC](https://discourse.julialang.org/t/complete-end-to-end-guide-for-professional-julia-development-guide/46174/7 "2020-09-07T17:15:04Z")

</div>

Have you seen this?

> **[Developing Julia Packages - Stochastic Lifestyle](http://www.stochasticlifestyle.com/developing-julia-packages/)**
>
> Have you ever wanted to develop your own package for the Julia programming language? Have you ever wanted to contribute a bug fix? Then this tutorial is for you! I will walk you through getting the community resources (Discourse and Slack) so that...
