You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+40-37Lines changed: 40 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,37 +2,34 @@
2
2
3
3
**ALWAYS** reference these instructions first and fallback to search or bash commands only when you encounter unexpected information that does not match the info here.
4
4
5
-
Orionrobots is a static website about robotics using Eleventy (11ty) static site generator with Webpack for asset bundling. The site includes a blog with Jekyll-style posts, wiki pages, and robotics tutorials. It's hosted as a GitHub Pages-style site with Apache configuration.
5
+
Orionrobots is a static website about robotics using Eleventy (11ty) static site generator with Webpack for asset bundling. The site includes a blog with Jekyll-style posts, wiki pages, and robotics tutorials. It's hosted on 3rd party hosting with Apache configuration.
6
6
7
7
## Working Effectively
8
8
9
9
### CRITICAL: Bootstrap and Build Commands
10
-
- Bootstrap the repository:
11
-
-`npm install` -- **NEVER CANCEL** - takes 1 minute. Docker npm ci is BROKEN, use npm install instead.
12
-
- Build assets and site:
13
-
-`npm run dist` -- builds webpack bundle.js, takes 7 seconds. Set timeout to 30+ seconds.
14
-
-`npm run 11ty` -- **NEVER CANCEL** - builds full static site, takes 2.5 minutes. Set timeout to 180+ seconds.
15
-
-Full development workflow:
10
+
- Bootstrap and run the repository:
11
+
-`docker compose up` -- **NEVER CANCEL** - builds and starts development server. Set timeout to 300+ seconds for initial build.
-`docker compose run build` -- builds full static site, takes ~3 minutes. Set timeout to 240+ seconds.
15
+
-Alternative native workflow:
16
16
```bash
17
17
npm install
18
18
npm run dist
19
19
npm run 11ty
20
20
```
21
21
22
-
### CRITICAL: Docker Known Issues
23
-
-**DO NOT USE**`docker compose up` commands - Docker npm ci fails with "Exit handler never called!" error
24
-
- Docker builds timeout after 7+ minutes with npm installation issues
25
-
- Use native npm commands on host instead of Docker for development
26
-
27
22
### Development Server
28
23
- Run local development server:
29
-
-`npm run serve` -- starts Eleventy dev server on port 8081, **NEVER CANCEL** - builds then watches files. Set timeout to 180+ seconds for initial build.
30
-
- Alternative: After building, serve with Python: `cd _site && python3 -m http.server 8082`
24
+
-`docker compose up serve` -- starts Eleventy dev server on port 8081, **NEVER CANCEL** - builds then watches files. Set timeout to 300+ seconds for initial build.
25
+
- Alternative native: `npm run serve` -- starts Eleventy dev server directly
26
+
- Manual serving: After building, serve with Python: `cd _site && python3 -m http.server 8082`
31
27
32
28
### Testing Commands
33
29
- BDD integration tests:
34
-
-`npm run test:bdd` or `npm test` -- runs Cucumber.js tests with Playwright
35
-
-**CRITICAL**: Playwright installation often fails in CI environments
30
+
-`docker compose run test` -- runs Cucumber.js tests with Playwright in containerized environment
31
+
- Alternative native: `npm run test:bdd` or `npm test` -- runs tests directly on host
32
+
-**Note**: Playwright installation may fail in some CI environments
36
33
- Tests require a running staging server to test against
37
34
38
35
## Validation Scenarios
@@ -51,7 +48,8 @@ Always test these key pages that are verified in CI:
51
48
- Wiki pages: `/wiki/lego` and similar (check for 404s)
52
49
53
50
### Build Verification
54
-
- Run `npm run dist && npm run 11ty` and verify `_site` directory is created with content
51
+
- Run `docker compose run dist && docker compose run build` and verify `_site` directory is created with content
52
+
- Alternative native: `npm run dist && npm run 11ty`
55
53
- Check that `_site/index.html` exists and contains proper HTML structure
56
54
- Verify `dist/bundle.js` exists and is approximately 330KB
57
55
@@ -67,7 +65,7 @@ _posts/ -- Old Jekyll posts structure
67
65
_site/ -- Generated static site (build output)
68
66
content/ -- Main content (blog posts, wiki pages)
69
67
dist/ -- Webpack build output (bundle.js)
70
-
docker-compose.yml -- BROKEN Docker setup
68
+
docker-compose.yml -- Docker development environment setup
-**DO NOT** rely on Docker workflows - they have npm ci issues
147
+
-Uses Docker Compose for consistent CI/CD environments
145
148
- Staging tests run BDD Playwright tests (may be flaky)
146
149
- Deployment happens to Apache hosting with htaccess rules
147
150
@@ -152,11 +155,11 @@ This creates properly structured content with frontmatter in `content/YYYY/MM/`
152
155
153
156
## Repository Context
154
157
155
-
This is a long-running Jekyll-to-Eleventy migration project with:
158
+
This is a Jekyll-to-Eleventy migrated project (now fully Eleventy) with:
156
159
- Mixed content structure (legacy `_posts/` and new `content/`)
157
160
- Jekyll-style frontmatter and Liquid templates
158
161
- Bootstrap 5 + jQuery frontend
159
162
- Extensive robotics content and tutorials
160
163
- Apache hosting with custom htaccess rules
161
164
162
-
**CRITICAL REMINDER**: Docker builds are BROKEN. Always use native npm commands. Never cancel long-running builds - they can take 2.5+ minutes.
165
+
**CRITICAL REMINDER**: Use Docker Compose as the primary development method. Never cancel long-running builds - they can take 3-5+ minutes for initial setup.
0 commit comments