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
The ESLint baseline is `solution/MyHANAApp/eslint.config.mjs` using `@sap/cds` recommended config. Do not introduce an alternative config.
57
64
58
65
### Node.js version
66
+
59
67
Use even-numbered LTS versions (18, 20, 22, 24). Odd versions lack native module support for some CAP dependencies.
60
68
61
69
### HANA graphical calculation view editing
70
+
62
71
The graphical calculation view editor is BAS-only. Do not suggest unsupported local alternatives.
63
72
73
+
### Development environments
74
+
75
+
Participants use SAP Business Application Studio, GitHub Codespaces, or the `.devcontainer/` (Node 24-bookworm). See `prerequisites.md` for the full setup matrix — do not duplicate it here.
76
+
77
+
### CI/CD
78
+
79
+
`deploy-docs.yml` (GitHub Actions) builds and deploys the VitePress site. The `Jenkinsfile` in the solution app is a SAP CI/CD Service bootstrap — it is not actively used for this repo.
80
+
81
+
### Sibling AI instruction files
82
+
83
+
This repo also ships `.clinerules`, `.cursorrules`, `.windsurfrules`, `AGENT_INSTRUCTIONS.md`, and `.github/copilot-instructions.md` — all covering the same conventions for other AI tools. Do not contradict them. If updating conventions, this CLAUDE.md is the source of truth; the others are generated downstream.
84
+
64
85
## Documentation style (exercise READMEs)
65
86
66
87
- Conversational, concise, action-oriented workshop tone
@@ -78,35 +99,16 @@ The VitePress site lives in `docs/`. Each exercise has a thin wrapper page at `d
78
99
```bash
79
100
npm run docs:dev # Start dev server
80
101
npm run docs:build # Production build → docs/.vitepress/dist/
81
-
npm test# Run Vitest unit tests (20 tests)
102
+
npm test# Run Vitest unit tests (23 tests)
82
103
```
83
104
84
105
### External tutorial inline expansion
85
106
86
-
Exercise READMEs link to SAP tutorials on `developers.sap.com`. The VitePress build automatically expands these links inline — fetching the tutorial markdown from GitHub at build time and replacing the link paragraph with the full tutorial steps plus an attribution banner.
87
-
88
-
**How it works:**
89
-
90
-
- Any block in a README that contains `👉`**and** a `developers.sap.com/tutorials/{ID}.html` link where `{ID}` is a key in the config map gets expanded inline.
91
-
- Source READMEs are never modified — expansion happens during VitePress rendering only.
92
-
- Two `👉` paragraph variants are both handled:
93
-
-`👉 Perform all the steps in the tutorial: [Title](URL)` (ex1–ex4, ex8)
94
-
-`Perform all the steps in 👉 [tutorial: Title](URL)` (ex5–ex7)
107
+
Exercise READMEs link to SAP tutorials on `developers.sap.com`. The VitePress build expands these links inline at build time — fetching tutorial markdown from GitHub, transforming it, and replacing the link paragraph with full tutorial steps plus an attribution banner. Source READMEs are never modified.
95
108
96
-
**To add a new tutorial expansion:**
109
+
**Detection:** any paragraph containing `👉` and a `developers.sap.com/tutorials/{ID}.html` link where `{ID}` is a key in the config map. Two paragraph variants exist across exercises — both are handled.
97
110
98
-
1. Confirm the tutorial markdown exists in the upstream repo. The URL pattern is:
3. Run `npm run docs:build` from `docs/` and verify the page shows exactly 1 attribution banner per tutorial link.
111
+
**To add a new tutorial:** add one entry to `docs/.vitepress/external-tutorials.config.ts`, verify the raw GitHub URL returns 200, then run `npm run docs:build` from `docs/`. Most tutorials live in `sap-tutorials/Tutorials` on `master`, but some are in other repos (e.g. `appstudio-onboarding` → `sap-tutorials/btp-adai` on `main`). If a URL returns 404, check the tutorial's GitHub link on `developers.sap.com`.
110
112
111
113
**Key files:**
112
114
@@ -115,8 +117,5 @@ Exercise READMEs link to SAP tutorials on `developers.sap.com`. The VitePress bu
115
117
|`docs/.vitepress/external-tutorials.config.ts`| Config map: tutorial ID → raw GitHub URL |
116
118
|`docs/.vitepress/plugins/external-tutorials.ts`| Vite plugin: fetches tutorials at build start |
117
119
|`docs/.vitepress/plugins/md-expand-tutorials.ts`| markdown-it plugin: substitutes link blocks with expanded content |
118
-
|`docs/.vitepress/plugins/transform-tutorial.ts`| Pure transform pipeline: strips frontmatter/intro, rewrites image paths and cross-links, shifts headings |
119
-
|`docs/.vitepress/plugins/transform-tutorial.test.ts`| 13 unit tests for the transform pipeline |
120
-
|`docs/.vitepress/plugins/md-expand-tutorials.test.ts`| 7 unit tests for the expansion/detection logic |
121
-
122
-
**Note:** Most tutorials live in `sap-tutorials/Tutorials` on `master`, but some have moved to other repos (e.g. `appstudio-onboarding` is in `sap-tutorials/btp-adai` on `main`). If a raw URL returns 404, check the tutorial's GitHub link on the `developers.sap.com` page to find the correct repo and branch.
120
+
|`docs/.vitepress/plugins/transform-tutorial.ts`| Pure transform: strips frontmatter, rewrites images/links, shifts headings |
121
+
|`docs/.vitepress/plugins/*.test.ts`| 23 unit tests (13 transform + 10 expansion/detection) |
0 commit comments