Skip to content

Commit 7b97e85

Browse files
committed
chore: Update copilot instructions for npm usage and README template
1 parent 1e2d6ca commit 7b97e85

1 file changed

Lines changed: 65 additions & 17 deletions

File tree

.github/copilot-instructions.md

Lines changed: 65 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -432,20 +432,13 @@ Runs on every push and pull request to `main`:
432432

433433
1. Checkout
434434
2. Node.js 20 setup with `npm` cache
435-
3. `npm install` (**not** `npm ci` — lock file generated on Windows is not compatible with the Linux runner)
435+
3. `npm ci`
436436
4. `npm run lint`
437437
5. `npm run build`
438438

439-
> **Why `npm install` instead of `npm ci`?**
440-
> `npm ci` requires the lock file to be 100% in sync with the runner's platform. Since `package-lock.json`
441-
> is generated on Windows, platform-specific packages (e.g. `@swc/helpers`) may differ on the Linux CI
442-
> runner, causing `npm ci` to fail with `EUSAGE`. Using `npm install` resolves this transparently.
443-
444-
### Vercel
445-
446-
- Connected to GitHub — auto-deploys on push to `main`
447-
- No extra configuration needed for Next.js projects
448-
- Preview deployments are created for every PR automatically
439+
> **If `npm ci` fails with `EUSAGE` (lock file platform desync):**
440+
> Delete `node_modules/` and `package-lock.json` locally, run `npm install` to regenerate the lock file,
441+
> commit it and push. The CI runner will then be able to use `npm ci` successfully.
449442
450443
---
451444

@@ -500,24 +493,80 @@ indent_style = tab
500493
}
501494
```
502495

503-
### README Badge Template
496+
### README.md template
504497

505498
```markdown
506-
[![CI](https://github.com/sejtam-dev/REPO/actions/workflows/ci.yml/badge.svg)](...)
499+
# [App Name]
500+
501+
[![CI](https://github.com/sejtam-dev/REPO/actions/workflows/ci.yml/badge.svg)](https://github.com/sejtam-dev/REPO/actions/workflows/ci.yml)
507502
[![License: MIT](https://img.shields.io/badge/License-MIT-violet.svg)](./LICENSE)
508-
[![Live Demo](https://img.shields.io/badge/demo-URL-7c3aed)](https://URL)
503+
[![Live Demo](https://img.shields.io/badge/demo-live-7c3aed)](https://URL)
504+
505+
> One-sentence description of what the project does and what it produces.
506+
507+
## About
508+
509+
2–3 sentences explaining the math / logic / concept behind the simulation or tool.
510+
What problem does it solve? What is the output?
511+
512+
## Features
513+
514+
- Feature one
515+
- Feature two
516+
- Feature three
517+
518+
## Getting Started
519+
520+
### Prerequisites
521+
522+
- Node.js 20+
523+
- npm
524+
525+
### Installation
526+
527+
\`\`\`bash
528+
git clone https://github.com/sejtam-dev/REPO.git
529+
cd REPO
530+
npm install
531+
npm run dev
532+
\`\`\`
533+
534+
Open [http://localhost:3000](http://localhost:3000) in your browser.
535+
536+
### Build
537+
538+
\`\`\`bash
539+
npm run build
540+
npm run start
541+
\`\`\`
542+
543+
## Tech Stack
544+
545+
| Layer | Choice |
546+
|------------|-------------------------|
547+
| Framework | Next.js 15 (App Router) |
548+
| Language | TypeScript 5 |
549+
| Styling | Tailwind CSS v4 |
550+
| Theme | next-themes |
551+
| i18n | next-intl |
552+
| Math | KaTeX |
553+
| Charts | Recharts |
554+
555+
## License
556+
557+
MIT © [YEAR] [sejtam-dev](https://github.com/sejtam-dev)
509558
```
510559

511560
### GitHub Description Template
512561

513562
```
514-
Interactive [what it does] — [one sentence about the output/goal]. Built with Next.js, TypeScript and Canvas API.
563+
Interactive [what it does] — [one sentence about the output/goal].
515564
```
516565

517566
### GitHub Topics Template
518567

519568
```
520-
nextjs typescript tailwindcss canvas simulation math [domain-specific tags]
569+
nextjs typescript tailwindcss [domain-specific tags]
521570
```
522571

523572
---
@@ -537,7 +586,6 @@ nextjs typescript tailwindcss canvas simulation math [domain-specific tags]
537586
| Add a key to only one `messages/*.json` | Add the key to **all** locale files simultaneously |
538587
| Write math symbols as plain text (`π`, `y_c`, `θ`) | Use `$\\pi$`, `$y_c$`, `$\\theta$` in translations + `MathText` in JSX |
539588
| Use `\\\\pi` (four backslashes) in JSON | Use `\\pi` (two backslashes) — JSON needs one escape level, LaTeX needs one |
540-
| Use `npm ci` in CI on a Windows-generated lock file | Use `npm install` — avoids platform-specific dependency mismatch |
541589
| Use inline script + custom ThemeContext for dark mode | Use `next-themes` — handles SSR, hydration and localStorage automatically |
542590
| Read `document.documentElement.classList` during render | Use `useTheme()` from `ThemeContext` which wraps `next-themes` |
543591
| Conditionally render different JSX for dark/light icon | Render both SVGs, control visibility with `dark:hidden` / `dark:block` |

0 commit comments

Comments
 (0)