Skip to content

Commit 43d8c33

Browse files
Merge pull request #1 from jaspreetbhamra/artsy
Profile website using React and Vite
2 parents 4452226 + 2e5f69c commit 43d8c33

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+9675
-1102
lines changed

.devcontainer/devcontainer.json

Lines changed: 0 additions & 29 deletions
This file was deleted.

.devcontainer/post-create.sh

Lines changed: 0 additions & 18 deletions
This file was deleted.

.gitignore

Lines changed: 20 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,25 @@
1-
# Bundler cache
2-
.bundle
3-
vendor
4-
Gemfile.lock
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
59

6-
# Jekyll cache
7-
.jekyll-cache
8-
.jekyll-metadata
9-
_site
10-
11-
# RubyGems
12-
*.gem
13-
14-
# NPM dependencies
1510
node_modules
16-
package-lock.json
11+
dist
12+
dist-ssr
13+
*.local
1714

18-
# IDE configurations
19-
.idea
15+
# Editor directories and files
2016
.vscode/*
21-
!.vscode/settings.json
2217
!.vscode/extensions.json
23-
!.vscode/tasks.json
24-
25-
# Misc
26-
_sass/vendors
27-
assets/js/dist
28-
29-
jay/
30-
jay/node_modules
31-
jay/.envrc
32-
orig_default_config.yaml
33-
**/.DS_Store
34-
**/.vscode
35-
/vendor/
36-
/.bundle/
37-
.ruby-version
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?
25+
package-lock.json

.nojekyll

Lines changed: 0 additions & 1 deletion
This file was deleted.

.prettierrc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"singleQuote": true,
3+
"semi": false,
4+
"trailingComma": "all",
5+
"tabWidth": 2
6+
}

AGENTS.md

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
# AGENTS.md
2+
3+
## 1. Purpose
4+
This file documents how AI coding agents (e.g., Codex) will be used in this project.
5+
It defines prompting conventions, repository structure, coding standards, and build/test workflows for the personal website.
6+
7+
---
8+
9+
## 2. Project Overview
10+
- **Goal**: Build a personal website using React (scaffolded with Vite).
11+
- **Deployment**: GitHub Pages (with GitHub Actions workflow).
12+
- **Core Features**:
13+
- Landing page with intro and links
14+
- Resume/experience section
15+
- Blog posts (Markdown/MDX-based)
16+
- Dark/light theme toggle
17+
- Responsive, mobile-first layout
18+
19+
---
20+
21+
## 3. Repository Structure
22+
A recommended starting structure:
23+
24+
```
25+
repo/
26+
├── src/ # Main application source
27+
│ ├── components/ # Reusable React components
28+
│ ├── pages/ # Page-level components
29+
│ ├── styles/ # Global and Tailwind styles
30+
│ ├── utils/ # Utility/helper functions
31+
│ └── assets/ # Images, icons, fonts
32+
├── public/ # Static files
33+
├── tests/ # Unit/integration tests
34+
├── .eslintrc.json # Linting configuration
35+
├── .prettierrc # Code formatting rules
36+
├── package.json
37+
├── vite.config.js
38+
└── README.md
39+
```
40+
41+
---
42+
43+
## 4. Coding Standards
44+
45+
### 4.1 General
46+
- **JavaScript/TypeScript**: ESNext syntax.
47+
- **React**: Functional components, React Hooks, Context API where appropriate.
48+
- **Styling**: TailwindCSS for rapid and consistent styling.
49+
- **Linting**: ESLint configured with Airbnb + React plugin.
50+
- **Formatting**: Prettier for consistent style.
51+
- **Git**: Meaningful commit messages (e.g., `feat: add navbar component`).
52+
53+
### 4.2 PEP8
54+
Even though this repo is React-focused, any supporting Python scripts (for tooling, automation, data, etc.) must follow **PEP8** standards:
55+
- Use `black` or `flake8` for formatting.
56+
- Follow 79-character line length where applicable.
57+
- Consistent docstrings using `"""triple quotes"""`.
58+
59+
---
60+
61+
## 5. Build & Test Commands
62+
63+
### 5.1 Local Development
64+
```bash
65+
# Install dependencies
66+
npm install
67+
68+
# Start local dev server
69+
npm run dev
70+
71+
# Run tests
72+
npm test
73+
74+
# Lint & format
75+
npm run lint
76+
npm run format
77+
```
78+
79+
### 5.2 Remote Build (GitHub Pages)
80+
81+
Deployment will be automated via GitHub Actions.
82+
83+
```bash
84+
# Create production build
85+
npm run build
86+
87+
# Preview production build locally
88+
npm run preview
89+
```
90+
91+
The dist/ directory will be deployed to GitHub Pages using an Actions workflow.
92+
93+
## 6. Code Style Guidelines
94+
### JavaScript/React
95+
- Use functional components with hooks.
96+
- Keep components small and reusable.
97+
- Destructure props at the component level.
98+
- Use explicit imports, avoid * imports.
99+
- Follow consistent naming conventions:
100+
- PascalCase for components.
101+
- camelCase for variables/functions.
102+
- UPPER_CASE for constants.
103+
104+
### CSS/Tailwind
105+
- Prefer utility classes from Tailwind.
106+
- Extract reusable patterns into @apply or component-level style files when needed.
107+
108+
109+
## 7. Testing Instructions
110+
111+
- Use Jest + React Testing Library for unit and integration tests.
112+
- Tests live in /tests with .test.js or .spec.js suffix.
113+
114+
```bash
115+
Example:
116+
117+
npm test
118+
```
119+
120+
- For end-to-end tests, consider Playwright or Cypress in future iterations.
121+
122+
123+
124+
## 8. Security Considerations
125+
- Never commit API keys, secrets, or tokens (use .env with .gitignore).
126+
- Sanitize any user-generated content before rendering.
127+
- Keep dependencies up to date (npm audit fix regularly).
128+
- Enable Dependabot for GitHub repo.
129+
- Use HTTPS-only deployment (GitHub Pages defaults to HTTPS).
130+
- Validate external links and resources to avoid mixed content.
131+
132+
## 9. Agent Workflow
133+
- Draft clear prompt for Codex (single responsibility per task).
134+
- Generate code → review → test locally.
135+
- Refine if necessary.
136+
- Create and update SUMMARY.md with timestamps and actions taken, as a changelog of sorts
137+
138+
## 10. Future Extensions
139+
- Add blog integration with MDX.
140+
- Consider i18n (internationalization).
141+
- Explore adding 3D/interactive elements (e.g., tilt cards, animations).
142+
- Automate accessibility tests (axe-core, Lighthouse).

Gemfile

Lines changed: 0 additions & 21 deletions
This file was deleted.

LICENSE

Lines changed: 0 additions & 21 deletions
This file was deleted.

README.md

Lines changed: 59 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,59 @@
1-
# Maybe another way to connect with the world?
1+
# React + Vite
2+
3+
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4+
5+
Currently, two official plugins are available:
6+
7+
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
8+
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9+
10+
## React Compiler
11+
12+
The React Compiler is not enabled on this template. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
13+
14+
## Expanding the ESLint configuration
15+
16+
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.
17+
18+
19+
20+
21+
22+
<!-- Scaffold Overview
23+
24+
src/pages/Home.jsx:1 now renders the homepage hero, tech stack callouts, and “coming soon” cards for Resume, Projects, Professional Experience, and Fun Stuff, using Tailwind utility classes throughout.
25+
src/components/TranslateButton.jsx:1 introduces a stateful language toggle stub to show how interactive components will plug into the layout.
26+
src/styles/global.css:1 wires Tailwind base/components/utilities and defines shared body, link, and container styling for a consistent dark theme foundation.
27+
src/utils/api.js:1 adds a placeholder fetch helper to centralize future data loading logic.
28+
SUMMARY.md:1 logs today’s scaffold work so the running changelog stays current.
29+
Dev Tooling
30+
31+
package.json:6 adds formatter, lint, test, and preview scripts plus Prettier/Vitest/Test Library dependencies; eslint.config.js:1, tailwind.config.js:1, and vite.config.js:5 configure linting, Tailwind scanning, and Vitest (jsdom + setup file) while keeping GitHub Pages-friendly build settings.
32+
tests/home.test.jsx:1 seeds the suite with a React Testing Library smoke test for the hero heading.
33+
Setup & Local Commands
34+
35+
# Install dependencies
36+
npm install
37+
38+
# Start local dev server
39+
npm run dev
40+
41+
# Run unit tests (Vitest + RTL)
42+
npm run test -- --run
43+
44+
# Lint and format
45+
npm run lint
46+
npm run format
47+
48+
# Build and preview production bundle
49+
npm run build
50+
npm run preview
51+
Verification
52+
53+
npm run lint
54+
npm run test -- --run
55+
Next options to consider:
56+
57+
Add navigation/content stubs for Resume, Projects, Professional Experience, and Fun Stuff pages under src/pages.
58+
Configure a GitHub Actions workflow to build (npm run build) and push dist/ to GitHub Pages.
59+
Drop in branding assets and typography (e.g., custom fonts) to replace the default dark theme palette. -->

SUMMARY.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Summary Log
2+
3+
## 2025-09-24
4+
- Scaffolded Vite + React project with TailwindCSS integration.
5+
- Established project structure for pages, components, styles, and utils.
6+
- Added initial Home page content and placeholder Translate button component.
7+
- Configured Prettier, ESLint, and Vitest with sample test to support linting, formatting, and testing workflows.
8+
- Updated npm scripts and Vite config for GitHub Pages friendly deployment.
9+
- Implemented JSON-backed translation utility with caching and updated Tailwind themes for parchment/dark modes.
10+
- Rebuilt Home page with Framer Motion transitions, Elvish-first rendering, and navigation reveal on translate.
11+
- Enhanced TranslateButton interactions, added animation/testing deps, and refreshed Vitest coverage for toggle flow.
12+
- Restyled homepage for English/Elvish font separation, repositioned navigation header, and moved translate control beneath the blurb with transparent parchment styling.

0 commit comments

Comments
 (0)