Thank you for your interest in contributing to the vacs dataset!
All dataset contributions must be placed in the correct directory:
dataset/{FIR}/
Where {FIR} is the two/four letter Flight Information Region code (e.g., LO for Austria, EDMM for Munich, etc.).
Important
Files outside the correct directory structure will not be picked up by our validation and release process.
This repository uses autofix.ci with Prettier to ensure consistent code formatting.
When you create a pull request, please enable "Allow edits by maintainers". This allows the autofix.ci bot to automatically push formatting fixes to your PR branch.
If you prefer to format files locally before pushing:
# Install dependencies (one-time)
npm install
# Format all dataset files
npm run format
# Check formatting without modifying
npm run format:checkIf your editor supports Prettier, formatting can happen automatically on save. See our editor configuration in .vscode/settings.json for VS Code setup.
If you're contributing configuration for a new FIR:
- Fork this repository and create a pull request from your fork.
- Add your dataset files to
dataset/{FIR}/. - In your PR description, tell us who you are and what your role in the FIR is (e.g., FIR Chief, Training Director, etc.). We want to make sure dataset contributions are transparent about their origin.
- Include a list of at least one other person who should be added as a maintainer for this FIR. You should have at least 2 people so you can review and approve each other's PRs. If you don't have a second person, that's okay - just let us know in the PR and we will add one of our team members as a temporary maintainer until you find someone from your FIR to take on that role.
- Add a
CODEOWNERSentry for your FIR directory (e.g.,/dataset/XX/ @vacs-project/dataset-maintainers-xx). If the maintainers team doesn't exist yet, leave a note in the PR description with your preferred team name - it should follow the naming convention of the existing teams. - After your first PR is merged, we'll create the team (if needed), add everyone, and the CODEOWNERS entry will take effect.
- Once you've accepted the team invite, you can create branches directly in this repository - no need to keep your fork. Working from the main repo makes our tooling and cross-FIR collaboration much easier.
If you're contributing to an existing FIR:
- Your PR will be reviewed by the current CODEOWNER(s) for that FIR.
- We'll wait for their approval before merging.
- If you're already a CODEOWNER, you can merge your own PRs after another CODEOWNER has reviewed them.
Dataset maintainers are responsible for merging their own PRs once they're ready (CI passes, reviews approved). The vacs core team does not monitor or merge dataset PRs by default. If you need help from the vacs maintainers (e.g., a tooling issue, a question about the schema, or a CI problem that isn't caused by your changes), request a review from @vacs-project/core-maintainers or tag them in a comment.
If your change affects a neighboring FIR's dataset (e.g., you renamed an ID, removed a station, or changed a shared reference), you must update the affected profiles as well - CI validation and deployments will fail otherwise.
- Simple changes (ID rename, simple station replacements, etc.): Update the other FIR's files yourself in the same PR. The affected FIR's CODEOWNERS will be notified automatically and must approve before the PR can merge.
- Complex changes (restructuring, ambiguous replacements, etc.): You may push your own FIR's changes even if CI fails for the other FIR. In that case, clearly describe in the PR what needs to change in the other dataset(s) so their maintainers can follow up and fix their side. Your changes will not be merged until the other FIR's maintainers have made the necessary updates and checks pass.
All contributions are automatically validated for:
- Valid JSON/TOML syntax
- Proper formatting (via Prettier)
- Schema compliance (structure, required fields, data types)
If validation fails, you'll receive feedback in your pull request with specific error messages.
Any contribution intentionally submitted for inclusion in the dataset provided by the vacs-data project by you shall be licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
In short: by contributing, you agree that your contributions may be used under the CC BY-NC-SA 4.0 license, the same way as the existing dataset.
By submitting a contribution, you represent that you have the right to do so (e.g., you are the author or have permission from the rights holder) and that you are granting the project and its users a license to your contribution under the same terms.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the tools provided by the vacs-data project by you, as defined in the Apache-2.0 license, shall be dual-licensed under the MIT license and the Apache License, Version 2.0, at your option, without any additional terms or conditions.
In short: by contributing, you agree that your contributions may be used under either the MIT or the Apache-2.0 license, the same way as the existing code.
By submitting a contribution, you represent that you have the right to do so (e.g., your employer allows you to contribute under these terms) and that you are granting the project and its users a license to your contribution under the same terms.