Skip to content

Commit d21d9ed

Browse files
Add portfolio site with terminal aesthetic and dual deployment
- Build portfolio with Next.js 16, Vinext, React 19, TypeScript 5 - Implement terminal aesthetic with blue glow effects - Add Hero, Services (6), Projects (6), Contact sections - Configure dual deployment: Cloudflare Workers + GitHub Pages - Add mobile responsiveness throughout - Include AI-assisted development badges - Set up GitHub Actions workflow for Pages deployment - Add AGENTS.md with coding guidelines
1 parent 36e9630 commit d21d9ed

27 files changed

+10705
-16
lines changed

.github/workflows/deploy.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [main]
6+
7+
jobs:
8+
build-and-deploy:
9+
runs-on: ubuntu-latest
10+
permissions:
11+
contents: read
12+
pages: write
13+
id-token: write
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- name: Setup Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: '20'
23+
cache: 'npm'
24+
25+
- name: Install dependencies
26+
run: npm ci
27+
28+
- name: Build
29+
run: npm run build
30+
31+
- name: Setup Pages
32+
uses: actions/configure-pages@v5
33+
34+
- name: Upload artifact
35+
uses: actions/upload-pages-artifact@v3
36+
with:
37+
path: './dist'
38+
39+
- name: Deploy to GitHub Pages
40+
id: deployment
41+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.*
7+
.yarn/*
8+
!.yarn/patches
9+
!.yarn/plugins
10+
!.yarn/releases
11+
!.yarn/versions
12+
13+
# testing
14+
/coverage
15+
16+
# next.js
17+
/.next/
18+
/out/
19+
20+
# production
21+
/build
22+
23+
# misc
24+
.DS_Store
25+
*.pem
26+
27+
# debug
28+
npm-debug.log*
29+
yarn-debug.log*
30+
yarn-error.log*
31+
.pnpm-debug.log*
32+
33+
# env files (can opt-in for committing if needed)
34+
.env*
35+
36+
# vercel
37+
.vercel
38+
39+
# typescript
40+
*.tsbuildinfo
41+
next-env.d.ts
42+
/dist/

.wrangler/deploy/config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"configPath":"../../dist/server/wrangler.json","auxiliaryWorkers":[]}

AGENTS.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# AGENTS.md - Coding Guidelines for TheForGivenOne Portfolio
2+
3+
## Project Overview
4+
Next.js 16 portfolio built with Vinext (Vite-based Next.js replacement), React 19, TypeScript 5, and Tailwind CSS 4. Deploys to Cloudflare Workers (edge) or GitHub Pages (static).
5+
6+
## Build Commands
7+
8+
```bash
9+
# Development
10+
npm run dev # Next.js dev server (port 3000)
11+
npm run dev:vinext # Vinext dev server (port 3001)
12+
13+
# Production builds
14+
npm run build # Next.js static build → dist/
15+
npm run build:vinext # Vinext build → dist/client + dist/server
16+
17+
# Deployment
18+
npm run deploy:cf # Deploy to Cloudflare Workers
19+
npm run deploy:gh # Build for GitHub Pages (creates dist/.nojekyll)
20+
21+
# Code quality
22+
npm run lint # ESLint with Next.js config
23+
```
24+
25+
## Tech Stack
26+
- **Framework:** Next.js 16.1.6 (App Router) + Vinext
27+
- **Runtime:** React 19.2.4 + React DOM 19.2.4
28+
- **Language:** TypeScript 5 (strict mode)
29+
- **Styling:** Tailwind CSS 4
30+
- **Deployment:** Cloudflare Workers (vinext deploy) or static export
31+
32+
## Code Style Guidelines
33+
34+
### TypeScript
35+
- Use `strict: true` - no `any` types
36+
- Prefer explicit return types for exported functions
37+
- Use `React.FC` pattern or explicit props interfaces
38+
- Path alias: `@/*` maps to root directory
39+
40+
### Naming Conventions
41+
- **Components:** PascalCase (e.g., `Hero.tsx`, `ContactSection.tsx`)
42+
- **Functions/Variables:** camelCase (e.g., `handleSubmit`, `isVisible`)
43+
- **Constants:** UPPER_SNAKE_CASE for true constants
44+
- **Files:** PascalCase for components, camelCase for utilities
45+
46+
### Imports (Order)
47+
1. React/Next imports
48+
2. Third-party libraries
49+
3. Local components
50+
4. Types/interfaces
51+
5. Styles/CSS
52+
53+
Example:
54+
```typescript
55+
import { useEffect, useState } from "react"
56+
import { Metadata } from "next"
57+
import Hero from "./sections/Hero"
58+
import "./globals.css"
59+
```
60+
61+
### Component Structure
62+
```typescript
63+
"use client" // If using hooks/browser APIs
64+
65+
import { useState } from "react"
66+
67+
export default function ComponentName() {
68+
// State hooks
69+
// Effects
70+
// Handlers
71+
72+
return (
73+
<section>
74+
{/* JSX */}
75+
</section>
76+
)
77+
}
78+
```
79+
80+
### Styling (Tailwind CSS)
81+
- Use arbitrary values sparingly: `bg-[#0a0a0f]`
82+
- Custom CSS variables defined in `globals.css`:
83+
- `--background`, `--foreground`, `--accent-primary`
84+
- `--accent-secondary`, `--accent-glow`
85+
- Component classes should be mobile-first with responsive variants
86+
- Group related classes together
87+
88+
### Error Handling
89+
- Use try/catch for async operations
90+
- Provide fallback UI for error states
91+
- Log errors to console in development
92+
- Never expose sensitive error details in production
93+
94+
### Client Components
95+
Mark with `"use client"` directive when using:
96+
- React hooks (useState, useEffect, etc.)
97+
- Browser APIs (window, document, localStorage)
98+
- Event handlers requiring DOM access
99+
100+
### File Organization
101+
```
102+
app/
103+
├── sections/ # Page sections (Hero, Services, etc.)
104+
├── page.tsx # Main page composition
105+
├── layout.tsx # Root layout with fonts/metadata
106+
└── globals.css # Global styles + CSS variables
107+
worker/ # Cloudflare Workers handler
108+
public/ # Static assets
109+
```
110+
111+
### Environment
112+
- ESM only (`"type": "module"` in package.json)
113+
- Exclude `worker/` directory from TypeScript compilation
114+
- Build outputs to `dist/` for static, `dist/client` + `dist/server` for Vinext
115+
116+
### Performance
117+
- Use Next.js Image component for optimized images
118+
- Lazy load below-fold sections
119+
- Minimize client-side JavaScript - prefer Server Components
120+
- Use CSS transitions over JS animations when possible
121+
122+
### Git
123+
- Exclude: `.next/`, `dist/`, `node_modules/`, `.wrangler/`
124+
- Commit message style: present tense, descriptive (e.g., "Add contact form validation")

README.md

Lines changed: 62 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,62 @@
1-
## Hi there 👋
2-
3-
<!--
4-
**TheForgivenOne/TheForGivenOne** is a ✨ _special_ ✨ repository because its `README.md` (this file) appears on your GitHub profile.
5-
6-
Here are some ideas to get you started:
7-
8-
- 🔭 I’m currently working on ...
9-
- 🌱 I’m currently learning ...
10-
- 👯 I’m looking to collaborate on ...
11-
- 🤔 I’m looking for help with ...
12-
- 💬 Ask me about ...
13-
- 📫 How to reach me: ...
14-
- 😄 Pronouns: ...
15-
- ⚡ Fun fact: ...
16-
-->
1+
# Hi there, I'm TheForgivenOne 👋
2+
3+
## Web Developer & Digital Creator
4+
5+
Building modern web experiences with clean code and thoughtful design. Transforming ideas into digital reality through AI-assisted development.
6+
7+
---
8+
9+
### 🚀 What I Do
10+
11+
- **Website Creation** - Custom websites from landing pages to complex web applications
12+
- **Web Development** - Full-stack development with React, Next.js, TypeScript
13+
- **UI/UX Design** - User-centered design with wireframes, prototypes, and polished interfaces
14+
- **Software Development** - Desktop applications, automation tools, and custom software
15+
- **API Development** - RESTful and GraphQL APIs with secure authentication
16+
- **Database Design** - Scalable architecture with PostgreSQL, MongoDB, Redis
17+
18+
### 🛠️ Tech Stack
19+
20+
![React](https://img.shields.io/badge/-React-61DAFB?style=flat-square&logo=react&logoColor=black)
21+
![Next.js](https://img.shields.io/badge/-Next.js-000000?style=flat-square&logo=next.js&logoColor=white)
22+
![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?style=flat-square&logo=typescript&logoColor=white)
23+
![Tailwind CSS](https://img.shields.io/badge/-Tailwind%20CSS-38B2AC?style=flat-square&logo=tailwind-css&logoColor=white)
24+
![Node.js](https://img.shields.io/badge/-Node.js-339933?style=flat-square&logo=node.js&logoColor=white)
25+
26+
### 🌐 Portfolio
27+
28+
Check out my work: [**theforgivenone.dev**](https://theforgivenone.github.io/TheForGivenOne) *(coming soon)*
29+
30+
Built with:
31+
-**Next.js 16** + **Vinext** (Vite-based Next.js replacement)
32+
- 🎨 **Tailwind CSS** with terminal aesthetic & blue glows
33+
- 🤖 **AI-Assisted Development**
34+
- ☁️ Deployed on **Cloudflare Workers**
35+
36+
### 📊 GitHub Stats
37+
38+
![GitHub Stats](https://github-readme-stats.vercel.app/api?username=TheForgivenOne&show_icons=true&theme=dark&hide_border=true&bg_color=0a0a0f&title_color=00d4ff&icon_color=00ff88)
39+
40+
### 📫 Connect With Me
41+
42+
- 📧 **Email:** [successmove000@gmail.com](mailto:successmove000@gmail.com)
43+
- 💻 **GitHub:** [@TheForgivenOne](https://github.com/TheForgivenOne)
44+
45+
---
46+
47+
### 🎯 Current Focus
48+
49+
- Building scalable web applications
50+
- Exploring AI-assisted development workflows
51+
- Creating performant, accessible user experiences
52+
- Learning and experimenting with new technologies
53+
54+
### 💡 Fun Fact
55+
56+
> This portfolio was built with AI assistance, showcasing the future of collaborative development between humans and AI.
57+
58+
---
59+
60+
*"Building the future, one line of code at a time."*
61+
62+
![Profile Views](https://komarev.com/ghpvc/?username=TheForgivenOne&color=00d4ff&style=flat-square)

app/favicon.ico

25.3 KB
Binary file not shown.

0 commit comments

Comments
 (0)