<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="368280" data-post-id="368280">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sodapopcan" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sodapopcan/120/34668_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sodapopcan
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Sorry to pick on Moar it’s just the one I’ve been most exposed to.  I do appreciate the README advice but I realize I’m thinking more of a team setting where the whole thing is being used and it’s hard to argue against using certain pieces of it when it’s already there, and there are a few things in Moar I’m very against (but that’s not your fault, we’re all entitled to write code how we want!)  Generally, though, I’ve found myself happily ditching small helpers that just wrap an English term around very simple code and it makes reading code far more enjoyable for me.  <code>slot_given?</code> is an example of something I’ve run into which is just a wrapper around <code>foo != []</code>.  Another example is <code>present?</code> (available in <code>Moar</code> but a common one people make these regardless)—that one is more problematic as it conveys “I don’t care what type this is” when that is never true.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="368280" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/what-libraries-do-you-pull-in-for-a-fresh-project/71447/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-368280" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="368280"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="368301" data-post-id="368301">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="adamu" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/adamu/120/31482_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  adamu
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for the responses all, it’s useful to see what people find useful, there were a few in there that were new to me, and I’m sure this thread will be helpful for others starting new projects too <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<aside class="quote no-group" data-username="hangyas" data-post="11" data-topic="71447">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hangyas/48/17959_2.png" class="avatar"> hangyas:</div>
<blockquote>
<p>there is only one I’d add without much thinking:</p>
<p><a href="https://hexdocs.pm/timex/getting-started.html" rel="noopener nofollow ugc">Timex</a></p>
</blockquote>
</aside>
<p>This one made me  <img src="https://forum.elixirforum.com/images/emoji/apple/face_with_raised_eyebrow.png?v=15" title=":face_with_raised_eyebrow:" class="emoji" alt=":face_with_raised_eyebrow:" loading="lazy" width="20" height="20">  - I usually try to remove Timex from legacy projects unless there is some specific functionality it’s providing that can’t easily be replaced by built-in functionality.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="368301" data-batch-url="/posts/batch_likers">
                        7
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/what-libraries-do-you-pull-in-for-a-fresh-project/71447/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-368301" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="368301"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="368306" data-post-id="368306">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mudasobwa" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mudasobwa/120/5298_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mudasobwa
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Cure</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I tend to include blindly dev/test deps only</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">      {:mox, "~&gt; 1.0", only: [:dev, :test]},
      {:stream_data, "~&gt; 1.0", only: [:dev, :test]},
      {:doctest_formatter, "~&gt; 0.2", only: [:dev], runtime: false},
      {:enfiladex, "~&gt; 0.3", only: [:dev, :test]},
      {:excoveralls, "~&gt; 0.14", only: [:test], runtime: false},
      {:credo, "~&gt; 1.0", only: [:dev, :test]},
      {:dialyxir, "~&gt; 1.0", only: [:dev, :test], runtime: false},
      {:ex_doc, "&gt;= 0.0.0", only: [:dev]}
</code></pre>
<p>Usually I also use some of my libs, such as <code>estructura</code>, <code>finitomata</code>, <code>rambla</code>, <code>telemetria</code> and <code>antenna</code>.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="368306" data-batch-url="/posts/batch_likers">
                        6
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/what-libraries-do-you-pull-in-for-a-fresh-project/71447/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-368306" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="368306"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="368317" data-post-id="368317">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="hangyas" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hangyas/120/17959_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  hangyas
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Good point, I just realized I probably haven’t started a new project since v1.17 added <code>Duration</code> and <code>shift</code> and didn’t bother to refactor. Looking into one of my projects, it’s 50% <code>Timex.shift</code> that could be removed but the other 50% is <code>Timex.format</code> that I think is still worth the extra dependency. But granted, it doesn’t apply to all fresh projects.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="368317" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/what-libraries-do-you-pull-in-for-a-fresh-project/71447/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-368317" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="368317"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="368318" data-post-id="368318">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="mudasobwa" data-post="14" data-topic="71447">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mudasobwa/48/5298_2.png" class="avatar"> mudasobwa:</div>
<blockquote>
<p><code>      {:enfiladex, "~&gt; 0.3", only: [:dev, :test]},</code></p>
</blockquote>
</aside>
<p>After a few minutes of reading I have zero idea what a “common test” is. No links, no explanations, and I’m not going to the Erlang docs to search.</p>
<p>Bad DX. If the author can’t advertise the value of their library in a minute, it’s not going to get used too much.</p>
<p>Though I’ll admit “multi-node test” does sound a touch intriguing.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="368318" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/what-libraries-do-you-pull-in-for-a-fresh-project/71447/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-368318" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="368318"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="368328" data-post-id="368328">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="greven" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/greven/120/25004_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  greven
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Libraries that I’ve seen on all my projects (excluding Phoeni and all the defaults, LiveView, Ecto, …).</p>
<h1><a name="p-368328-jobs-1" class="anchor" href="#p-368328-jobs-1" aria-label="Heading link" rel="nofollow"></a>Jobs</h1>
<p>{:oban, “~&gt; 2.19”}</p>
<h1><a name="p-368328-caching-2" class="anchor" href="#p-368328-caching-2" aria-label="Heading link" rel="nofollow"></a>Caching</h1>
<p>{:nebulex, “~&gt; 2.6”}</p>
<h1><a name="p-368328-utils-3" class="anchor" href="#p-368328-utils-3" aria-label="Heading link" rel="nofollow"></a>Utils</h1>
<p>{:req, “~&gt; 0.5”}<br>
{:uniq, “~&gt; 0.6”}<br>
{:dotenvy, “~&gt; 1.1”}</p>
<h1><a name="p-368328-development-4" class="anchor" href="#p-368328-development-4" aria-label="Heading link" rel="nofollow"></a>Development</h1>
<p>{:credo, “~&gt; 1.7”, only: :dev, runtime: false}</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="368328" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/what-libraries-do-you-pull-in-for-a-fresh-project/71447/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-368328" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="368328"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="368329" data-post-id="368329">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mudasobwa" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mudasobwa/120/5298_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mudasobwa
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Cure</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="dimitarvp" data-post="16" data-topic="71447">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>Bad DX.</p>
</blockquote>
</aside>
<p>The UX is very carefully designed. If you don’t know what <code>common_test</code> is, you don’t want to mess with this library. <code>common_test</code> is so huge of a concept, that explaining it in <code>enfiladex</code> docs would be alongside with explaining what <code>Postgres</code> is in docs for <code>Postgrex</code> ecto adapter.</p>
<p><img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji only-emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="368329" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/what-libraries-do-you-pull-in-for-a-fresh-project/71447/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-368329" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="368329"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="368334" data-post-id="368334">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="woylie" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/woylie/120/38856_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  woylie
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>A link to the <a href="https://www.erlang.org/doc/apps/common_test/introduction.html" rel="nofollow">common test docs</a> (I assume this is it) would probably be helpful for the unenlightened.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="368334" data-batch-url="/posts/batch_likers">
                        5
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/what-libraries-do-you-pull-in-for-a-fresh-project/71447/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-368334" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="368334"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #18"></div>
  </section>
</div>
    <div class="postbit" id="368335" data-post-id="368335">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mudasobwa" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mudasobwa/120/5298_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mudasobwa
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Cure</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="woylie" data-post="19" data-topic="71447">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/woylie/48/38856_2.png" class="avatar"> woylie:</div>
<blockquote>
<p>would probably be helpful for the unenlightened</p>
</blockquote>
</aside>
<p>Thank you! The thing is, I am still 102% sure <code>enfiladex</code> is not designed for those who are unfamiliar with <code>common_test</code>, because it only provides some helpers to convert <code>ex_unit</code> into common tests, but it’d appear extremely unfriendly to anyone not having an experience with common test itself (imho.)</p>
<p>I pay a lot of attention to the documentation in all my libs save for that one, and I believe that’s right.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="368335" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/what-libraries-do-you-pull-in-for-a-fresh-project/71447/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-368335" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="368335"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #19"></div>
  </section>
</div>
    <div class="postbit" id="368339" data-post-id="368339">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="billylanchantin" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/billylanchantin/120/28428_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  billylanchantin
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Something not mentioned yet:</p>
<ul>
<li><a href="https://hexdocs.pm/nimble_options/NimbleOptions.html" class="inline-onebox" rel="noopener nofollow ugc">NimbleOptions — NimbleOptions v1.1.1</a></li>
</ul>
<p>It lets me be declarative about option validation and keeps the docs in sync with the options.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="368339" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/what-libraries-do-you-pull-in-for-a-fresh-project/71447/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-368339" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="368339"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #20"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/71447/load_more?page=3">Load more posts (3 remaining)</a>
</div></template></turbo-stream>