ci: Add GitLab CI with semantic-release to @carealytix package registry

- .gitlab-ci.yml: single release stage, builds and runs semantic-release on main
- .releaserc: commit-analyzer, release-notes, npm publish, gitlab release, git tag
- package.json: rename to @carealytix/codewalkers, add repository, release script, semantic-release devDeps
- README.md: add GitLab Package Registry install instructions with .npmrc config
This commit is contained in:
Lukas May
2026-03-06 16:29:20 +01:00
parent 2eccde0ee1
commit 6b922b633e
4 changed files with 78 additions and 8 deletions

21
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,21 @@
stages:
- release
semantic-release:
stage: release
image: node:lts-alpine
before_script:
- apk add git openssh
- mkdir -p ~/.ssh
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519
- ssh-keyscan -H gitlab.com >> ~/.ssh/known_hosts
- chmod 600 ~/.ssh/id_ed25519
- |
echo "@carealytix:registry=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/npm/" >> .npmrc
echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}" >> .npmrc
- npm install
- npm run build
script:
- npx semantic-release
only:
- main

20
.releaserc Normal file
View File

@@ -0,0 +1,20 @@
{
"branches": [
"main"
],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/npm",
"@semantic-release/gitlab",
[
"@semantic-release/git",
{
"assets": [
"package.json"
],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
]
]
}

View File

@@ -30,15 +30,33 @@ Codewalkers coordinates agents from different providers (Claude, Codex, Gemini,
### Install ### Install
**1. Configure your `.npmrc` to use the GitLab Package Registry:**
```sh ```sh
git clone <repo-url> && cd codewalk-district # Project-level .npmrc (recommended) — or add to ~/.npmrc for global config
@carealytix:registry=https://gitlab.com/api/v4/projects/<PROJECT_ID>/packages/npm/
//gitlab.com/api/v4/projects/<PROJECT_ID>/packages/npm/:_authToken=<YOUR_TOKEN>
```
Replace `<PROJECT_ID>` with the GitLab project ID and `<YOUR_TOKEN>` with a personal access token (scope: `read_api`) or deploy token.
**2. Install globally:**
```sh
npm install -g @carealytix/codewalkers
```
This makes the `cw` CLI available globally.
**Alternative: Install from source**
```sh
git clone git@gitlab.com:carealytix/tools/codewalkers.git && cd codewalkers
npm install npm install
npm run build npm run build
npm link npm link
``` ```
This makes the `cw` CLI available globally.
### Initialize a workspace ### Initialize a workspace
```sh ```sh

View File

@@ -1,8 +1,13 @@
{ {
"name": "codewalk-district", "name": "@carealytix/codewalkers",
"version": "0.0.1", "version": "0.0.1",
"description": "Multi-agent workspace for orchestrating multiple Claude Code agents", "description": "Multi-agent workspace for orchestrating multiple AI coding agents",
"type": "module", "type": "module",
"repository": {
"type": "git",
"url": "git@gitlab.com:carealytix/tools/codewalkers.git"
},
"license": "UNLICENSED",
"workspaces": [ "workspaces": [
"apps/*", "apps/*",
"packages/*" "packages/*"
@@ -18,7 +23,8 @@
"test": "vitest run", "test": "vitest run",
"test:watch": "vitest", "test:watch": "vitest",
"test:coverage": "vitest run --coverage", "test:coverage": "vitest run --coverage",
"dev:web": "npm run dev --workspace=apps/web" "dev:web": "npm run dev --workspace=apps/web",
"release": "semantic-release"
}, },
"keywords": [ "keywords": [
"claude", "claude",
@@ -27,7 +33,6 @@
"multi-agent" "multi-agent"
], ],
"author": "", "author": "",
"license": "ISC",
"dependencies": { "dependencies": {
"@tiptap/core": "^3.19.0", "@tiptap/core": "^3.19.0",
"@tiptap/extension-link": "^3.19.0", "@tiptap/extension-link": "^3.19.0",
@@ -62,6 +67,12 @@
"rimraf": "^6.0.1", "rimraf": "^6.0.1",
"tsx": "^4.19.2", "tsx": "^4.19.2",
"typescript": "^5.7.3", "typescript": "^5.7.3",
"vitest": "^4.0.18" "vitest": "^4.0.18",
"@semantic-release/commit-analyzer": "^13.0.0",
"@semantic-release/git": "^10.0.1",
"@semantic-release/gitlab": "^13.2.3",
"@semantic-release/npm": "^12.0.1",
"@semantic-release/release-notes-generator": "^14.0.1",
"semantic-release": "^24.0.0"
} }
} }