Skip to content

heygrady/blog

Repository files navigation

@heygrady/blog

My blog. Built with Astro. A rebuild of my Gatsby blog, itself a rebuild of my Octopress blog.

Read about relaunching on Astro on the blog.

Monorepo Structure

This is a Yarn 4 monorepo using Turborepo for task orchestration.

apps/
  blog-app/           # Main Astro blog (heygrady.com)

packages/
  eslint-config/      # Shared ESLint flat config for ESLint 9+
  jest-preset-ts-node-esm/  # Jest preset for TypeScript ESM projects
  tsconfig-bases/     # Shared TypeScript configurations

scripts/
  create-post/        # CLI tool for creating new blog posts

templates/
  node-esm/           # Package template for Node.js ESM
  ts-node-esm/        # Package template for TypeScript ESM

Getting Started

Prerequisites

  • Node.js 20+ (managed via Volta)
  • Yarn 4

Installation

yarn install

Development

# Start the blog dev server
yarn dev

# Build all packages
yarn build

# Run linting
yarn lint
yarn format

# Run tests
yarn test

Creating a New Post

yarn create-post

Commands

Command Description
yarn start Start the blog dev server
yarn build Build all packages
yarn lint Lint all packages
yarn format Lint and fix all packages
yarn test Run tests across all packages
yarn coverage Run tests with coverage
yarn create-post Create a new blog post
yarn clean Clean turbo cache
yarn clean:hard Full clean including node_modules

Release Workflow

This repo uses Changesets for version management and publishes packages to GitHub Package Registry.

Deployment

The blog is deployed to Firebase Hosting. Production deploys happen automatically when the "Version Packages" PR is merged to main.

Previous Posts

About

Resources

Stars

2 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors