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
|
||||
|
||||
**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
|
||||
|
||||
21
package.json
21
package.json
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user