Skip to content

Commit

Permalink
Merge pull request #6 from GrantBirki/updates
Browse files Browse the repository at this point in the history
Docs Updates
  • Loading branch information
GrantBirki authored Sep 5, 2024
2 parents 30420bf + 2507e38 commit 1c07b45
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ This template is designed to be a starting point for quickly getting your projec

This project uses a highly opinionated dependency vendoring strategy. This strategy is designed to ensure that you own your availability and can always build your project. This strategy is as follows:

1. All dependencies are vendored into the project into the `lib/` directory
2. The `lib/` directory is committed to the repository to ensure that all dependencies are available to build the project forever
3. The `script/bootstrap` command installs dependencies with `SHARDS_CACHE_PATH="$DIR/.cache/shards" shards install ...` to ensure that each project has its own cache and does not interfere with other crystal projects
1. All dependencies are vendored into the project into the `vendor/shards/cache/` directory
2. The `vendor/shards/cache/` directory is committed to the repository to ensure that all dependencies are available to build the project forever. These shards are in `<name>-<version>.shard` format and take inspiration from a Ruby "Gem" when they are vendored.
3. The `script/bootstrap` command installs dependencies with `SHARDS_CACHE_PATH="vendor/.cache/shards" shards install ...` to ensure that each project has its own cache and does not interfere with other crystal projects

## Docker Strategy 🐳

Expand All @@ -45,6 +45,14 @@ Run the following command to bootstrap this repository and install all dependenc
script/bootstrap
```

### Updating Dependencies

Run the following command to update all dependencies (shards):

```bash
script/update
```

### Testing

Run the following command to run all unit tests:
Expand Down Expand Up @@ -102,6 +110,9 @@ To get started quickly with this project, you will need the following installed:
- [crystal](https://github.com/crystal-lang/crystal) ([crenv](https://github.com/crenv/crenv) is suggested)
- [docker compose](https://docs.docker.com/compose/)
- [bash](https://www.gnu.org/software/bash/)
- [jq](https://github.com/jqlang/jq)
- [yq](https://github.com/mikefarah/yq)
- [zip](https://formulae.brew.sh/formula/zip)

To get your repo setup for development do the following:

Expand Down

0 comments on commit 1c07b45

Please sign in to comment.