ia_dev/projects

Project-specific configuration

This repo (ia_dev) is intended to be used as a git submodule inside each project. Project-specific parameters are stored in projects/<id>/conf.json (e.g. projects/lecoffreio/conf.json). The <id> is the project identifier and the name of the directory under projects/.

Current project selection

Scripts resolve the project id (used as the directory name in projects/) in this order:

  1. IA_PROJECT (environment variable)
  2. .ia_project file at the repository root (one line: the project id, e.g. lecoffreio)
  3. ai_project_id file at the repository root (one line: the project id). When ia_dev is a submodule, this file lives at the host repo root (parent of ia_dev).

When running from a repo that has ia_dev as a submodule, the root is the parent repo; the script resolves ia_dev either as ./ia_dev or ./deploy (symlink to ia_dev/deploy).

Schema

One JSON file per project: projects/<id>/conf.json (e.g. projects/lecoffreio/conf.json). The <id> is the directory name; the config file is always named conf.json.

Field Required Description
name yes Human-readable project name
project_path no Relative path to project from ia_dev (e.g. ../lecoffre_ng_test); used when running from ia_dev standalone
build_dirs no List of directories (relative to repo root) where npm run build is run before push. If missing or empty, build check is skipped
version no Version/bump configuration
version.package_json_paths no List of paths (relative to repo root) to package.json files to update on bump
version.splash_app_name no App name used in splash message template
mail no Mail/imap bridge config
git no Git hosting: wiki_url, token_file (path relative to repo root for token file). Ticketing URL is under tickets, not git.
tickets no Ticketing: ticketing_url (Gitea issues URL), authorized_emails (to: alias, from: list of allowed sender addresses for mail-based ticketing). See gitea-issues/TICKETS_SPOOL_FORMAT.md.

Example (minimal)

{
  "name": "My App",
  "build_dirs": ["backend", "frontend"]
}

Example (full)

See projects/lecoffreio/conf.json.