Terminal-style personal website with command-driven navigation.
- Astro
- Vanilla JavaScript (terminal runtime)
- CSS
- Install dependencies:
pnpm install
- Add an OpenWeatherMap key (optional for weather command):
- Copy
.env.exampleto.env - Set
OPENWEATHERMAP_API_KEY=...
- Copy
- Run dev server:
pnpm dev
- Resume path:
public/data/site-config.json - Project/domain/repository catalog:
public/data/projects.json - Canonical resume file location:
public/resume.pdf
The site includes a terminal command surface for browsing source repositories:
repo # list the catalog
repo --systems # focus C/Assembly/Shell/Rust-style systems work
repo --lang C # filter by language
repo --search term # search names, descriptions, languages, and URLs
repo <name|number> # show source/live/clone details
repo open <name> # open the source repository
repo clone <name> # print a git clone commandThe catalog is static and sourced from public/data/projects.json, which keeps
the website usable without GitHub API credentials at runtime.
pnpm build
pnpm previewRun the full local quality suite:
pnpm checkIndividual commands:
pnpm lint
pnpm format:check
pnpm test
pnpm test:coverageThis repository uses Husky + lint-staged:
pre-commit: runslint-stagedon changed filespre-push: runspnpm check
If hooks are not active locally, run:
pnpm prepareGitHub Actions runs on every push and executes jobs in parallel:
- Lint + format check
- Unit tests with coverage thresholds
- Production build
Railway auto-deploy remains independent and unchanged.