Skip to content

Commit d0827c4

Browse files
committed
init: mcpdotdirect project with Vite, React, and TypeScript setup. Added ESLint configuration, basic HTML structure, and essential styles. Included necessary dependencies and setup for GitHub Pages deployment.
1 parent 8770cd9 commit d0827c4

21 files changed

+2580
-2
lines changed

.github/workflows/actions.yaml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: "pages"
15+
cancel-in-progress: false
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Setup Node
25+
uses: actions/setup-node@v4
26+
with:
27+
node-version: 20
28+
29+
- name: Setup pnpm
30+
uses: pnpm/action-setup@v3
31+
with:
32+
version: 8
33+
run_install: false
34+
35+
- name: Get pnpm store directory
36+
shell: bash
37+
run: |
38+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
39+
40+
- name: Setup pnpm cache
41+
uses: actions/cache@v4
42+
with:
43+
path: ${{ env.STORE_PATH }}
44+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
45+
restore-keys: |
46+
${{ runner.os }}-pnpm-store-
47+
48+
- name: Install dependencies
49+
run: pnpm install
50+
51+
- name: Build
52+
run: pnpm build
53+
54+
- name: Setup Pages
55+
uses: actions/configure-pages@v4
56+
57+
- name: Upload artifact
58+
uses: actions/upload-pages-artifact@v3
59+
with:
60+
path: './dist'
61+
62+
deploy:
63+
environment:
64+
name: github-pages
65+
url: ${{ steps.deployment.outputs.page_url }}
66+
runs-on: ubuntu-latest
67+
needs: build
68+
steps:
69+
- name: Deploy to GitHub Pages
70+
id: deployment
71+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ yarn-debug.log*
66
yarn-error.log*
77
lerna-debug.log*
88
.pnpm-debug.log*
9+
.DS_Store
910

1011
# Diagnostic reports (https://nodejs.org/api/report.html)
1112
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

README.md

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,46 @@
1-
# mcp-front-end
2-
Static React front end built with Vite, Typescript, and Tailwind
1+
# mcpdotdirect
2+
3+
simple onepager for mcpdotdirect
4+
5+
## about
6+
7+
mcpdotdirect is dedicated to creating and maintaining open source tools and libraries for developers. our ethos is "everything open source".
8+
9+
## development
10+
11+
this project is built with:
12+
13+
- [vite](https://vitejs.dev/)
14+
- [react](https://reactjs.org/)
15+
- [typescript](https://www.typescriptlang.org/)
16+
- [terminal.css](https://terminalcss.xyz/) for styling
17+
18+
### getting started
19+
20+
1. clone the repository
21+
2. install dependencies:
22+
23+
```bash
24+
pnpm install
25+
```
26+
27+
3. start the development server:
28+
29+
```bash
30+
pnpm dev
31+
```
32+
33+
4. build for production:
34+
35+
```bash
36+
pnpm build
37+
```
38+
39+
## license
40+
41+
mit
42+
43+
## contact
44+
45+
46+
github: [https://github.com/mcpdotdirect](https://github.com/mcpdotdirect)

eslint.config.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import js from '@eslint/js'
2+
import globals from 'globals'
3+
import reactHooks from 'eslint-plugin-react-hooks'
4+
import reactRefresh from 'eslint-plugin-react-refresh'
5+
import tseslint from 'typescript-eslint'
6+
7+
export default tseslint.config(
8+
{ ignores: ['dist'] },
9+
{
10+
extends: [js.configs.recommended, ...tseslint.configs.recommended],
11+
files: ['**/*.{ts,tsx}'],
12+
languageOptions: {
13+
ecmaVersion: 2020,
14+
globals: globals.browser,
15+
},
16+
plugins: {
17+
'react-hooks': reactHooks,
18+
'react-refresh': reactRefresh,
19+
},
20+
rules: {
21+
...reactHooks.configs.recommended.rules,
22+
'react-refresh/only-export-components': [
23+
'warn',
24+
{ allowConstantExport: true },
25+
],
26+
},
27+
},
28+
)

index.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link rel="icon" type="image/png" href="/mcp_white_tp.png" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>mcp.direct</title>
8+
</head>
9+
<body>
10+
<div id="root"></div>
11+
<script type="module" src="/src/main.tsx"></script>
12+
</body>
13+
</html>

package.json

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
"name": "mcpdotdirect",
3+
"private": true,
4+
"version": "0.1.0",
5+
"description": "simple onepager for mcpdotdirect",
6+
"type": "module",
7+
"scripts": {
8+
"dev": "vite",
9+
"build": "tsc -b && vite build",
10+
"lint": "eslint .",
11+
"preview": "vite preview"
12+
},
13+
"dependencies": {
14+
"react": "^19.0.0",
15+
"react-dom": "^19.0.0",
16+
"terminal.css": "^0.7.5"
17+
},
18+
"devDependencies": {
19+
"@eslint/js": "^9.21.0",
20+
"@types/react": "^19.0.10",
21+
"@types/react-dom": "^19.0.4",
22+
"@vitejs/plugin-react": "^4.3.4",
23+
"eslint": "^9.21.0",
24+
"eslint-plugin-react-hooks": "^5.1.0",
25+
"eslint-plugin-react-refresh": "^0.4.19",
26+
"globals": "^15.15.0",
27+
"typescript": "~5.7.2",
28+
"typescript-eslint": "^8.24.1",
29+
"vite": "^6.2.0"
30+
},
31+
"author": "mcpdotdirect",
32+
"license": "MIT",
33+
"repository": {
34+
"type": "git",
35+
"url": "https://github.com/mcpdotdirect/mcp-front-end"
36+
}
37+
}

0 commit comments

Comments
 (0)