~elais/treetop

chore(release): release version 0.1.0

Add .envrc to gitignore

Add .direnv to gitignor

remove dir-locals from gitignore

Add dir-locals to version control

Fix dir-locals and shell.nix

This fixes the dir-locals for emacs users' lsp workspace configurations.

This also makes sure all nodejs packages are using the latest lts release.

Add a parser module

This module is the first step in creating an efficient, fast, and
type-safe parser for newick files based on parser combinators.

Move port under src

Switch to node project and add operations

Deno's lsp server is incomplete and totally broken when using imenu so I
switched over to nodejs (at least until the deno lsp portion is doing
better).

Added a `treeToList` operation that should convert the tree to a list in
linear time. However there are still more optimizations to be made (for
instance, preallocating the list).

Add cli and operations

Add updated nix files

Prepare for 0.1.0

Here we rearrange the project to delete nodejs references and we also
add a build plan for sourcehut.

Add test_data

Change build.yml to .build.yml

This will allow for automatic builds.

Change shell.nix

Add pre-commit hook and license

The BSD 3-Clause license was added to the repo.

A pre-commit hook was added to lint and test the project before
committing. This was done so that only *working* code finds its way into
each commit as a deterrent to checking in anything broken. Though it may
still be wise to add a code coverage hook to pre-push so that
maintainers will have to keep 80% before applying a patch. Thinking
about it though, it may be more wise to enforce code coverage at the
commit level seeing as maintainers will be the only ones allowed to
apply patches.

chore: prepare for 0.1.0 release

chore: Add README

chore: add changelog

Reviewed-by: Elais P.
Refs #1