Skip to content

Commit a7115e2

Browse files
feat: polish project attribution
1 parent e70ac80 commit a7115e2

3 files changed

Lines changed: 97 additions & 6 deletions

File tree

.github/copilot-instructions.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Conway - Copilot Instructions
2+
3+
## Project Overview
4+
5+
Conway is a personal implementation of Conway's Game of Life.
6+
7+
The goal of this project is to build a clean, maintainable and production-quality frontend application while learning through implementation.
8+
9+
## Current Scope
10+
11+
Frontend only.
12+
13+
## Tech Stack
14+
15+
- Next.js
16+
- React
17+
- TypeScript
18+
- Tailwind CSS
19+
20+
## Development Principles
21+
22+
- Prefer simple solutions.
23+
- Avoid overengineering.
24+
- Prioritize maintainability.
25+
- Use TypeScript everywhere.
26+
- Keep components readable.
27+
- Favor composition over abstraction.
28+
- Explain trade-offs when proposing alternatives.
29+
30+
## Architecture Guidelines
31+
32+
- Keep business logic separated from UI components.
33+
- Prefer pure functions for game rules and simulation logic.
34+
- State should remain as local as possible.
35+
- Avoid introducing unnecessary global state.
36+
- Avoid preparing for future requirements that do not exist yet.
37+
38+
## Testing
39+
40+
Prioritize testing:
41+
42+
- Game rules
43+
- Simulation logic
44+
- Pure utility functions
45+
46+
Avoid complex UI testing unless it provides clear value.
47+
48+
## Code Style
49+
50+
- Use arrow functions.
51+
- Prefer explicit and readable code.
52+
- Avoid unnecessary comments.
53+
- Extract reusable logic only when duplication becomes meaningful.
54+
55+
## When Helping
56+
57+
Before proposing a solution:
58+
59+
1. Evaluate complexity versus value.
60+
2. Prefer MVP solutions.
61+
3. Explain architectural implications.
62+
4. Provide production-ready TypeScript examples.
63+
64+
Assume the project may eventually be showcased publicly as part of a technical portfolio.

components/game/StatsSidebar.tsx

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
"use client";
22

3-
import { Activity, Clock, Cpu, Grid3X3 } from "lucide-react";
3+
import { Activity, Clock, Cpu, ExternalLink, Github, Grid3X3 } from "lucide-react";
44

5-
import { GAME_NAME } from "@/app/const";
65
import { Progress } from "@/components/ui/progress";
76

87
import { StatCard } from "./StatCard";
@@ -95,10 +94,38 @@ export const StatsSidebar = ({
9594
</div>
9695
</div>
9796
</div>
98-
</div>
9997

100-
<div className="mt-auto p-4 border-t border-border/50">
101-
<div className="text-[10px] text-muted-foreground text-center">{GAME_NAME}</div>
98+
<div className="border-t border-border/50 pt-4 space-y-2">
99+
<p className="text-[10px] text-muted-foreground">
100+
Built by <span className="font-medium text-foreground/90">Aleix Vidal</span>
101+
</p>
102+
103+
<div className="flex items-center gap-3 text-[11px]">
104+
<a
105+
href="https://aleixvidal.dev"
106+
target="_blank"
107+
rel="noopener noreferrer"
108+
className="inline-flex items-center gap-1 text-muted-foreground transition-colors hover:text-foreground"
109+
>
110+
<ExternalLink className="h-3 w-3" />
111+
<span>Portfolio</span>
112+
</a>
113+
114+
<span className="text-border" aria-hidden="true">
115+
116+
</span>
117+
118+
<a
119+
href="https://github.com/thorgotothegym/conway-game-of-life"
120+
target="_blank"
121+
rel="noopener noreferrer"
122+
className="inline-flex items-center gap-1 text-muted-foreground transition-colors hover:text-foreground"
123+
>
124+
<Github className="h-3 w-3" />
125+
<span>GitHub</span>
126+
</a>
127+
</div>
128+
</div>
102129
</div>
103130
</div>
104131
);

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
},
99
"scripts": {
1010
"dev": "next dev",
11-
"dev:open": "start http://localhost:3000 && pnpm dev",
11+
"dev:open": "start http://localhost:3001 && pnpm dev",
1212
"build": "next build",
1313
"start": "next start",
1414
"lint": "eslint .",

0 commit comments

Comments
 (0)