| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 2 | 10 | 0% |
| Commands | 0 | 4 | 4 | 0% |
| Section tags | 0 | 0 | 7 | 0% |
What each file covers
Sections
0 shared · 2 only in A · 10 only in B- − Config
- − Translations
- + Frontend
- + Directory Structure
- + Configuration Files
- + Version Requirements
- + Setup
- + Code Style
- + JavaScript/TypeScript
- + Linting
- + Testing
- + Frontend (Jasmine/Karma)
Commands
0 shared · 4 only in A · 4 only in B- − bundle exec i18n-tasks missing
- − bundle exec i18n-tasks unused
- − bundle exec i18n-tasks normalize
- − bundle exec i18n-tasks check-consistent-interpolations
- + npm ci && cd ..
- + npx eslint src/ && cd ..
- + npm test && cd ..
- + eslint.config.mjs
Section tags
0 shared · 0 only in A · 7 only in B- + setup
- + test
- + lint-format
- + code-style
- + architecture
- + types
- + deployment
Line diff
opf/openproject · config/AGENTS.md
@@ −1 @@
1# Config
2
3## Translations
4- UI strings must use translation keys (never hard-coded)
5- Source translations in `**/config/locales/en.yml` can be modified directly
6- Other translations managed via Crowdin
7
8```bash
9bundle exec i18n-tasks missing # Show missing translation keys
10bundle exec i18n-tasks unused # Show unused translation keys
11bundle exec i18n-tasks normalize # Fix/normalize translation files
12bundle exec i18n-tasks check-consistent-interpolations # Check interpolation consistency
13```
14
opf/openproject · frontend/AGENTS.md
@@ +1 @@
1# Frontend
2
3## Directory Structure
4
5- `./src/` - Frontend code
6 - `./src/app/` - Legacy Angular modules/components
7 - `./src/common/` - Framework-agnostic modules (the `core-common` alias), importable from both Angular and Stimulus. Code belongs here when it depends on neither framework and both sides need it; a helper only Stimulus controllers use belongs in `./src/stimulus/helpers/` instead.
8 - `./src/stimulus/` - Stimulus controllers
9 - `./src/turbo/` - Turbo integration
10
11## Configuration Files
12
13- `eslint.config.mjs` - JavaScript/TypeScript linting
14- `../package.json` / `./frontend/package.json` - Node.js dependencies
15
16## Version Requirements
17
18- Node: `^24.15.0` (see `package.json` engines)
19
20## Setup
21
22```bash
23npm ci && cd .. # Install Node packages
24```
25
26## Code Style
27
28### JavaScript/TypeScript
29- **New development**: Use Hotwire (Turbo + Stimulus) with server-rendered HTML
30- **Legacy code**: Follow ESLint rules
31- Prefer TypeScript over JavaScript
32- Use [Primer Design System](https://primer.style/product/) via ViewComponent
33
34## Linting
35
36```bash
37# JavaScript/TypeScript
38npx eslint src/ && cd ..
39```
40
41## Testing
42
43```bash
44# Frontend (Jasmine/Karma)
45npm test && cd ..
46```
47
@@ −1 +1 @@
1−# Config
1+# Frontend
22
3−## Translations
4−- UI strings must use translation keys (never hard-coded)
5−- Source translations in `**/config/locales/en.yml` can be modified directly
6−- Other translations managed via Crowdin
3+## Directory Structure
74
5+- `./src/` - Frontend code
6+ - `./src/app/` - Legacy Angular modules/components
7+ - `./src/common/` - Framework-agnostic modules (the `core-common` alias), importable from both Angular and Stimulus. Code belongs here when it depends on neither framework and both sides need it; a helper only Stimulus controllers use belongs in `./src/stimulus/helpers/` instead.
8+ - `./src/stimulus/` - Stimulus controllers
9+ - `./src/turbo/` - Turbo integration
10+
11+## Configuration Files
12+
13+- `eslint.config.mjs` - JavaScript/TypeScript linting
14+- `../package.json` / `./frontend/package.json` - Node.js dependencies
15+
16+## Version Requirements
17+
18+- Node: `^24.15.0` (see `package.json` engines)
19+
20+## Setup
21+
822 ```bash
9−bundle exec i18n-tasks missing # Show missing translation keys
10−bundle exec i18n-tasks unused # Show unused translation keys
11−bundle exec i18n-tasks normalize # Fix/normalize translation files
12−bundle exec i18n-tasks check-consistent-interpolations # Check interpolation consistency
23+npm ci && cd .. # Install Node packages
24+```
25+
26+## Code Style
27+
28+### JavaScript/TypeScript
29+- **New development**: Use Hotwire (Turbo + Stimulus) with server-rendered HTML
30+- **Legacy code**: Follow ESLint rules
31+- Prefer TypeScript over JavaScript
32+- Use [Primer Design System](https://primer.style/product/) via ViewComponent
33+
34+## Linting
35+
36+```bash
37+# JavaScript/TypeScript
38+npx eslint src/ && cd ..
39+```
40+
41+## Testing
42+
43+```bash
44+# Frontend (Jasmine/Karma)
45+npm test && cd ..
1346 ```
1447
