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
**1. Configure your `.npmrc` to use the GitLab Package Registry:**
```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 run build
npm link
```
This makes the `cw` CLI available globally.
### Initialize a workspace
```sh

View File

@@ -1,8 +1,13 @@
{
"name": "codewalk-district",
"name": "@carealytix/codewalkers",
"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",
"repository": {
"type": "git",
"url": "git@gitlab.com:carealytix/tools/codewalkers.git"
},
"license": "UNLICENSED",
"workspaces": [
"apps/*",
"packages/*"
@@ -18,7 +23,8 @@
"test": "vitest run",
"test:watch": "vitest",
"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": [
"claude",
@@ -27,7 +33,6 @@
"multi-agent"
],
"author": "",
"license": "ISC",
"dependencies": {
"@tiptap/core": "^3.19.0",
"@tiptap/extension-link": "^3.19.0",
@@ -62,6 +67,12 @@
"rimraf": "^6.0.1",
"tsx": "^4.19.2",
"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"
}
}