A merge to main could break the app even though the PR check ran
ci-test separately; deploy previously fired on push regardless of
CI outcome. Trigger deploy via workflow_run on ci-test completion
instead, and skip the build job unless ci-test concluded success,
so a broken main no longer publishes to Pages.
* Use safe concurrency pattern for Pages deploys
Switch to the group: pages, cancel-in-progress: false pattern GitHub
recommends for deploy-pages, so a superseded run is skipped before it
starts rather than killed mid-deploy, which can leave the Pages
deployment stuck in progress.
* Tag each successful Pages deploy
There is currently no record of which commits were actually deployed.
Tag the deployed commit as deploy-YYYY-MM-DD-<sha> right after
deploy-pages succeeds, giving a lightweight, always-unique history of
production deploys without introducing a formal versioning/release
scheme.
* Switch Dependabot checks from daily to weekly
Reduces PR noise by checking for npm and github-actions updates
weekly instead of daily.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
* Add resumé link to experience section
Point visitors to a full resumé for more detail, and add rel support
to Link so external references can opt out of link equity.
---------
Co-authored-by: Claude Sonnet 5 <[email protected]>
Give the check job an explicit name so branch protection rules can
reference a stable, searchable "CI" status check context instead of
the generic job-key-derived name.
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
The pnpm migration left a tracked .yarn/install-state.gz. pnpm doesn't
use the .yarn directory, so remove it.
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
Adds a project-scoped .mcp.json registering the Playwright MCP server
so browser automation tooling is available to anyone using Claude Code
in this repo.
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
* Switch package manager from Yarn to pnpm
Replace Yarn 3 (Berry) with pnpm 11.12.0 (latest stable):
- Pin packageManager to [email protected].0; add pnpm-lock.yaml
- Remove yarn.lock, .yarnrc.yml, and the bundled .yarn/ release
- Update CI (ci-test, deploy) to use pnpm/action-setup + setup-node
pnpm cache, with `pnpm install --frozen-lockfile` and pnpm scripts
- Switch Husky pre-commit hook to `pnpm check`
- Add pnpm-workspace.yaml allowlisting esbuild's build script, which
pnpm 11 otherwise blocks with a hard error on install
- Update CLAUDE.md guidance and drop yarn-specific .gitignore entries
Verified: pnpm install --frozen-lockfile, pnpm check, and pnpm build
all pass locally.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
* CI: read Node version from .tool-versions for pnpm 11 compat
pnpm 11.12.0 requires Node >=22.13, but the workflows pinned
node-version: '20' (20.20.2), failing install. Point setup-node at
.tool-versions (22.14.0) so CI and local dev share one source of truth.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
2026-07-13 02:30:39 -05:00
16 changed files with 1148 additions and 3068 deletions
@@ -4,14 +4,14 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
## Commands
This project uses **Yarn 3 (Berry)** — pinned via `packageManager` in `package.json`. Use `yarn`, not `npm`.
This project uses **pnpm** — pinned via `packageManager` in `package.json` (enable it with `corepack enable`). Use `pnpm`, not `npm` or `yarn`.
-`yarn dev` — start the Vite dev server
-`yarn build` — production build to `dist/`
-`yarn preview` — serve the production build locally
-`yarn check` — type-check with `svelte-check` (the only "lint"/CI gate; there is no ESLint/Prettier and no test suite)
-`pnpm dev` — start the Vite dev server
-`pnpm build` — production build to `dist/`
-`pnpm preview` — serve the production build locally
-`pnpm check` — type-check with `svelte-check` (the only "lint"/CI gate; there is no ESLint/Prettier and no test suite)
`yarn check` runs automatically on `git commit` via the Husky `pre-commit` hook, and on every PR / push to `main` via the `ci-test` workflow. There are no unit tests, so `yarn check` is the check to run before considering a change done.
`pnpm check` runs automatically on `git commit` via the Husky `pre-commit` hook, and on every PR / push to `main` via the `ci-test` workflow. There are no unit tests, so `pnpm check` is the check to run before considering a change done.
## Architecture
@@ -28,8 +28,8 @@ A single-page, statically-generated personal résumé site — no router, no bac
- Prefer `<script lang="ts">` with a typed props object for new components (see `components/Link.svelte`, `components/Hero.svelte`). Some older section files use plain `<script>` — match the file you are editing.
- **Tailwind CSS v4** with **no config file**. It is enabled via the `@tailwindcss/vite` plugin and `@import "tailwindcss"` in `src/app.css`; customize through CSS, not a `tailwind.config.js`. `tailwind-merge` is available for conditional class composition.
- Styling is Tailwind utility classes in markup; the dark theme base (`bg-gray-950 text-white`) is set on `<body>` in `index.html`.
-`checkJs` is on and `.js`/`.svelte` files are type-checked — keep JSDoc/types valid so `yarn check` passes.
-`checkJs` is on and `.js`/`.svelte` files are type-checked — keep JSDoc/types valid so `pnpm check` passes.
## Deploy
Pushing to `main` triggers the `deploy` workflow: `yarn build` → upload `dist/` → GitHub Pages (https://dankotowski.dev). Note CI uses Node 20, while local dev is pinned to Node 22.14.0 in `.tool-versions`.
Pushing to `main` triggers the `deploy` workflow: `pnpm build` → upload `dist/` → GitHub Pages (https://dankotowski.dev). CI reads its Node version from `.tool-versions` (pinned to 22.14.0), matching local dev — pnpm 11 requires Node >=22.13.
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.