Create and Publish Agreement¶
Agreement publishing follows the CLI build workflow used by asactl.
Prepare local files¶
~/.asactl/build/agreement/{name}/{version}/agreement.json~/.asactl/build/agreement/{name}/{version}/meta.json(local tracking only)
Rules:
name: lowercase letters, numbers,-, length 3-30, and must not start with a numberversion: exact version string such asv1.0.0agreement.jsonmust match directoryname/version
Local workspace roles:
agreement.json: required, authored by you, publishedmeta.json: optional local tracking file, created/updated locally, not published
Minimal example:
{
"name": "sample-agreement",
"version": "v1.0.0",
"description": "Describe the business scenario and agreement purpose.",
"interface": {
"userState": [],
"functions": []
}
}
Build and validate¶
Before publish:
- ensure JSON is valid
- ensure required fields are complete
- ensure naming/version is consistent
Publish process¶
Target repo:
https://github.com/open-asa/asa.git
Publication rule:
- publish only
agreement.json - never publish
meta.json - target path:
{name}/{version}/agreement.json
Recommended Git flow:
- sync upstream
main - create branch
agreement/{name}-{version} - commit only target
agreement.json - push and open PR to
main