mirror of
https://github.com/prdlk/website.git
synced 2026-08-02 17:31:41 +00:00
2.5 KiB
2.5 KiB
prad.nu
Purpose
Personal CV / portfolio site for Prad Nukala (https://prad.nu). A static Astro v6 site (forked from the Astro Cactus theme) organised into four content sections — Projects, Experience, Writing, Speaking — where Experience entries double as a cross-linking taxonomy. See README.md for the human-facing overview.
Key Files
| File | Description |
|---|---|
package.json |
Dependencies and scripts (pnpm). |
astro.config.ts |
Astro integrations (MDX, sitemap, icon, robots, webmanifest, expressive-code), markdown remark/rehype pipeline, Satori OG fonts. |
tailwind.config.ts |
Tailwind v4 config (most styling is in src/styles/global.css). |
tsconfig.json |
TypeScript config; defines the @/* → src/* path alias. |
biome.json |
Biome linter/formatter config (pnpm check / pnpm lint). |
mise.toml / pnpm-workspace.yaml |
Toolchain + workspace config. |
README.md |
Project purpose, content model, frontmatter reference. |
Subdirectories
| Directory | Purpose |
|---|---|
src/ |
All application source (see src/AGENTS.md). |
public/ |
Static assets served as-is (see public/AGENTS.md). |
For AI Agents
Working In This Directory
- Package manager is pnpm. Output is static (
output: 'static',./dist) — no SSR adapter. - Import from source via the
@/alias (e.g.@/site.config), not long relative paths. - Most site-wide config (title, url,
socialLinks,streamOrigin,menuLinks) lives insrc/site.config.ts.
Testing Requirements
pnpm buildis the primary correctness gate — it runsastro check-level content validation and fails on bad frontmatter, broken collection refs, or type errors.pnpm checkrunsastro check+ Biome.pnpm devserves locally for visual checks.
Common Patterns
- Content lives in Content Collections; schema is defined once in
src/content.config.ts. is:inlineis required on<script type="application/ld+json">and similar non-bundled scripts.
Dependencies
External
astrov6,tailwindcssv4 — framework + styling.@astrojs/mdx,@astrojs/rss,@astrojs/sitemap,astro-icon,astro-webmanifest,astro-robots-txt,astro-expressive-code.satori+sharp— OG image generation.pagefind— static search.@mux? no — speaking uses Cloudflare Stream via an iframe (no player dep).