n-daisuke897-blog/.github/copilot-instructions.md
Daisuke e2a0346400 chore: add Copilot instructions for project guidance
Add Copilot-specific instructions documenting project overview, tech stack,
  structure, development guidelines, and best practices for AI-assisted development.
2026-01-02 21:30:34 +09:00

2.1 KiB

Copilot Instructions for n-daisuke897-blog

Project Overview

This is a personal blog named "Naputo" built with Astro and Preact. The blog is designed to publish articles and content with a modern static site generation approach.

Repository: https://git.n-daisuke897.com/nakada0907/n-daisuke897-blog

Tech Stack

  • Framework: Astro 5.x
  • UI Library: Preact 10.x for interactive components
  • Language: TypeScript
  • Build Tool: Astro CLI
  • RSS: @astrojs/rss for RSS feed generation
  • Linting: ESLint with TypeScript and Astro plugins

Project Structure

  • src/: Source code
    • pages/: Astro pages (routing based on file structure)
    • layouts/: Layout components
    • components/: Reusable components
    • blog/: Blog content
    • styles/: Global styles
    • scripts/: Utility scripts
    • content.config.ts: Content collection configuration
  • public/: Static assets (images, fonts, etc.)
  • dist/: Build output directory
  • buildspec.yml: AWS CodeBuild configuration

Development Guidelines

Commands

  • npm install: Install dependencies
  • npm run dev: Start local development server at localhost:4321
  • npm run build: Build production site to ./dist/
  • npm run preview: Preview production build locally
  • npm run astro: Run Astro CLI commands

Coding Standards

  • Use TypeScript for all new code
  • Follow the ESLint configuration provided
  • Use Preact components for interactive UI elements
  • Keep components modular and reusable
  • Use Astro's component syntax for static content

File Naming

  • Use kebab-case for file names
  • Use PascalCase for component names
  • Use .astro extension for Astro components
  • Use .tsx extension for Preact components

Best Practices

  • Prefer static generation over client-side rendering when possible
  • Use Astro's content collections for blog posts
  • Optimize images and assets before adding to public/
  • Keep bundle size minimal - Astro ships zero JS by default
  • Use Preact only when client interactivity is needed

Deployment

This project uses AWS CodeBuild for deployment (see buildspec.yml).