Skip to content

Commit df0dd3e

Browse files
committed
Updated tooling (GH workflows & templates, pkg manager, etc.)
1 parent 0f201d9 commit df0dd3e

25 files changed

Lines changed: 1603 additions & 2467 deletions

.devcontainer/Dockerfile

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
FROM node:22-slim
2+
3+
ENV DEBIAN_FRONTEND noninteractive
4+
5+
# Install dependencies
6+
RUN --mount=type=cache,target=/var/cache/apt/install \
7+
apt-get update \
8+
&& apt-get -y install --no-install-recommends \
9+
ca-certificates curl git gnupg2 locales shellcheck wget zsh
10+
11+
# Set locales
12+
RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment \
13+
&& echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \
14+
&& echo "LANG=en_US.UTF-8" > /etc/locale.conf \
15+
&& locale-gen en_US.UTF-8
16+
17+
# Install Yarn
18+
RUN --mount=type=cache,target=/var/cache/yarn \
19+
npm install -g corepack \
20+
&& corepack enable \
21+
&& yarn set version stable
22+
23+
# Enable shell history between sessions
24+
RUN --mount=type=cache,target=/var/cache/commandhistory \
25+
mkdir /commandhistory \
26+
&& touch /commandhistory/.zsh_history \
27+
&& chown -R node /commandhistory
28+
29+
# Set Zsh as default shell
30+
RUN usermod --shell /bin/zsh node
31+
32+
USER node
33+
34+
# Install and configure zsh
35+
RUN --mount=type=cache,target=/var/cache/oh-my-zsh \
36+
sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v1.2.0/zsh-in-docker.sh)" -- \
37+
-x \
38+
-t robbyrussell \
39+
-p debian \
40+
-p git \
41+
-p node \
42+
-p yarn \
43+
-a "zstyle ':omz:update' mode auto" \
44+
-a "export PROMPT_COMMAND='history -a'" \
45+
-a "export HISTFILE=/commandhistory/.zsh_history" \
46+
-a "function gi() { curl -sLw \"\\\n\" https://www.toptal.com/developers/gitignore/api/\$@ ;}"

.devcontainer/devcontainer.json

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"name": "bats-zsh",
3+
"build": {
4+
"context": "..",
5+
"dockerfile": "./Dockerfile"
6+
},
7+
"customizations": {
8+
"vscode": {
9+
"extensions": [
10+
"GitHub.vscode-pull-request-github",
11+
"streetsidesoftware.code-spell-checker",
12+
"ms-azuretools.vscode-docker",
13+
"EditorConfig.EditorConfig",
14+
"github.vscode-github-actions",
15+
"VisualStudioExptTeam.vscodeintellicode",
16+
"VisualStudioExptTeam.vscodeintellicode-completions",
17+
"DavidAnson.vscode-markdownlint",
18+
"esbenp.prettier-vscode",
19+
"ms-vscode-remote.remote-containers",
20+
"mads-hartmann.bash-ide-vscode",
21+
"jetmartin.bats",
22+
"timonwong.shellcheck",
23+
"redhat.vscode-yaml"
24+
]
25+
}
26+
},
27+
"remoteUser": "node"
28+
}

.editorconfig

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
root = true
2+
3+
[*]
4+
end_of_line = lf
5+
insert_final_newline = true
6+
trim_trailing_whitespace = true
7+
8+
[{Dockerfile,*.sh}]
9+
charset = utf-8
10+
indent_style = space
11+
indent_size = 4
12+
13+
[*.{json,markdownlintrc,md,yml}]
14+
charset = utf-8
15+
indent_style = space
16+
indent_size = 2

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Bug Report
2+
description: File a bug report.
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
body:
6+
- type: textarea
7+
id: expected-behavior
8+
attributes:
9+
label: What did you expect to happen?
10+
validations:
11+
required: true
12+
13+
- type: textarea
14+
id: actual-behavior
15+
attributes:
16+
label: What actually happened?
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: reproduction
22+
attributes:
23+
label: How can you reproduce the bug?
24+
description: Include step-by-step instructions.
25+
validations:
26+
required: true

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 0 additions & 33 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: false

.github/ISSUE_TEMPLATE/feature.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Feature Request
2+
description: Request a new feature.
3+
title: "[Feature]: "
4+
labels: ["enhancement"]
5+
body:
6+
- type: textarea
7+
id: description
8+
attributes:
9+
label: What feature do you want added?
10+
validations:
11+
required: true
12+
13+
- type: textarea
14+
id: use-case
15+
attributes:
16+
label: What problem would this feature solve?
17+
validations:
18+
required: true

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 0 additions & 20 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/help.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Help Request
2+
description: Ask for help.
3+
title: "[Help]: "
4+
labels: ["help wanted"]
5+
body:
6+
- type: textarea
7+
id: description
8+
attributes:
9+
label: What do you need help with?
10+
validations:
11+
required: true
12+
13+
- type: textarea
14+
id: use-case
15+
attributes:
16+
label: What steps have you taken?
17+
description: How have you tried to answer this question on your own?
18+
validations:
19+
required: true

.github/dependabot.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: devcontainers
4+
directory: "/"
5+
schedule:
6+
interval: monthly
7+
8+
- package-ecosystem: github-actions
9+
directory: "/"
10+
schedule:
11+
interval: monthly
12+
13+
- package-ecosystem: npm
14+
directory: "/"
15+
schedule:
16+
interval: monthly
17+
allow:
18+
- dependency-type: production

0 commit comments

Comments
 (0)