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.
This commit is contained in:
Daisuke Nakahara 2026-01-02 21:30:34 +09:00
parent 1cf9933d08
commit e2a0346400

59
.github/copilot-instructions.md vendored Normal file
View file

@ -0,0 +1,59 @@
# 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`).