A machine-parsable directory of operational details for Code for Philly projects.
Each project is represented by a directory containing two YAML files:
development.yaml
: Contains the project's GitHub repository informationhosting.yaml
: Contains domain and deployment configuration details
The development.yaml
file specifies the GitHub repository where the project's code is hosted. Example:
repository: github.com/CodeForPhilly/example-project
See .schemas/development.json for the complete schema.
The hosting.yaml
file defines:
- Domain names and their registrar information
- Deployment environments (production/staging) and their URLs
Example:
domains:
- name: example.com
registrar: namecheap-codeforphilly
expiration: 2025-12-31
deployments:
- name: production
environment: cfp-live-cluster
urls:
- https://example.com
- https://www.example.com
See .schemas/hosting.json for the complete schema.
The repository includes JSON Schema definitions in the .schemas/
directory that provide validation and autocompletion in VSCode while editing the YAML files with the "YAML" VSCode extension by Red Had installed.
A GitHub Actions workflow automatically validates all YAML files against their respective schemas on every push and pull request that modifies YAML or schema files. This ensures that all configuration files remain valid as changes are made.