Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

Counterslayer is a Svelte/JSCad application for generating 3D-printable counter tray inserts for board games. It creates STL files for trays, boxes, and lids organized into stackable layers.

## Git Policy

**Never commit or push.** Do not run `git commit`, `git push`, or create PRs in this repo, even for small fixes or on branches you are reviewing. Leave all changes uncommitted in the working tree and summarize what changed — the user will review and commit. Only commit if explicitly asked to in that specific request.

## Geometry Iteration Workflow

When making geometry changes, use this self-contained loop to iterate without user intervention:
Expand Down
5 changes: 3 additions & 2 deletions e2e/demo.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { expect, test } from '@playwright/test';

test('home page has expected h1', async ({ page }) => {
test('home page loads with the site header', async ({ page }) => {
await page.goto('/');
await expect(page.locator('h1')).toBeVisible();
await expect(page).toHaveTitle(/Counter Slayer/);
await expect(page.getByRole('link', { name: 'Counter Slayer' })).toBeVisible();
});
32 changes: 16 additions & 16 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@
"@jscad/modeling": "^2.13.0",
"@jscad/stl-serializer": "^2.1.23",
"@melt-ui/svelte": "^0.86.6",
"@tabler/icons-svelte": "^3.45.0",
"@tableslayer/ui": "0.2.4",
"@tabler/icons-svelte": "^3.46.0",
"@tableslayer/ui": "0.2.5",
"@threlte/core": "^8.5.16",
"@threlte/extras": "^9.21.0",
"@zip.js/zip.js": "^2.8.31",
"@zip.js/zip.js": "^2.8.57",
"jspdf": "^4.2.1",
"marked": "^18.0.6",
"marked": "^18.0.10",
"mode-watcher": "^1.1.0",
"paneforge": "^1.0.2",
"rectangle-packer": "^1.0.4",
Expand All @@ -39,23 +39,23 @@
"@eslint/compat": "^2.1.0",
"@eslint/js": "^10.0.1",
"@melt-ui/pp": "^0.3.2",
"@playwright/test": "^1.61.1",
"@playwright/test": "^1.62.1",
"@sveltejs/adapter-static": "^3.0.10",
"@sveltejs/kit": "^2.70.1",
"@sveltejs/vite-plugin-svelte": "^7.2.0",
"@sveltejs/kit": "^2.70.3",
"@sveltejs/vite-plugin-svelte": "^7.3.0",
"@types/node": "^26",
"@types/three": "^0.185.1",
"eslint": "^10.7.0",
"@types/three": "^0.185.4",
"eslint": "^10.9.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-svelte": "^3.21.0",
"globals": "^17.7.0",
"prettier": "^3.9.5",
"eslint-plugin-svelte": "^3.23.0",
"globals": "^17.11.0",
"prettier": "^3.9.6",
"prettier-plugin-organize-imports": "^4.3.0",
"prettier-plugin-svelte": "^4.1.1",
"svelte": "^5.56.6",
"svelte-check": "^4.7.3",
"svelte": "^5.56.10",
"svelte-check": "^4.7.6",
"typescript": "=6.0.3",
"typescript-eslint": "^8.64.0",
"vite": "^8.1.5"
"typescript-eslint": "^8.67.0",
"vite": "^8.2.2"
}
}
Loading
Loading