All you need to know about the FlyCode configuration file
When installing the FlyCode GitHub Application, FlyCode scans the GitHub repositories you've granted access to and learns your projects' structures.
FlyCode generates a .flycode.yaml configuration file in the repository root, and identifies your:
  • Apps located in different directories.
  • Environments - Branches & Tags that represent your environments and workflows.
  • Resource Files that contain all your texts, whether in a JSON locale file (e.g. en-US.json) or hardcoded (in React, etc'). All supported formats are listed below.
Here is an example of how a .flycode.yaml looks like, with explanations regarding each section:
version: 0.1
# FlyCode supports mono-repos in which you manage multiple apps
# We still need you to give human readable names :)
- name: App Dashboard
path: dashboard/frontend/
# We guess your resource file location and structure
- path: src/lang/*.json
format: flat-key-value
- name: App Admin
path: admin/frontend/
# But sometimes you'll know better than us...
- path: custom/lng/*.json
format: nested-key-value
# We also support hardcoded string recognition in
# many different frameworks (as listed below)
- name: React App
path: ""
- path: "*.tsx"
format: react-hardcoded
# FlyCode adapts to your environments and branching model
- name: Development Environment
branch: dev
# We don't commit directly to your branches
# Pull Requests are created and managed by your team
mode: pull-request

Supported Formats (and their path formats):

Texts in resource files:

  • flat-key-value - "*.json". These are JSON files that don't keys with objects as values.
  • nested-key-value - "*.json". These are JSON files that have keys with objects as values.
  • po - "*.po"

Texts hardcoded in code files:

  • angular-hardcoded - "*.html"
  • react-hardcoded - "*.{js,jsx,tsx}"
  • vue-hardcoded - "*.vue"
  • php-hardcoded - "*.php"
  • ruby-hardcoded - "*.erb.html"
  • html-hardcoded - "*.html"