Skip to content

Commit 9d7b074

Browse files
committed
feat: initial setup
1 parent ecd43dc commit 9d7b074

28 files changed

Lines changed: 10525 additions & 0 deletions

.claude/settings.json

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"permissions": {
3+
"allow": [
4+
"Bash",
5+
"Edit",
6+
"Write",
7+
"NotebookEdit",
8+
"WebFetch(domain:github.com)",
9+
"WebFetch(domain:raw.githubusercontent.com)",
10+
"WebFetch(domain:vite.dev)",
11+
"WebSearch",
12+
"mcp__*",
13+
"mcp__vuetify__get_v4_breaking_changes",
14+
"mcp__vuetify__get_component_api_by_version",
15+
"mcp__playwright-test__browser_navigate",
16+
"mcp__playwright-test__browser_open",
17+
"mcp__playwright-test__generator_setup_page",
18+
"mcp__plugin_context7_context7__resolve-library-id",
19+
"mcp__plugin_context7_context7__query-docs"
20+
],
21+
"deny": []
22+
},
23+
"enabledMcpjsonServers": [
24+
"playwright-test"
25+
],
26+
"enabledPlugins": {
27+
"superpowers@claude-plugins-official": true
28+
},
29+
"sandbox": {
30+
"enabled": true,
31+
"autoAllowBashIfSandboxed": true
32+
}
33+
}

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
node_modules/
2+
dev/logs/
3+
dev/data/
4+
.env
5+
test-results/

.husky/commit-msg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npx --no-install commitlint --edit ""

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npm run lint

.husky/pre-push

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npm run quality

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@AGENTS.md

Dockerfile

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
##########################
2+
FROM node:24.13.0-alpine3.23 AS base
3+
4+
WORKDIR /app
5+
ENV NODE_ENV=production
6+
7+
##########################
8+
FROM base AS deps
9+
10+
RUN apk add --no-cache python3 make g++ git
11+
COPY package.json package-lock.json ./
12+
RUN npm ci --omit=dev --omit=optional --no-audit --no-fund
13+
14+
##########################
15+
FROM base AS main
16+
17+
COPY --from=deps /app/node_modules node_modules
18+
COPY src src
19+
COPY package.json README.md* LICENSE ./
20+
21+
EXPOSE 8080
22+
EXPOSE 9090
23+
24+
USER node
25+
26+
CMD ["node", "src/index.ts"]

commitlint.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default {
2+
extends: ['@commitlint/config-conventional']
3+
}

dev/init-env.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
3+
RANDOM_NB=$((1024 + RANDOM % 48000))
4+
echo "Use random base port $RANDOM_NB"
5+
6+
cat <<EOF > ".env"
7+
DEV_PORT=$((RANDOM_NB))
8+
MONGO_PORT=$((RANDOM_NB + 10))
9+
REGISTRY_PORT=$((RANDOM_NB + 20))
10+
11+
REGISTRY_URL=http://localhost:$((RANDOM_NB + 20))
12+
REGISTRY_SECRET=dev-secret
13+
DATA_DIR=./dev/data
14+
PORT=$((RANDOM_NB))
15+
LOG_LEVEL=debug
16+
OBSERVER_ACTIVE=false
17+
EOF

docker-compose.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
services:
2+
mongo:
3+
image: mongo:8.0.17
4+
command: ["mongod", "--quiet"]
5+
ports:
6+
- ${MONGO_PORT}:27017
7+
volumes:
8+
- mongo-data:/data/db
9+
10+
# data-fair/registry instance used as the source of tilesets and styles in dev.
11+
# Point tileserver at http://localhost:${REGISTRY_PORT} via REGISTRY_URL.
12+
registry:
13+
image: ghcr.io/data-fair/registry:main
14+
network_mode: host
15+
depends_on:
16+
- mongo
17+
environment:
18+
PORT: ${REGISTRY_PORT}
19+
MONGO_URL: mongodb://localhost:${MONGO_PORT}/registry
20+
OBSERVER_ACTIVE: "false"
21+
SECRET_KEYS_INTERNAL_SERVICES: ${REGISTRY_SECRET}
22+
23+
volumes:
24+
mongo-data:

0 commit comments

Comments
 (0)