pluribus-context 0.2.0 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,141 @@
1
+ # Quickstart
2
+
3
+ Use this when you want to try Pluribus without touching a real project yet.
4
+
5
+ Pluribus takes one intentional context file (`pluribus.md`) and generates the tool-specific files your AI tools expect: `CLAUDE.md`, `.cursorrules`, Copilot instructions, `AGENTS.md`, Windsurf/Continue rules, and Zed `.rules`.
6
+
7
+ Already have one or more of those files? Start with a read-only inventory before replacing anything:
8
+
9
+ ```bash
10
+ npx --yes pluribus-context@latest audit
11
+ ```
12
+
13
+ Without `pluribus.md`, audit lists existing AI context surfaces so you can decide what to migrate. Then see [Migrate Existing AI Context Files](migrate-existing-context.md).
14
+
15
+ ## What Pluribus writes
16
+
17
+ The safest path is audit → validate → `sync --dry-run` → `sync`. The first three steps are read-only. `init` writes only `pluribus.md`, and `sync` writes only generated AI context files for the tools you selected (`CLAUDE.md`, `.cursorrules`, Copilot instructions, `AGENTS.md`, Windsurf/Continue rules, or Zed `.rules`). Generated files include a `Generated by Pluribus ... do not edit manually` header, so direct edits show up as drift in `pluribus audit`.
18
+
19
+ Remote imports do not refresh silently; Pluribus writes `pluribus.lock.json` and `.pluribus/cache/remote/` only when you explicitly pass `--update-imports`.
20
+
21
+ ## 1. Create a disposable demo project
22
+
23
+ ```bash
24
+ mkdir pluribus-demo
25
+ cd pluribus-demo
26
+ ```
27
+
28
+ ## 2. Preview and scaffold context
29
+
30
+ Start read-only so you can see the template before writing a file. `init --dry-run` is prepared for `pluribus-context@0.3.3`; until that patch is published, use the GitHub tag install command for the preview:
31
+
32
+ ```bash
33
+ npx --yes --package github:caioribeiroclw-pixel/pluribus#v0.3.3 pluribus init --dry-run \
34
+ --name "Ana" \
35
+ --description "A Node.js service" \
36
+ --tools claude,cursor,copilot
37
+ ```
38
+
39
+ When the scaffold looks right, create it from the published npm package:
40
+
41
+ ```bash
42
+ npx --yes pluribus-context@latest init \
43
+ --name "Ana" \
44
+ --description "A Node.js service" \
45
+ --tools claude,cursor,copilot
46
+ ```
47
+
48
+ This creates `pluribus.md`, the single source-of-truth file Pluribus reads. Open it and replace the scaffolded notes with real project context when you are ready. If you later need team/org reuse, keep the local project sections in `pluribus.md` and import shared Markdown with `# @import ./shared/team-context.md`.
49
+
50
+ Choose the comma-separated `--tools` list that matches your repo. The built-in adapters are:
51
+
52
+ | Tool id | Generated file |
53
+ | --- | --- |
54
+ | `claude` | `CLAUDE.md` |
55
+ | `cursor` | `.cursorrules` |
56
+ | `copilot` | `.github/copilot-instructions.md` |
57
+ | `openclaw` | `AGENTS.md` |
58
+ | `windsurf` | `.windsurf/rules/pluribus.md` |
59
+ | `continue` | `.continue/rules/pluribus.md` |
60
+ | `zed` | `.rules` |
61
+
62
+ You can also run `npx --yes pluribus-context@latest --help` to see the current supported tool ids from the CLI itself.
63
+
64
+ ## 3. Validate before writing generated files
65
+
66
+ ```bash
67
+ npx --yes pluribus-context@latest validate
68
+ ```
69
+
70
+ Validation checks for missing required sections, duplicate top-level sections, broken imports, and unsupported tool names.
71
+
72
+ ## 4. Preview generated outputs
73
+
74
+ ```bash
75
+ npx --yes pluribus-context@latest sync --dry-run
76
+ ```
77
+
78
+ You should see previews for the selected tools. For the command above, Pluribus targets:
79
+
80
+ | Tool | Generated file |
81
+ | --- | --- |
82
+ | Claude Code | `CLAUDE.md` |
83
+ | Cursor | `.cursorrules` |
84
+ | GitHub Copilot | `.github/copilot-instructions.md` |
85
+
86
+ ## 5. Audit before writing or in CI
87
+
88
+ ```bash
89
+ npx --yes pluribus-context@latest audit
90
+ ```
91
+
92
+ Before generated files exist, audit reports them as missing. After sync, it becomes a read-only drift check. Use `--strict` in CI when you want missing or drifted generated files to fail the build.
93
+
94
+ ## 6. Write the files when the preview looks right
95
+
96
+ ```bash
97
+ npx --yes pluribus-context@latest sync
98
+ ```
99
+
100
+ Commit `pluribus.md` as the source of truth. Commit generated files if your team wants each tool to work immediately after clone; otherwise regenerate them in local setup/CI.
101
+
102
+ ## 7. Keep files fresh while editing
103
+
104
+ ```bash
105
+ npx --yes pluribus-context@latest watch
106
+ ```
107
+
108
+ `watch` re-runs `sync` after edits to `pluribus.md` with a small debounce, so tool-specific files do not drift during normal work.
109
+
110
+ ## Using shared or org-level context
111
+
112
+ For reusable team conventions, import shared Markdown before local project sections:
113
+
114
+ ```markdown
115
+ # @import ./shared/team-context.md
116
+ # @import ./shared/security-constraints.md
117
+
118
+ # Identity
119
+ I am Ana, building Conduit — a Node.js job runner.
120
+ ```
121
+
122
+ Local sections apply after imports, so project-specific context can override shared context. See [Composable Contexts](composable-contexts.md) for local and remote import details.
123
+
124
+ ## Common friction
125
+
126
+ - **`pluribus` command not found after `npx`:** use `npx --yes pluribus-context@latest ...` for one-off runs, or install globally with `npm install -g pluribus-context@latest` and then run `pluribus ...`.
127
+ - **Remote imports fail without `--update-imports`:** network refresh is explicit. Run `npx --yes pluribus-context@latest sync --update-imports` to refresh and pin remote content, then normal `sync` uses the lock/cache offline.
128
+ - **Private GitHub imports fail:** set `GH_TOKEN`/`GITHUB_TOKEN` or log in with `gh auth login`. Pluribus never writes tokens to `pluribus.lock.json` or cache files.
129
+ - **Generated files look wrong:** edit `pluribus.md`, run `validate`, then use `audit` and `sync --dry-run` before writing files.
130
+
131
+ ## Feedback wanted
132
+
133
+ If the quickstart fails or the generated files do not match how your team actually uses AI tools, open a [quickstart feedback issue](https://github.com/caioribeiroclw-pixel/pluribus/issues/new?template=quickstart-feedback.yml) with:
134
+
135
+ 1. the command you ran;
136
+ 2. which tool file felt wrong;
137
+ 3. what you expected Pluribus to generate instead.
138
+
139
+ If the read-only audit was the confusing step, open an [audit feedback issue](https://github.com/caioribeiroclw-pixel/pluribus/issues/new?template=audit-feedback.yml) instead and summarize what it missed, flagged, or made unclear.
140
+
141
+ That feedback is more useful than generic feature requests because it shows where the context format or adapters are not matching real workflows.
@@ -17,13 +17,23 @@ This checklist keeps Pluribus releases reproducible and avoids accidentally publ
17
17
  - Update `CHANGELOG.md` with user-facing changes, migration notes, and verification commands.
18
18
  - Confirm README install commands use the package name `pluribus-context` and that the binary remains `pluribus`.
19
19
 
20
- ## 2. Local checks
20
+ ## 2. Local release gate
21
21
 
22
- Run from the repo root:
22
+ Run the consolidated release gate from the repo root:
23
23
 
24
24
  ```bash
25
+ npm run release:verify
26
+ ```
27
+
28
+ The verifier requires a clean `main...origin/main` checkout, reports the local package version versus npm latest, classifies the npm auth state from `npm whoami` (logged in, missing auth, or invalid/stale token), smokes the currently published npm package when one exists, then runs `npm test`, `git diff --check`, `npm run release:smoke`, `npm pack --dry-run`, and `npm publish --dry-run`. If npm auth is missing or stale, the verifier still proves the package is technically ready and names the auth/2FA action left before publish.
29
+
30
+ If you need to debug an individual step, run it directly:
31
+
32
+ ```bash
33
+ npm run published:smoke
25
34
  npm test
26
35
  git diff --check
36
+ npm run release:smoke
27
37
  npm pack --dry-run
28
38
  npm publish --dry-run
29
39
  ```
@@ -47,30 +57,54 @@ Before publishing, install the exact tarball that `npm pack` creates into a temp
47
57
  npm run release:smoke
48
58
  ```
49
59
 
50
- The script packs the current checkout, installs that tarball into a temporary project, runs `pluribus --version`, `--help`, `init`, `validate`, `sync --dry-run`, and a real `sync`, then checks that generated output includes the package version from `package.json`. It also removes the temporary project and generated tarball on exit.
60
+ The script packs the current checkout, installs that tarball into a temporary project, runs `pluribus --version`, `--help`, `init`, `validate`, `audit`, `sync --dry-run`, a real `sync`, and `audit --strict`, then checks that generated output includes the package version from `package.json`. It also removes the temporary project and generated tarball on exit.
51
61
 
52
62
  Expected results:
53
63
 
54
64
  - `pluribus --version` matches `package.json`.
55
65
  - `pluribus --help` shows the same version.
56
66
  - generated files mention the same Pluribus version.
57
- - `validate` and `sync --dry-run` work from the installed package, not the repo checkout.
67
+ - `validate`, `audit`, and `sync --dry-run` work from the installed package, not the repo checkout.
68
+ - `audit --strict` passes after generated files are written.
58
69
 
59
70
  ## 4. Publish
60
71
 
61
- Only publish after npm auth is active and the dry run is clean:
72
+ Only publish after npm auth is active and the dry run is clean. If `npm run release:verify` reports an invalid/stale token, clear it with `npm logout` before logging in again or using a fresh temporary publish token; do not paste tokens into the repo, docs, logs, or shell history.
73
+
74
+ Use the guarded publish command so the same release gate runs immediately before publishing, then the published npm smoke runs immediately after:
62
75
 
63
76
  ```bash
64
- npm publish --access public
77
+ npm run release:publish
65
78
  ```
66
79
 
67
- Then verify:
80
+ For a no-publish rehearsal, run:
81
+
82
+ ```bash
83
+ npm run release:publish -- --dry-run
84
+ ```
85
+
86
+ This rehearsal runs the full release verifier and confirms `HEAD` matches the local Git tag `v<package.json version>` before the OTP window. Use it before asking for or entering a live OTP so tag drift is caught without touching npm.
87
+
88
+ If npm asks for OTP, use a short live OTP window and pass it through npm's normal `--otp` flag; do not paste tokens into the repo, docs, logs, or shell history. Avoid raw `_authToken`/token arguments — the guarded script refuses credential-like CLI arguments.
89
+
90
+ ```bash
91
+ npm run release:publish -- --otp <one-time-code>
92
+ ```
93
+
94
+ If a GitHub release or tag was created before npm publish succeeds, pause distribution. If `HEAD` still matches `v<package.json version>`, finish the npm publish with OTP/token and verify that npm `latest` matches the tagged version before posting publicly. If commits landed after the GitHub release/tag while npm was blocked, do **not** publish the same version from the newer commit. Reconcile first by publishing from the tagged commit, cutting a new patch version/tag, or intentionally updating the GitHub release/tag, then rerun the guarded publish.
95
+
96
+ Before any real npm publish, `release:publish` verifies that `HEAD` matches `v<package.json version>`; the dry-run rehearsal verifies the same alignment without publishing.
97
+
98
+ Then verify the registry entry and the install path users will see:
68
99
 
69
100
  ```bash
70
101
  npm view pluribus-context version dist.tarball
71
- npx pluribus-context --help
102
+ npm view pluribus-context readme | grep -E 'npx --yes pluribus-context|60-second smoke test|Published to npm'
103
+ npm run published:smoke
72
104
  ```
73
105
 
106
+ The npm README is captured at publish time. If the GitHub README changed after the previous publish, confirm the npm package page no longer contains stale pre-release markers such as `once published` before starting distribution.
107
+
74
108
  ## 5. GitHub release
75
109
 
76
110
  After npm publish succeeds:
@@ -0,0 +1,95 @@
1
+ # When to use Pluribus
2
+
3
+ Pluribus is for keeping intentional AI context in sync across tools.
4
+
5
+ Use it when you already have, or expect to have, more than one context surface for the same project:
6
+
7
+ - `CLAUDE.md` for Claude Code
8
+ - `.cursorrules` or `.cursor/rules/*.mdc` for Cursor
9
+ - `.github/copilot-instructions.md` for GitHub Copilot
10
+ - `AGENTS.md` for OpenClaw or Codex-style agents
11
+ - Windsurf, Continue, Zed, or other workspace rule files
12
+
13
+ The core bet is simple: if multiple AI tools need the same project facts, conventions, and constraints, those facts should be reviewed once and generated many times.
14
+
15
+ ## Use Pluribus if
16
+
17
+ - You use two or more AI coding tools in the same repo.
18
+ - You maintain project conventions by copy-pasting between context files.
19
+ - You want context changes to be visible in git review.
20
+ - You want a dry-run before overwriting generated tool files.
21
+ - Your team has shared conventions that should apply across many repos.
22
+ - You want remote/shared context pinned with a lockfile before syncing.
23
+
24
+ ## You may not need it if
25
+
26
+ - You only use one AI tool and one context file.
27
+ - Your context is entirely tool-specific and should not be shared.
28
+ - You need chat memory, retrieval, vector search, or agent orchestration.
29
+ - You want a one-time migration and do not plan to keep files synchronized.
30
+
31
+ ## Pluribus vs rules sync tools
32
+
33
+ There are useful adjacent tools for applying or managing AI rules across editors and agents. If you are comparing packages such as Ruler, vibe-rules, or ai-rules-sync, start with the workflow you want rather than the package name.
34
+
35
+ Pluribus is a good fit when the source of truth should be reviewed as project context in git, regenerated into several tool-native files, and audited later for drift. It is less useful when you only need to push prompts into one tool's own rules format.
36
+
37
+ | Need | Better fit |
38
+ |---|---|
39
+ | Apply the same simple rules to several coding agents with minimal ceremony | A rules sync tool may be enough |
40
+ | Manage Cursor/Windsurf prompt snippets without adopting a shared source file | A tool-native rules manager may be enough |
41
+ | Keep Claude, Cursor, Copilot, OpenClaw, Windsurf, Continue, Zed, and AGENTS-style context aligned over time | Pluribus |
42
+ | Review shared project context in PRs and regenerate generated files | Pluribus |
43
+ | Share org/team conventions across repos with pinned imports and a lockfile | Pluribus |
44
+ | Fail CI when generated context files drift from the reviewed source | Pluribus `audit --strict` |
45
+
46
+ ## Pluribus vs one-way converters
47
+
48
+ A one-way converter is useful when you want to translate one tool's rule format into another tool's file once.
49
+
50
+ Pluribus is different: it treats `pluribus.md` as the source of truth and regenerates the tool files from that source whenever the context changes.
51
+
52
+ | Need | Better fit |
53
+ |---|---|
54
+ | Convert existing Cursor rules into `CLAUDE.md` once | One-way converter |
55
+ | Keep Claude, Cursor, Copilot, OpenClaw, Windsurf, Continue, and Zed context aligned over time | Pluribus |
56
+ | Preserve tool-specific metadata exactly as-is | Tool-native files or a converter |
57
+ | Review shared project context in PRs and regenerate generated files | Pluribus |
58
+ | Share org/team conventions across repos with pinned imports | Pluribus |
59
+
60
+ ## Pluribus vs context linters and drift auditors
61
+
62
+ A context linter or drift auditor is useful when you want to inspect existing files and catch stale paths, dead commands, oversized instructions, risky content, or conflicting guidance.
63
+
64
+ Pluribus now includes a small read-only `pluribus audit` command, but its main job is not to be the deepest possible linter. Its main job is to prevent one specific class of drift: generated AI context files no longer matching the intentional source in `pluribus.md`.
65
+
66
+ Use both layers when they help:
67
+
68
+ | Need | Better fit |
69
+ |---|---|
70
+ | Find dead file references, stale commands, token bloat, or unsafe instructions inside context files | Dedicated context linter |
71
+ | Check whether `CLAUDE.md`, `.cursorrules`, Copilot instructions, and `AGENTS.md` match the same source of truth | `pluribus audit` |
72
+ | Auto-slim or rewrite arbitrary existing context files | Dedicated linter/fixer |
73
+ | Diagnose why a correct `CLAUDE.md` is ignored after compaction or summarization | Tool-specific runtime diagnostics/hooks |
74
+ | Generate aligned context files after review | `pluribus sync` |
75
+ | Enforce “generated files are up to date” in CI | `pluribus audit --strict` |
76
+
77
+ ## Recommended migration path
78
+
79
+ 1. Inventory your existing context files.
80
+ 2. Move shared project facts and conventions into `pluribus.md`.
81
+ 3. Keep genuinely tool-specific behavior in tool-native files or custom skills.
82
+ 4. Run `pluribus sync --dry-run` and inspect the output.
83
+ 5. Commit `pluribus.md`, generated files, and `pluribus.lock.json` if remote imports are used.
84
+
85
+ For the step-by-step version, see [Migrate Existing AI Context Files](migrate-existing-context.md).
86
+
87
+ ## Mental model
88
+
89
+ Pluribus is not trying to make every AI tool identical.
90
+
91
+ It is trying to keep the stable, intentional parts of your project context from drifting while still letting each tool keep its own interface and strengths.
92
+
93
+ That means Pluribus handles file-level alignment. Runtime precedence problems — for example, a tool loading a compacted summary above a correct context file — are real, but they belong in the tool's load-order, hooks, or context-priority settings rather than in Pluribus' sync layer.
94
+
95
+ For a sharper split of the overloaded term "context drift", see the [Context Drift Taxonomy](context-drift-taxonomy.md).
@@ -0,0 +1,30 @@
1
+ # Cursor Rules — generated by Pluribus 0.3.3 on 2026-05-13
2
+ # Source: pluribus.md
3
+ # Do not edit manually.
4
+
5
+
6
+ ## Project
7
+ I am Mina, maintaining **RelayKit** — a small TypeScript SDK for webhook delivery.
8
+
9
+
10
+
11
+ ## Stack
12
+ - TypeScript 5.4
13
+ - Node.js 22 LTS
14
+ - Node's built-in test runner
15
+
16
+
17
+ ## Conventions
18
+ - Prefer explicit return types for exported SDK functions
19
+ - Keep public API examples copy-pasteable
20
+ - Use small modules with clear error boundaries
21
+
22
+ ## Goals
23
+ 1. Keep webhook retries deterministic
24
+ 2. Preserve backwards compatibility for public SDK APIs
25
+ 3. Make production failure modes visible in logs and tests
26
+
27
+ ## Constraints
28
+ - Do not add external queue infrastructure
29
+ - Do not break existing webhook payload shapes
30
+ - Do not hide delivery failures behind silent retries
@@ -0,0 +1,28 @@
1
+ <!-- Generated by Pluribus 0.3.3 on 2026-05-13 — do not edit manually -->
2
+ <!-- Source: pluribus.md -->
3
+
4
+
5
+ ## Project
6
+ I am Mina, maintaining **RelayKit** — a small TypeScript SDK for webhook delivery.
7
+
8
+
9
+ ## Stack
10
+ - TypeScript 5.4
11
+ - Node.js 22 LTS
12
+ - Node's built-in test runner
13
+
14
+ ## Conventions
15
+ - Prefer explicit return types for exported SDK functions
16
+ - Keep public API examples copy-pasteable
17
+ - Use small modules with clear error boundaries
18
+
19
+ ## Constraints
20
+ - Do not add external queue infrastructure
21
+ - Do not break existing webhook payload shapes
22
+ - Do not hide delivery failures behind silent retries
23
+
24
+
25
+ ## Goals
26
+ 1. Keep webhook retries deterministic
27
+ 2. Preserve backwards compatibility for public SDK APIs
28
+ 3. Make production failure modes visible in logs and tests
@@ -0,0 +1,55 @@
1
+ <!-- Generated by Pluribus 0.3.3 on 2026-05-13 — do not edit manually -->
2
+ <!-- Source: pluribus.md -->
3
+
4
+ # Project Context for Claude
5
+
6
+ ## Identity
7
+
8
+ I am Mina, maintaining **RelayKit** — a small TypeScript SDK for webhook delivery.
9
+
10
+ ---
11
+
12
+ ## Tech Stack
13
+
14
+ - TypeScript 5.4
15
+ - Node.js 20 LTS
16
+ - Node's built-in test runner
17
+
18
+ ---
19
+
20
+ ## Conventions
21
+
22
+ - Prefer explicit return types for exported SDK functions
23
+ - Keep public API examples copy-pasteable
24
+ - Use small modules with clear error boundaries
25
+
26
+ ---
27
+
28
+ ## Goals
29
+
30
+ 1. Keep webhook retries deterministic
31
+ 2. Preserve backwards compatibility for public SDK APIs
32
+ 3. Make production failure modes visible in logs and tests
33
+
34
+ ---
35
+
36
+ ## Constraints
37
+
38
+ > These are non-negotiable. Do not deviate from these under any circumstances.
39
+
40
+ - Do not add external queue infrastructure
41
+ - Do not break existing webhook payload shapes
42
+ - Do not hide delivery failures behind silent retries
43
+
44
+
45
+
46
+
47
+
48
+
49
+ ---
50
+
51
+ ## Workflow
52
+
53
+ - Run `npm test` before committing
54
+ - Keep generated AI context files in sync with `pluribus.md`
55
+ - Review context changes like code changes
@@ -0,0 +1,31 @@
1
+ # Context drift audit example
2
+
3
+ This fixture shows the safest first Pluribus workflow for an existing repo: audit generated AI context before writing anything.
4
+
5
+ `pluribus.md` is the source of truth. `CLAUDE.md` is intentionally drifted: it says `Node.js 20 LTS` while `pluribus.md` says `Node.js 22 LTS`. Cursor and Copilot outputs are current.
6
+
7
+ Run from this directory:
8
+
9
+ ```bash
10
+ npx --yes --package ../.. pluribus audit --strict
11
+ ```
12
+
13
+ Expected result:
14
+
15
+ ```text
16
+ ⚠️ [claude] CLAUDE.md differs from generated output
17
+ ✅ [cursor] .cursorrules is current
18
+ ✅ [copilot] .github/copilot-instructions.md is current
19
+ ```
20
+
21
+ Preview the fix without writing files:
22
+
23
+ ```bash
24
+ npx --yes --package ../.. pluribus sync --dry-run
25
+ ```
26
+
27
+ Then apply it when the diff is acceptable:
28
+
29
+ ```bash
30
+ npx --yes --package ../.. pluribus sync
31
+ ```
@@ -0,0 +1,35 @@
1
+ <!-- pluribus:tools: claude,cursor,copilot -->
2
+
3
+ # Identity
4
+
5
+ I am Mina, maintaining **RelayKit** — a small TypeScript SDK for webhook delivery.
6
+
7
+ # Stack
8
+
9
+ - TypeScript 5.4
10
+ - Node.js 22 LTS
11
+ - Node's built-in test runner
12
+
13
+ # Conventions
14
+
15
+ - Prefer explicit return types for exported SDK functions
16
+ - Keep public API examples copy-pasteable
17
+ - Use small modules with clear error boundaries
18
+
19
+ # Goals
20
+
21
+ 1. Keep webhook retries deterministic
22
+ 2. Preserve backwards compatibility for public SDK APIs
23
+ 3. Make production failure modes visible in logs and tests
24
+
25
+ # Constraints
26
+
27
+ - Do not add external queue infrastructure
28
+ - Do not break existing webhook payload shapes
29
+ - Do not hide delivery failures behind silent retries
30
+
31
+ # Workflow
32
+
33
+ - Run `npm test` before committing
34
+ - Keep generated AI context files in sync with `pluribus.md`
35
+ - Review context changes like code changes
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env sh
2
+ set -eu
3
+
4
+ # Keep generated AI context files aligned with pluribus.md before committing.
5
+ # Install by copying this file to .git/hooks/pre-commit and running chmod +x.
6
+
7
+ if [ ! -f pluribus.md ]; then
8
+ exit 0
9
+ fi
10
+
11
+ npx --yes pluribus-context@latest audit --strict
@@ -0,0 +1,26 @@
1
+ name: Pluribus context audit
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - main
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ audit:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - name: Checkout
17
+ uses: actions/checkout@v6
18
+
19
+ - name: Setup Node.js
20
+ uses: actions/setup-node@v6
21
+ with:
22
+ node-version: 22.x
23
+
24
+ - name: Audit AI context drift
25
+ # Tagged v0.3.3 path until pluribus-context@0.3.3 is published to npm.
26
+ run: npx --yes --package github:caioribeiroclw-pixel/pluribus#v0.3.3 pluribus audit --ci
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pluribus-context",
3
- "version": "0.2.0",
4
- "description": "Intentional context across every AI tool you use.",
3
+ "version": "0.3.3",
4
+ "description": "Sync intentional AI context and rules across Claude Code, Cursor, Copilot, OpenClaw, Windsurf, Continue, and Zed.",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/caioribeiroclw-pixel/pluribus#readme",
7
7
  "repository": {
@@ -20,29 +20,44 @@
20
20
  "src/",
21
21
  "docs/",
22
22
  "spec/",
23
+ "schemas/",
23
24
  "examples/",
24
25
  "CHANGELOG.md"
25
26
  ],
26
27
  "scripts": {
27
28
  "start": "node bin/pluribus.js",
28
29
  "test": "node --test",
29
- "release:smoke": "node scripts/release-smoke.js"
30
+ "release:smoke": "node scripts/release-smoke.js",
31
+ "published:smoke": "node scripts/published-smoke.js",
32
+ "release:verify": "node scripts/release-verify.js",
33
+ "release:publish": "node scripts/release-publish.js"
30
34
  },
31
35
  "keywords": [
36
+ "agent-rules",
37
+ "agents",
38
+ "agents-md",
32
39
  "ai",
33
- "cli",
34
- "context",
35
- "context-engineering",
40
+ "ai-coding-agents",
41
+ "ai-context",
36
42
  "ai-tools",
43
+ "aider",
37
44
  "claude",
38
45
  "claude-code",
39
- "cursor",
40
- "copilot",
41
- "windsurf",
46
+ "cli",
47
+ "codex",
48
+ "context",
49
+ "context-drift",
50
+ "context-engineering",
42
51
  "continue",
43
- "zed",
52
+ "copilot",
53
+ "cursor",
54
+ "cursor-rules",
55
+ "developer-tools",
56
+ "drift-detection",
44
57
  "openclaw",
45
- "developer-tools"
58
+ "rules",
59
+ "windsurf",
60
+ "zed"
46
61
  ],
47
62
  "author": "Caio Ribeiro",
48
63
  "license": "MIT",