@@ -16,77 +16,31 @@ Sets up a new development environment for a Mac or Linux (i.e., UNIX) box.
16
16
* [ Minimum requirements] ( #minimum-requirements )
17
17
* [ Recommended requirements] ( #recommended-requirements )
18
18
* [ Development] ( #development )
19
- * [ Makefile] ( #makefile )
20
- * [ Taskfile] ( #taskfile )
21
19
* [ Devbox] ( #devbox )
20
+ * [ Taskfile] ( #taskfile )
22
21
* [ Tilt] ( #tilt )
23
22
* [ TODO] ( #todo )
24
23
* [ Further Reading] ( #further-reading )
25
24
26
25
## Setup
27
26
### Minimum requirements
28
27
* [ Python 3.11] ( https://www.python.org/downloads/ )
29
- * Dev dependencies
30
- * make
31
- * [ Linux] ( https://www.gnu.org/software/make/ )
32
- * [ macOS] ( https://www.freecodecamp.org/news/install-xcode-command-line-tools/ )
33
- * [ editorconfig] ( https://editorconfig.org/ )
34
- * [ wsl] ( https://docs.microsoft.com/en-us/windows/wsl/setup/environment )
35
28
36
29
### Recommended requirements
37
30
* [ devbox] ( https://www.jetpack.io/devbox/docs/quickstart/ )
38
31
* [ task] ( https://taskfile.dev/#/installation )
39
32
40
33
## Development
41
- ### Makefile
42
- ``` bash
43
- # install all repo dependcies
44
- make install
45
-
46
- # install specific repo dependencies
47
- make < xcode| asdf| brew| devbox| pre-commit| task>
48
- ```
49
-
50
- ### Taskfile
51
- ``` bash
52
- λ task
53
- task: [default] task --list
54
- task: Available tasks for this project:
55
- * checkbash: Check bash scripts
56
- * export-reqs: Export requirements.txt
57
- * install: Install project dependencies
58
- * pre-commit: Run pre-commit hooks
59
- * run: Run the playbook
60
- * run-dev: Run the playbook with tags and debug
61
- * update-deps: Update dependencies
62
- * docker:build: Build the docker image
63
- * docker:down: Stop and remove containers, networks, and volumes with docker compose
64
- * docker:exec: Shell into a running container
65
- * docker:logs: Follow the logs of a running container
66
- * docker:net: Create docker network
67
- * docker:prune: Prune docker
68
- * docker:push: Push the docker image to the registry
69
- * docker:stop: Stop the project with docker compose
70
- * docker:up: Start the project with docker compose
71
- * docker:vol: Create docker volume
72
- ```
73
-
74
34
### Devbox
75
- Devbox takes care of setting up a dev environment automatically. Under the hood it uses [ Nix Package Manager ] ( https://search.nixos.org/packages ) .
35
+ Devbox takes care of setting up a dev environment automatically.
76
36
77
- Currently, it supports the following:
78
- * [ asdf] ( https://asdf-vm.com/guide/getting-started.html#_2-download-asdf )
79
- * [ docker] ( https://docs.docker.com/compose/install/ )
80
- * [ gh] ( https://cli.github.com/manual/ )
81
- * [ minikube] ( https://minikube.sigs.k8s.io/docs/start/ )
82
- * [ nodejs (21.4)] ( https://nodejs.org/en/download/ )
83
- * [ poetry] ( https://python-poetry.org/docs/ )
84
- * [ python (3.11)] ( https://www.python.org/ )
85
- * [ task] ( https://taskfile.dev/#/installation )
86
- * [ tilt] ( https://docs.tilt.dev/install.html )
37
+ Under the hood it uses [ Nix Package Manager] ( https://search.nixos.org/packages ) .
87
38
88
39
``` bash
89
- # enter dev environment
40
+ # install devbox
41
+ ./bootstrap
42
+
43
+ # enter dev environment w/deps
90
44
devbox shell
91
45
92
46
# run repl
99
53
devbox run test
100
54
```
101
55
56
+ ### Taskfile
57
+ ``` bash
58
+ λ task
59
+ task: Available tasks for this project:
60
+ * checkbash: Check bash scripts
61
+ * default: Default task
62
+ * format: Run formatters
63
+ * install: Install project dependencies
64
+ * install-devbox: Install devbox
65
+ * lint: Run linters
66
+ * pre-commit: Run pre-commit hooks
67
+ * pyclean: Remove .pyc and __pycache__
68
+ * test: Run tests
69
+ * docker:build: Build the docker image (aliases: docker:build)
70
+ * docker:down: Stop and remove containers, networks, and volumes with docker compose (aliases: docker:down)
71
+ * docker:exec: Shell into a running container (aliases: docker:exec)
72
+ * docker:login: Login to the container registry (aliases: docker:login)
73
+ * docker:logs: Follow the logs of a running container (aliases: docker:logs)
74
+ * docker:net: Create docker network (aliases: docker:net)
75
+ * docker:prune: Prune docker (aliases: docker:prune)
76
+ * docker:push: Push the docker image to the registry (aliases: docker:push)
77
+ * docker:stop: Stop the project with docker compose (aliases: docker:stop)
78
+ * docker:up: Start the project with docker compose (aliases: docker:up)
79
+ * docker:vol: Create docker volume (aliases: docker:vol)
80
+ * poetry:add-pypi: Add test-pypi repository (aliases: poetry:add-pypi)
81
+ * poetry:build: Build the poetry bin (aliases: poetry:build)
82
+ * poetry:bump-semver: Bump the project semantic version (aliases: poetry:bump-semver)
83
+ * poetry:default: Default task (aliases: poetry:default, poetry, poetry)
84
+ * poetry:export-reqs: Export requirements.txt (aliases: poetry:export-reqs)
85
+ * poetry:install: Install project dependencies (aliases: poetry:install)
86
+ * poetry:publish: Publish the poetry bin (aliases: poetry:publish)
87
+ * poetry:update-deps: Update dependencies (aliases: poetry:update-deps)
88
+ ```
89
+
102
90
### Tilt
103
91
``` bash
104
92
minikube start --memory=2048 --cpus=2 --kubernetes-version=v1.28.3 -p minikube
0 commit comments