This project is a Vite + React personal site with Spotify, GitHub, and Steam activity widgets.
From the project root:
pnpm install
pnpm devThis starts the Vite dev server, usually at http://localhost:5173/.
The activity section calls serverless API routes for Spotify, GitHub, and Steam. To test those locally, use the Vercel dev server:
pnpm run dev:fullThis expects the following env vars in .env or .env.local:
SPOTIFY_CLIENT_ID=...
SPOTIFY_CLIENT_SECRET=...
SPOTIFY_REFRESH_TOKEN=...
GITHUB_USERNAME=DeveshKrishan
# Optional, helps with GitHub rate limits:
GITHUB_TOKEN=...
STEAM_WEB_API_KEY=...
STEAM_ID=76561198...
# Optional alternative to STEAM_ID:
# STEAM_VANITY_URL=yournameIf you only run pnpm dev, the UI will still load, but the API routes will not be available locally.
See scripts/steam-resolve-id.md for full steps. In short:
- Get a Web API key at steamcommunity.com/dev/apikey.
- Find your SteamID64 (from your profile URL or via vanity URL resolution).
- Set Game details to Public in Steam privacy settings.
The Steam widget shows games played in the last 2 weeks only.
This project uses Changesets to track changes and manage versions.
After making changes you want to release:
pnpm run cs:prepareFollow the prompts to select the release type and add a summary.
This creates a file in the .changeset directory describing the change.
When you are ready to cut a new version:
pnpm run cs:versionThis will:
- Bump the version in
package.json - Generate or update
CHANGELOG.md
Then commit and push the changes:
git add .
git commit -m "chore: release"
git pushThis project uses Husky and Commitlint to enforce commit message style and run checks before commits.
From the my-project directory:
pnpm installThis runs husky install via the prepare script and sets up Git hooks.
- pre-commit: runs
pnpm lint- Prevents commits if ESLint fails.
- commit-msg: runs Commitlint with the conventional config
- Ensures commit messages follow the Conventional Commits standard.
Valid examples:
feat: add dashboard cardsfix: handle null data in chartchore: update dependenciesdocs: add setup instructions
If a commit message does not follow this format, the commit will be rejected until the message is fixed.
This project uses Prettier for code formatting.
To format the source files (React components, JS/TS, CSS, and Markdown), run:
pnpm format:fixThis will run Prettier with the project’s config and write changes to disk.