RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Diff/opf-openproject-config-agents ↔ opf-openproject-github-copilot-instructions

Comparison

A · AGENTS.md · opf/openprojectB · Copilot instructions · opf/openproject
What each file covers, counted
DimensionSharedOnly in AOnly in BOverlap
Sections0280%
Commands0440%
Section tags0050%

What each file covers

Sections

0 shared · 2 only in A · 8 only in B
  • − Config
  • − Translations
  • + OpenProject Coding Agent Instructions
  • + Additional Context for GitHub Copilot
  • + Common Issues and Workarounds
  • + Extended Details
  • + Additional Commands
  • + Database
  • + Frontend
  • + Docker

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
  • + bundle exec rake db:migrate:status
  • + bundle exec rails openproject:plugins:register_frontend assets:export_locales
  • + docker compose run --rm backend-test "bundle exec rspec spec/features/work_package_show_spec.rb"
  • + bundle exec rspec --seed 18352

Section tags

0 shared · 0 only in A · 5 only in B
  • + setup
  • + lint-format
  • + git-pr
  • + database
  • + agent-behaviour

Line diff

+88 added−9 removed5 unchanged5.4% identical
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 · .github/copilot-instructions.md
@@ +1 @@
1# OpenProject Coding Agent Instructions
2 
3See [AGENTS.md](../AGENTS.md) for all agent instructions.
 
 
 
4 
5## Additional Context for GitHub Copilot
6 
7### Common Issues and Workarounds
8 
9#### Database Configuration
10- **Issue**: Docker fails with "database.yml exists"
11- **Fix**: Delete or rename `config/database.yml` when using Docker
12 
13#### Memory Issues in Docker
14- **Issue**: Frontend container exits with status 137
15- **Fix**: Increase Docker memory limit to at least 4GB
16 
17#### Test Failures on CI but Passing Locally
18- Run with `CI=true` environment variable (eager loads app)
19- Check for `OPENPROJECT_*` environment variables
20- Match the random seed: `bundle exec rspec --seed 18352`
21- Use `--bisect` to find order-dependent failures
22- View browser tests with `OPENPROJECT_TESTING_NO_HEADLESS=1`
23 
24#### Frontend Build Issues
25- **Issue**: "jQuery not defined", frontend asset errors, or blank page
26- **Fix**: Run `bin/setup_dev` to rebuild frontend completely
27 
28#### Parallel Test Failures
29- Tests run in parallel on CI with different random seeds per group
30- Check `tmp/parallel_runtime.log` for execution times
31- **Flaky specs**: Some tests may fail randomly; see [`docs/development/testing/handling-flaky-tests/README.md`](../docs/development/testing/handling-flaky-tests/README.md) for the full playbook, including the Turbo-aware waiting helpers and a pattern→fix table for feature specs
32 - Use `script/bulk_run_rspec` to run tests multiple times to identify flaky behavior
33 
34### Extended Details
35 
36#### Service Objects and Result Modeling
37- Return results using the `ServiceResult` class (well-documented in codebase)
38- Some services use monads via [dry-monads](https://github.com/dry-rb/dry-monads) for result modeling
39 
40#### Testing with Capybara
41- Feature specs use Capybara (with Cuprite and Selenium WebDriver)
42- Feature specs can use A11y selectors ([capybara_accessible_selectors](https://github.com/citizensadvice/capybara_accessible_selectors)), test IDs, or page objects (in `spec/support/pages/`)
43 
44#### Database Migrations
45- OpenProject implements migration "squashing" between major releases
46- See `docs/development/migrations/` for details on the squashing process
47- Migrations are consolidated to manage database changes across major versions
48- OpenProject does not currently aim for zero downtime migrations
49 
50#### Design System Components
51- [primer_view_components](https://github.com/opf/primer_view_components) - OpenProject's fork of Primer Rails/ViewComponent
52- [openproject-octicons](https://github.com/opf/openproject-octicons) - OpenProject's fork of Primer Octicons
53- [commonmark-ckeditor-build](https://github.com/opf/commonmark-ckeditor-build) - Custom CKEditor build with CommonMark Markdown support
54 
55#### Enterprise and BIM Editions
56- **Enterprise Edition**: Includes additional features like Single sign-on (OIDC & SAML), LDAP, Nextcloud integration, SCIM API, and more (requires token for development)
57- **BIM Edition**: Tailored for construction industry needs. Code in `modules/bim/`, docs in `docs/bim-guide/`. Existing instances can be switched to BIM edition.
58 
59#### GitHub Actions CI/CD
60- **test-core.yml** - Main test suite (units + features, ~40 min, runs on all PRs)
61- **rubocop-core.yml** - Ruby linting (runs on all PRs with Ruby changes)
62- **eslint-core.yml** - JS/TS linting (runs on all PRs with JS/TS changes)
63- **test-frontend-unit.yml** - Frontend unit tests
64- **brakeman-scan-core.yml** - Security scanning
65- **codeql-scan-core.yml** - Code quality/security analysis
66- **Skip CI**: Add `[ci skip]` to commit message to skip CI (use sparingly)
67 
68#### Performance Considerations
69- Main test suite: 40 minutes timeout
70- Full Docker build: ~10-15 minutes (first time)
71- Bundle install: ~2-5 minutes
72- npm install: ~3-7 minutes
73 
74### Additional Commands
75 
76```bash
77# Database
78bundle exec rake db:migrate:status # Check migration status
79 
80# Frontend
81bundle exec rails openproject:plugins:register_frontend assets:export_locales
82 
83# Docker
84bin/compose run # Run with backend in foreground
85docker compose run --rm backend-test "bundle exec rspec spec/features/work_package_show_spec.rb"
86```
87 
88For detailed documentation, consult:
89- `docs/development/` - Development documentation
90- `docs/development/running-tests/` - Testing guide
91- `docs/development/code-review-guidelines/` - Code review standards
92- `CONTRIBUTING.md` - Contribution workflow
93 
@@ −1 +1 @@
1−# Config
1+# OpenProject Coding Agent Instructions
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+See [AGENTS.md](../AGENTS.md) for all agent instructions.
74  
5+## Additional Context for GitHub Copilot
6+ 
7+### Common Issues and Workarounds
8+ 
9+#### Database Configuration
10+- **Issue**: Docker fails with "database.yml exists"
11+- **Fix**: Delete or rename `config/database.yml` when using Docker
12+ 
13+#### Memory Issues in Docker
14+- **Issue**: Frontend container exits with status 137
15+- **Fix**: Increase Docker memory limit to at least 4GB
16+ 
17+#### Test Failures on CI but Passing Locally
18+- Run with `CI=true` environment variable (eager loads app)
19+- Check for `OPENPROJECT_*` environment variables
20+- Match the random seed: `bundle exec rspec --seed 18352`
21+- Use `--bisect` to find order-dependent failures
22+- View browser tests with `OPENPROJECT_TESTING_NO_HEADLESS=1`
23+ 
24+#### Frontend Build Issues
25+- **Issue**: "jQuery not defined", frontend asset errors, or blank page
26+- **Fix**: Run `bin/setup_dev` to rebuild frontend completely
27+ 
28+#### Parallel Test Failures
29+- Tests run in parallel on CI with different random seeds per group
30+- Check `tmp/parallel_runtime.log` for execution times
31+- **Flaky specs**: Some tests may fail randomly; see [`docs/development/testing/handling-flaky-tests/README.md`](../docs/development/testing/handling-flaky-tests/README.md) for the full playbook, including the Turbo-aware waiting helpers and a pattern→fix table for feature specs
32+ - Use `script/bulk_run_rspec` to run tests multiple times to identify flaky behavior
33+ 
34+### Extended Details
35+ 
36+#### Service Objects and Result Modeling
37+- Return results using the `ServiceResult` class (well-documented in codebase)
38+- Some services use monads via [dry-monads](https://github.com/dry-rb/dry-monads) for result modeling
39+ 
40+#### Testing with Capybara
41+- Feature specs use Capybara (with Cuprite and Selenium WebDriver)
42+- Feature specs can use A11y selectors ([capybara_accessible_selectors](https://github.com/citizensadvice/capybara_accessible_selectors)), test IDs, or page objects (in `spec/support/pages/`)
43+ 
44+#### Database Migrations
45+- OpenProject implements migration "squashing" between major releases
46+- See `docs/development/migrations/` for details on the squashing process
47+- Migrations are consolidated to manage database changes across major versions
48+- OpenProject does not currently aim for zero downtime migrations
49+ 
50+#### Design System Components
51+- [primer_view_components](https://github.com/opf/primer_view_components) - OpenProject's fork of Primer Rails/ViewComponent
52+- [openproject-octicons](https://github.com/opf/openproject-octicons) - OpenProject's fork of Primer Octicons
53+- [commonmark-ckeditor-build](https://github.com/opf/commonmark-ckeditor-build) - Custom CKEditor build with CommonMark Markdown support
54+ 
55+#### Enterprise and BIM Editions
56+- **Enterprise Edition**: Includes additional features like Single sign-on (OIDC & SAML), LDAP, Nextcloud integration, SCIM API, and more (requires token for development)
57+- **BIM Edition**: Tailored for construction industry needs. Code in `modules/bim/`, docs in `docs/bim-guide/`. Existing instances can be switched to BIM edition.
58+ 
59+#### GitHub Actions CI/CD
60+- **test-core.yml** - Main test suite (units + features, ~40 min, runs on all PRs)
61+- **rubocop-core.yml** - Ruby linting (runs on all PRs with Ruby changes)
62+- **eslint-core.yml** - JS/TS linting (runs on all PRs with JS/TS changes)
63+- **test-frontend-unit.yml** - Frontend unit tests
64+- **brakeman-scan-core.yml** - Security scanning
65+- **codeql-scan-core.yml** - Code quality/security analysis
66+- **Skip CI**: Add `[ci skip]` to commit message to skip CI (use sparingly)
67+ 
68+#### Performance Considerations
69+- Main test suite: 40 minutes timeout
70+- Full Docker build: ~10-15 minutes (first time)
71+- Bundle install: ~2-5 minutes
72+- npm install: ~3-7 minutes
73+ 
74+### Additional Commands
75+ 
876 ```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
77+# Database
78+bundle exec rake db:migrate:status # Check migration status
79+ 
80+# Frontend
81+bundle exec rails openproject:plugins:register_frontend assets:export_locales
82+ 
83+# Docker
84+bin/compose run # Run with backend in foreground
85+docker compose run --rm backend-test "bundle exec rspec spec/features/work_package_show_spec.rb"
1386 ```
87+ 
88+For detailed documentation, consult:
89+- `docs/development/` - Development documentation
90+- `docs/development/running-tests/` - Testing guide
91+- `docs/development/code-review-guidelines/` - Code review standards
92+- `CONTRIBUTING.md` - Contribution workflow
1493  
RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack