diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..8f6d6dd --- /dev/null +++ b/.gitlab-ci.yml @@ -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 diff --git a/.releaserc b/.releaserc new file mode 100644 index 0000000..f77eb78 --- /dev/null +++ b/.releaserc @@ -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}" + } + ] + ] +} diff --git a/README.md b/README.md index d9a7cf1..8a4612b 100644 --- a/README.md +++ b/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 && cd codewalk-district +# Project-level .npmrc (recommended) — or add to ~/.npmrc for global config +@carealytix:registry=https://gitlab.com/api/v4/projects//packages/npm/ +//gitlab.com/api/v4/projects//packages/npm/:_authToken= +``` + +Replace `` with the GitLab project ID and `` 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 diff --git a/package.json b/package.json index 55b0316..a9c5135 100644 --- a/package.json +++ b/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" } }