add AI agents files
This commit is contained in:
parent
5a903af22a
commit
9b9ae5c7f5
79 changed files with 2399 additions and 23 deletions
60
AGENTS.md
Normal file
60
AGENTS.md
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
# AGENTS.md
|
||||
|
||||
Project context for AI coding agents working in this repository.
|
||||
|
||||
## Project
|
||||
|
||||
Personal website and blog for Benjamin Palko, deployed on Netlify.
|
||||
|
||||
- Framework: SvelteKit 5 / Svelte 5
|
||||
- Language: TypeScript (strict)
|
||||
- Styling: Tailwind CSS 4 + daisyUI
|
||||
- Markdown/blogging: mdsvex with a custom `highlight` hook that renders fenced code via `Components.pre code={...}`
|
||||
- Logging: pino (server side)
|
||||
- Icons: `@lucide/svelte`
|
||||
|
||||
## Toolchain
|
||||
|
||||
- **pnpm is the canonical local package manager**.
|
||||
- The GitHub Actions PR gate (`.github/workflows/pr.yml`) runs `pnpm`. Keep both working; document pnpm commands.
|
||||
|
||||
## Scripts (pnpm)
|
||||
|
||||
| Command | What it does |
|
||||
| ---------------- | ---------------------------------------------- |
|
||||
| `pnpm dev` | Start dev server |
|
||||
| `pnpm build` | Production build |
|
||||
| `pnpm preview` | Preview the production build |
|
||||
| `pnpm check` | `svelte-kit sync` + `svelte-check` (typecheck) |
|
||||
| `pnpm lint` | Prettier check + ESLint |
|
||||
| `pnpm format` | Prettier write |
|
||||
| `pnpm test:unit` | Vitest (watch mode) |
|
||||
| `pnpm test` | Vitest (single run) |
|
||||
|
||||
Before finishing any work, run:
|
||||
|
||||
```bash
|
||||
pnpm lint && pnpm check && pnpm test && pnpm build
|
||||
```
|
||||
|
||||
This mirrors the existing PR gate.
|
||||
|
||||
## Code style
|
||||
|
||||
- Prettier + ESLint (flat config) with Svelte and Tailwind plugins. `pnpm format` will fix formatting.
|
||||
- Svelte 5 runes (`$state`, `$props`, etc.).
|
||||
- Path alias `$lib` maps to `src/lib`.
|
||||
|
||||
## Blog / posts
|
||||
|
||||
- Posts live at `src/lib/posts/*.md` and are written in mdsvex markdown.
|
||||
- Follow `src/lib/posts/template.md.sample` for the frontmatter shape: `title`, `description`, `image` (`url`/`alt`), `date`, `categories`, `published`.
|
||||
- `categories` must be one of `'development' | 'work' | 'life'` (see `src/lib/posts/index.ts`).
|
||||
- The slug is the filename (dynamic import in `src/routes/blog/[slug]/+page.ts`).
|
||||
- Only posts with `published: true` appear on the site.
|
||||
- Fenced code blocks use the mdsvex highlighter via `Components.pre` — mind the configured highlight hook in `svelte.config.js`.
|
||||
|
||||
## Theming / assets
|
||||
|
||||
- Static assets live in `static/`.
|
||||
- App-wide styles are in `src/app.css`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue