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:
21
.gitlab-ci.yml
Normal file
21
.gitlab-ci.yml
Normal 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
20
.releaserc
Normal 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}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
24
README.md
24
README.md
@@ -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
|
||||||
|
|||||||
21
package.json
21
package.json
@@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user