Skip to content

Commit 4b41019

Browse files
alexey-pelykhclaude
andcommitted
(chore) scaffold Astro project with CI and GitHub Pages deployment
Set up project infrastructure: - Astro 5 with TypeScript strict mode - pnpm as package manager with lockfile - CI workflow: security audit, type check (advisory), build - Deploy workflow: withastro/action to GitHub Pages on push to main - CNAME for remoteclaw.org custom domain - Placeholder installer scripts (install.sh, install.ps1) - Extended .gitignore with Node/Astro patterns Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent f54b703 commit 4b41019

10 files changed

Lines changed: 4185 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- uses: pnpm/action-setup@v4
19+
20+
- uses: actions/setup-node@v4
21+
with:
22+
node-version: lts/*
23+
cache: pnpm
24+
25+
- name: Install dependencies
26+
run: pnpm install --frozen-lockfile
27+
28+
- name: Security audit
29+
run: pnpm audit --prod
30+
31+
- name: Type check
32+
run: pnpm check
33+
continue-on-error: true
34+
35+
- name: Build
36+
run: pnpm build
37+
38+
deploy:
39+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
40+
needs: build
41+
runs-on: ubuntu-latest
42+
permissions:
43+
contents: read
44+
pages: write
45+
id-token: write
46+
concurrency:
47+
group: pages
48+
cancel-in-progress: true
49+
environment:
50+
name: github-pages
51+
url: ${{ steps.deployment.outputs.page_url }}
52+
steps:
53+
- uses: actions/checkout@v4
54+
55+
- uses: pnpm/action-setup@v4
56+
57+
- uses: actions/setup-node@v4
58+
with:
59+
node-version: lts/*
60+
cache: pnpm
61+
62+
- name: Build
63+
uses: withastro/action@v3
64+
65+
- name: Deploy
66+
id: deployment
67+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
## Project-specific
22
*.local.*
3+
.tmp/
4+
5+
## Origin: https://github.com/github/gitignore/blob/main/Node.gitignore
6+
node_modules/
7+
npm-debug.log*
8+
yarn-debug.log*
9+
yarn-error.log*
10+
pnpm-debug.log*
11+
12+
## Astro
13+
dist/
14+
.astro/
315

416
# Environment variables and secrets
517
.env

astro.config.mjs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// @ts-check
2+
import { defineConfig } from 'astro/config';
3+
4+
// https://astro.build/config
5+
export default defineConfig({
6+
site: 'https://remoteclaw.org',
7+
});

package.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"name": "remoteclaw-website",
3+
"type": "module",
4+
"version": "0.0.1",
5+
"private": true,
6+
"packageManager": "pnpm@10.30.2",
7+
"scripts": {
8+
"dev": "astro dev",
9+
"build": "astro build",
10+
"preview": "astro preview",
11+
"check": "astro check",
12+
"astro": "astro"
13+
},
14+
"dependencies": {
15+
"astro": "^5.17.1"
16+
},
17+
"devDependencies": {
18+
"@astrojs/check": "^0.9.6",
19+
"typescript": "^5.8.0"
20+
}
21+
}

0 commit comments

Comments
 (0)