@mxstbr/mxstbr-com
BThis is the source for my personal website and blog mxstbr.com.
Install
agr install @mxstbr/mxstbr-com --target cursorWrites 1 file into .cursor/rules/, pinned to git-41160581.
- .cursorrules
Document
mxstbr.com Cursor Rules
Tech Stack
- Next.js v15 with App Router
- TailwindCSS with custom configuration
- TypeScript (relaxed mode: strict: false)
- MDX for content
- React Server Components (default) and Client Components
Code Conventions
Component Structure
- Use named exports:
export function ComponentName() - Functional components with hooks
- Props typed with inline interfaces or type aliases
- Default to Server Components; use Client Components when needed
TypeScript Patterns
- Use
import typefor type-only imports - Define props interfaces inline or as separate types
- Relaxed TypeScript settings (strict: false, strictNullChecks: true)
Styling with Tailwind
- Use Tailwind classes with dark mode support patterns:
dark:text-slate-100 - Consistent spacing with
space-y-*classes - Custom Tailwind colors:
slate-350,yellow-slate-100 - Typography plugin with custom "slate" theme
File Organization
- App Router structure with
page.tsxfiles - Components in
app/components/directory - Feature-based directories (cal/, finance/, notes/, etc.)
- kebab-case for file names and directories
- PascalCase for component names
- camelCase for variables and functions
Next.js Patterns
- Export
metadataobjects for SEO - Use
revalidateanddynamicexports for caching control - Dynamic routing with
[slug]directories - Import Next.js components from
next/*(Image, Link, etc.)
Static Assets
- Files in
/publicare automatically served and accessible via URL paths - Reference public assets with leading slash:
/static/images/file.png - No need to copy files already in public directory - use existing paths
- For icons and images, use existing assets from
/public/static/images/
Import Style
- Relative imports for local components:
'./component'or'../component' - Feature imports:
'app/feature/utils' - External libraries: standard npm imports
Common Patterns
- Use
space-y-*for vertical spacing between elements - Consistent color scheme: slate palette with dark mode
- ItemList/ItemListItem pattern for structured content
- Section component for page organization
- Prose component for text content
Repository README
Describes mxstbr/mxstbr.com as a whole, which may contain artifacts other than this one. Where this artifact had no useful description of its own, its summary was taken from here.
mxstbr.com
This is the source for my personal website and blog mxstbr.com.
Tech Stack
Development
pnpm install
pnpm dev
Env vars
# Used to get the repositories of my OSS projects. Get from github.com
GITHUB_ACCESS_TOKEN=
# Used to store view counts of essays & notes. Get from upstash.com
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN==
# Used to store the notes content. Get from Hashnode.com
HASHNODE_ACCESS_TOKEN=
# Optional: Used to send emails to Max from the feedback form. Get from resend.com
RESEND_API_KEY=
# Optional: Used on the /cal page for auth. Pick any random string.
CAL_PASSWORD=
# Used to authenticate Pebble Index recording webhooks. If unset, the endpoint
# derives a stable webhook token from UPSTASH_REDIS_REST_TOKEN.
PEBBLE_INDEX_WEBHOOK_TOKEN=
# Optional: Max accepted Pebble Index recording payload size in bytes. Defaults to 4000000.
PEBBLE_INDEX_MAX_BYTES=
# Optional: Override the MacWhisper CLI used by `pnpm process-index-recordings --transcribe`.
MACWHISPER_CLI_PATH=/usr/local/bin/mw
# Optional: Local transcription timeout in milliseconds. Defaults to 300000.
PEBBLE_INDEX_TRANSCRIPTION_TIMEOUT_MS=
# Used by `pnpm reflect-append-daily-note` for Pebble note-to-self captures.
REFLECT_ACCESS_TOKEN=
REFLECT_GRAPH_ID=mxstbr
# Optional: Reflect list name used inside the daily note. Defaults to "Pebble Index".
REFLECT_DAILY_NOTE_LIST_NAME="Pebble Index"
Append a note under the Pebble Index list in today's Reflect daily note:
pnpm reflect-append-daily-note --recording-id idx_example --content "Remember to follow up on the contract."
License
Licensed under the MIT License. Feel free to use parts of the code in your own projects with attribution!
Trustgrade B
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- warnLicenseno SPDX license detected
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-4116058139a52026-08-06