**Motivations:** - Single config file per project (projects/<id>/conf.json) - Project must not depend on ia_dev; only ia_dev solicits the project **Root causes:** - N/A (evolution) **Correctifs:** - N/A **Evolutions:** - lib/project_config.sh: resolve PROJECT_SLUG from IA_PROJECT, .ia_project, ai_project_id; PROJECT_CONFIG_PATH = projects/<id>/conf.json - projects/lecoffreio.json moved to projects/lecoffreio/conf.json; projects/ia_dev/conf.json added - deploy: branch-align, bump-version, change-to-all-branches, pousse, deploy-by-script-to use PROJECT_ROOT/IA_DEV_ROOT and project_config.sh; SCRIPT_REAL for symlink-safe paths - deploy/_lib: shared colors, env-map, ssh, git-flow - gitea-issues: mail list/mark-read/get-thread/send-reply, thread log, agent-loop, wiki scripts; lib.sh loads project config - README: principle no dependency from host project; invoke ./ia_dev/deploy/bump-version.sh etc. from repo root **Pages affectées:** - README.md, projects/README.md, lib/, deploy/, gitea-issues/, projects/lecoffreio/, projects/ia_dev/
2.0 KiB
2.0 KiB
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:
IA_PROJECT(environment variable).ia_projectfile at the repository root (one line: the project id, e.g.lecoffreio)ai_project_idfile at the repository root (one line: the project id). Whenia_devis a submodule, this file lives at the host repo root (parent ofia_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, ticketing_url, token_file (path relative to repo root for token file) |
Example (minimal)
{
"name": "My App",
"build_dirs": ["backend", "frontend"]
}
Example (full)
See projects/lecoffreio/conf.json.