Author SHA1 Message Date
Tirsvad e3333eb7d4 Add a wiki page on updating the framework and AGENTS.md
Quality checks / quality-checks (pull_request) Successful in 31s
Quality / quality (pull_request) Successful in 31s
Explain how to move the framework submodule with
git submodule update --init --remote --recursive framework, what to run
afterwards, and how to bring AGENTS.md up to date with
framework/templates/AGENTS-template.md.
2026-10-13 01:24:51 +08:00
Tirsvad 44ee25d97d Merge pull request 'Rename the wiki pages without hyphens' (#80) from rename-wiki-pages-no-hyphens into main
Quality checks / quality-checks (push) Successful in 25s
Quality / quality (push) Successful in 25s
TirSystem/github-action: Publish wiki / publish-wiki (push) Successful in 9s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 5s
Reviewed-on: #80
2026-10-12 12:03:33 +02:00
Tirsvad 32fa6a819e Rename the wiki pages without hyphens
Quality checks / quality-checks (pull_request) Successful in 29s
Quality / quality (pull_request) Successful in 29s
Gitea stores a page whose name has a hyphen under an escaped address
(Getting-started.-), which the shared publish workflow does not match, so
the second run tried to create the page again and got HTTP 400. Use
GettingStarted and SshAndTokens, as the wiki of TirSystem/github-action
does.
2026-10-12 18:02:38 +08:00
Tirsvad a06b54ee7e Merge pull request 'Use the kebab-case repository name' (#79) from rename-repo-kebab-case into main
Quality checks / quality-checks (push) Successful in 24s
TirSystem/github-action: Publish wiki / publish-wiki (push) Failing after 7s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 6s
Quality / quality (push) Successful in 25s
Reviewed-on: #79
2026-10-12 11:59:00 +02:00
6 changed files with 66 additions and 6 deletions
@@ -22,7 +22,7 @@ Nothing is installed system-wide: the script runs from the checkout.
## Configure
Copy `config.env.example` to `config.env` and `.env.example` to `.env`, then set the service addresses and the tokens (see [SSH and tokens](SSH-and-tokens)). `.env` holds credentials and is never committed.
Copy `config.env.example` to `config.env` and `.env.example` to `.env`, then set the service addresses and the tokens (see [SSH and tokens](SshAndTokens)). `.env` holds credentials and is never committed.
## Run
+3 -2
View File
@@ -12,8 +12,9 @@ It is a Bash script. It shows a plan first and creates nothing until you pass `-
| Page | What it covers |
| --- | --- |
| [Getting started](Getting-started) | Requirements, install and the first run |
| [SSH and tokens](SSH-and-tokens) | SSH access to Gitea and the two access tokens |
| [Getting started](GettingStarted) | Requirements, install and the first run |
| [SSH and tokens](SshAndTokens) | SSH access to Gitea and the two access tokens |
| [Updating the framework](UpdatingTheFramework) | Keep the framework submodule of a project up to date |
| [Troubleshooting](Troubleshooting) | Common failures and what to do |
The full reference (configuration files, security decisions, error handling, known limitations) is the [README](https://git.tirsystem.com/TirSystem-BashScript/repo-foundry/src/branch/main/README.md).
+1 -1
View File
@@ -4,7 +4,7 @@
| --- | --- |
| The plan says the SSH test failed | Your key is in your Gitea account, the host key is known (`ssh -p 10022 -T git@git.tirsystem.com`), and a passphrase key is loaded with `ssh-add` |
| The script stops at the tool check | bash is 4.4 or later, and `git` and `curl` are installed |
| A host rejects the token | The token is current and has the scopes in [SSH and tokens](SSH-and-tokens) |
| A host rejects the token | The token is current and has the scopes in [SSH and tokens](SshAndTokens) |
| A run stopped half way | Fix the cause and run the same command again with `--apply`: what was already created is offered for reuse |
More: [Error handling and recovery](https://git.tirsystem.com/TirSystem-BashScript/repo-foundry/src/branch/main/README.md#error-handling-and-recovery) and [Known limitations](https://git.tirsystem.com/TirSystem-BashScript/repo-foundry/src/branch/main/README.md#known-limitations) in the README.
+58
View File
@@ -0,0 +1,58 @@
# Updating the framework
A project created by Repo Foundry holds the SQA-QC-Framework as the git submodule `framework`. A clone or a `git pull` does not move it: the project stays on the framework commit it recorded. To keep the framework up to date, run this in the project, from its root:
```bash
git submodule update --init --remote --recursive framework
```
| Part | Why |
| --- | --- |
| `--init` | fetches the submodule if it is not there yet |
| `--remote` | moves `framework` to the latest commit of the framework repository, instead of the commit the project recorded |
| `--recursive` | also updates the submodule the framework holds itself (`framework/qc`, the checklists) |
## After the update
1. Re-install the skills, so the copies in `.claude/skills/` and `.agents/skills/` match the new framework:
```bash
bash framework/scripts/install-skills.sh
```
2. Review what changed, then commit the new framework commit on a branch (the framework's hooks refuse commits on `main`):
```bash
git status
git switch -c update-framework
git add framework
git commit -m "Update the framework"
```
3. Bring `AGENTS.md` up to date (next section).
## Update AGENTS.md to the newest template
`AGENTS.md` in your project was copied from `framework/templates/AGENTS-template.md` when the project was created. It is a copy, so it does not change when the framework does. The template holds the rules the framework's skills and hooks expect (for example the supervised and autonomous modes), so bring it up to date after each framework update.
1. See what differs:
```bash
diff -u AGENTS.md framework/templates/AGENTS-template.md
```
2. If you never edited `AGENTS.md`, replace it:
```bash
cp framework/templates/AGENTS-template.md AGENTS.md
```
3. If you added your own rules, copy the new or changed template sections into `AGENTS.md` by hand and keep yours. Replacing the file would lose them.
Repo Foundry adds `/AGENTS.md` to `.git/info/exclude` in the new project, so git does not list the file and the change is not a commit: it only affects your working copy. Do not do the same with `docs/artifact-registry.md`: it holds your project's own rows, so only compare it with `framework/templates/artifact-registry-template.md` and copy what you need.
## Notes
- `--remote` follows the default branch of the framework repository, not a release tag. To stay on a release, check the tag out inside the submodule instead: `git -C framework checkout <tag>`, then commit `framework` as above.
- Another person who clones the project, or pulls your commit, gets the recorded framework commit with `git submodule update --init --recursive`.
- The submodule is fetched over SSH on port 10022, so the [SSH setup](SshAndTokens) applies to updates too.
+3 -2
View File
@@ -1,4 +1,5 @@
- [Home](Home)
- [Getting started](Getting-started)
- [SSH and tokens](SSH-and-tokens)
- [Getting started](GettingStarted)
- [SSH and tokens](SshAndTokens)
- [Updating the framework](UpdatingTheFramework)
- [Troubleshooting](Troubleshooting)