Skip to content

Commit 4214a89

Browse files
fix(setup): publish unscoped setup package (#6886)
* fix(setup): publish unscoped setup package * fix(setup): strip renamed status command
1 parent f6a9f0d commit 4214a89

31 files changed

Lines changed: 91 additions & 91 deletions

.agents/skills/validate-integration/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ block's generated `oauthServiceId` through the shared deployment capability cata
300300
- [ ] Every field listed by that capability exists in `apps/sim/lib/core/config/env.ts`
301301
- [ ] Every capability field has the correct `text` or `secret` entry in `OAUTH_CLIENT_SETUP_FIELDS`; no CLI naming heuristic is required
302302
- [ ] Shared Google/Microsoft service IDs resolve to their provider capability rather than duplicate entries
303-
- [ ] `npx @sim/setup add integration <capabilityId>` is the command emitted by availability; the CLI has only the exhaustive input-mode projection, not a second runtime provider definition
303+
- [ ] `npx sim-setup add integration <capabilityId>` is the command emitted by availability; the CLI has only the exhaustive input-mode projection, not a second runtime provider definition
304304
- [ ] If the canonical OAuth service declares `serviceAccountProviderId`,
305305
the generated `SERVICE_ACCOUNT_PROVIDER_BY_OAUTH_SERVICE_ID[serviceId]` has the same provider ID
306306
- [ ] The service-account `deploymentRequirement` matches how that credential actually works:

.github/workflows/publish-sim-setup.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,8 @@ jobs:
155155
env:
156156
VERSION: ${{ steps.release.outputs.version }}
157157
run: |
158-
if bun pm view "@sim/setup@$VERSION" version > /dev/null 2>&1; then
159-
echo "@sim/setup@$VERSION is already published. Bump packages/sim-setup/package.json before releasing another build." >&2
158+
if bun pm view "sim-setup@$VERSION" version > /dev/null 2>&1; then
159+
echo "sim-setup@$VERSION is already published. Bump packages/sim-setup/package.json before releasing another build." >&2
160160
exit 1
161161
fi
162162
@@ -171,4 +171,4 @@ jobs:
171171
env:
172172
VERSION: ${{ steps.release.outputs.version }}
173173
NPM_TAG: ${{ steps.release.outputs.tag }}
174-
run: echo "Published @sim/setup@$VERSION with the '$NPM_TAG' tag."
174+
run: echo "Published sim-setup@$VERSION with the '$NPM_TAG' tag."

README.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
### Self-hosted
2828

2929
```bash
30-
npx @sim/setup
30+
npx sim-setup
3131
```
3232

3333
Open [http://localhost:3000](http://localhost:3000)
@@ -72,7 +72,7 @@ Open [http://localhost:3000](http://localhost:3000)
7272

7373
**Requirements:** [Node.js 20+](https://nodejs.org/) and [Docker](https://www.docker.com/).
7474

75-
`npx @sim/setup` is an interactive wizard that creates a small `sim/` deployment directory, provisions the database, generates secrets, writes `.env`, connects a Chat API key, and starts the published Sim images with Docker Compose. It does not clone the repository.
75+
`npx sim-setup` is an interactive wizard that creates a small `sim/` deployment directory, provisions the database, generates secrets, writes `.env`, connects a Chat API key, and starts the published Sim images with Docker Compose. It does not clone the repository.
7676

7777
When it finishes, open [http://localhost:3000](http://localhost:3000).
7878

@@ -81,32 +81,32 @@ Inside a cloned Sim repository, run `bun run sim-setup` to unlock the source-onl
8181
Reconfigure an optional capability without rerunning the full wizard:
8282

8383
```bash
84-
npx @sim/setup config
85-
npx @sim/setup add email
86-
npx @sim/setup add storage
87-
npx @sim/setup add sandbox
88-
npx @sim/setup add jobs
89-
npx @sim/setup add cache
90-
npx @sim/setup add knowledge
91-
npx @sim/setup add llm
92-
npx @sim/setup add integration slack
84+
npx sim-setup config
85+
npx sim-setup add email
86+
npx sim-setup add storage
87+
npx sim-setup add sandbox
88+
npx sim-setup add jobs
89+
npx sim-setup add cache
90+
npx sim-setup add knowledge
91+
npx sim-setup add llm
92+
npx sim-setup add integration slack
9393
```
9494

95-
`npx @sim/setup config` detects the effective local-dev, Docker Compose, or current-context
95+
`npx sim-setup config` detects the effective local-dev, Docker Compose, or current-context
9696
Helm configuration and reports configured, missing, or invalid capabilities and OAuth
97-
integrations without printing credential values. This is separate from `npx @sim/setup status`,
97+
integrations without printing credential values. This is separate from `npx sim-setup status`,
9898
which reports whether installed services are running and healthy.
9999

100100
Manage your install from its directory:
101101

102102
```bash
103-
npx @sim/setup start | stop | restart # bring your install up / down / cycle
104-
npx @sim/setup update # pull and apply Compose images
105-
npx @sim/setup status # what's installed and healthy
106-
npx @sim/setup logs # follow logs
107-
npx @sim/setup doctor # diagnose configuration problems
108-
npx @sim/setup down # remove containers (data kept)
109-
npx @sim/setup reset # archive .env and wipe managed data
103+
npx sim-setup start | stop | restart # bring your install up / down / cycle
104+
npx sim-setup update # pull and apply Compose images
105+
npx sim-setup status # what's installed and healthy
106+
npx sim-setup logs # follow logs
107+
npx sim-setup doctor # diagnose configuration problems
108+
npx sim-setup down # remove containers (data kept)
109+
npx sim-setup reset # archive .env and wipe managed data
110110
```
111111

112112
The setup package detects how you're running and acts accordingly. Use `--dir <path>` to create or manage a deployment somewhere other than `./sim`.
@@ -115,7 +115,7 @@ Sim also supports local models via [Ollama](https://ollama.ai) and [vLLM](https:
115115

116116
## Chat API Keys
117117

118-
Chat is a Sim-managed service. `npx @sim/setup` connects a Chat API key for you — sign in when it opens your browser and the key is stored automatically. To view, create, or revoke keys later, go to [sim.ai/selfhost/settings/chat-keys](https://sim.ai/selfhost/settings/chat-keys).
118+
Chat is a Sim-managed service. `npx sim-setup` connects a Chat API key for you — sign in when it opens your browser and the key is stored automatically. To view, create, or revoke keys later, go to [sim.ai/selfhost/settings/chat-keys](https://sim.ai/selfhost/settings/chat-keys).
119119

120120
## Environment Variables
121121

apps/docs/content/docs/en/platform/self-hosting/docker.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { FAQ } from '@/components/ui/faq'
1010
## Quick Start
1111

1212
```bash
13-
npx @sim/setup
13+
npx sim-setup
1414
```
1515

1616
Open [http://localhost:3000](http://localhost:3000)
@@ -144,7 +144,7 @@ docker compose -f docker-compose.prod.yml logs migrations
144144
docker compose -f docker-compose.prod.yml logs -f cron
145145

146146
# Upgrade: bump SIM_VERSION in .env when pinned, then
147-
npx @sim/setup update
147+
npx sim-setup update
148148
```
149149

150150
<FAQ items={[

apps/docs/content/docs/en/platform/self-hosting/environment-variables.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ See [Observability](/platform/self-hosting/observability).
178178
| Variable | Description |
179179
|----------|-------------|
180180
| `COPILOT_API_KEY` | API key for Chat. Without it the Sim Chat block, scheduled prompt jobs, and Inbox cannot run |
181-
| `NEXT_PUBLIC_CHAT_DISABLED` | Set to `true` to hide the Chat module: the workspace lands on your first workflow, with no chats list, scheduled tasks, or editor Chat panel. Chat is shown when unset; `npx @sim/setup` sets it for you if you skip the chat key |
181+
| `NEXT_PUBLIC_CHAT_DISABLED` | Set to `true` to hide the Chat module: the workspace lands on your first workflow, with no chats list, scheduled tasks, or editor Chat panel. Chat is shown when unset; `npx sim-setup` sets it for you if you skip the chat key |
182182
| `PII_REDACTION` | Redact PII from workflow logs via Data Retention rules; requires the PII service and a cluster-reachable `INTERNAL_API_BASE_URL` |
183183
| `PII_GRANULAR_REDACTION` | Additionally expose the execution-altering redaction stages |
184184
| `DURABLE_SECRET_PROVENANCE_ENFORCED_SURFACES` | Durable stores where a value whose secret provenance was never recorded fails the run instead of logging a warning. `all`, or a comma-separated subset of `memory`, `table-row`, `knowledge`. Unset (nothing enforced) by default |

apps/docs/content/docs/en/platform/self-hosting/upgrades.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,11 @@ kubectl logs -n simstudio deploy/sim-app -c migrations --tail=100
142142
<Tab value="Docker Compose">
143143

144144
```bash
145-
npx @sim/setup update
145+
npx sim-setup update
146146
docker compose -f docker-compose.prod.yml logs migrations
147147
```
148148

149-
`npx @sim/setup update` pulls the versions configured by `SIM_VERSION` (or `latest` when it is
149+
`npx sim-setup update` pulls the versions configured by `SIM_VERSION` (or `latest` when it is
150150
unset), recreates the changed services, and keeps data volumes. It is equivalent to running
151151
`docker compose pull` followed by `docker compose up -d`.
152152

apps/sim/lib/core/config/env-capabilities.server.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,21 @@ describe('server environment capabilities', () => {
3131
expect(inspectConfiguredOAuthClient('slack')).toEqual({
3232
state: 'partial',
3333
missingFields: ['SLACK_CLIENT_SECRET'],
34-
setupCommand: 'npx @sim/setup add integration slack',
34+
setupCommand: 'npx sim-setup add integration slack',
3535
})
3636
})
3737

3838
it('fails fast when an OAuth client is absent', () => {
3939
expect(() => requireConfiguredOAuthClient('shopify')).toThrow(
40-
'OAuth client shopify is not configured. Run npx @sim/setup add integration shopify.'
40+
'OAuth client shopify is not configured. Run npx sim-setup add integration shopify.'
4141
)
4242
})
4343

4444
it('fails fast when an OAuth client is partially configured', () => {
4545
setEnv({ SLACK_CLIENT_ID: 'slack-client' })
4646

4747
expect(() => requireConfiguredOAuthClient('slack')).toThrow(
48-
'OAuth client slack is partially configured — missing SLACK_CLIENT_SECRET. Run npx @sim/setup add integration slack.'
48+
'OAuth client slack is partially configured — missing SLACK_CLIENT_SECRET. Run npx sim-setup add integration slack.'
4949
)
5050
})
5151

apps/sim/lib/core/config/env-flags.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ const sandboxProvider = inspectCapability(SANDBOX_CAPABILITY, env).providerId
411411
*
412412
* The browser cannot inspect provider credentials, so
413413
* `NEXT_PUBLIC_SANDBOXES_ENABLED` is its readiness projection. Set the public
414-
* value only after this server-side check succeeds; `npx @sim/setup doctor`
414+
* value only after this server-side check succeeds; `npx sim-setup doctor`
415415
* reports mismatches in either direction.
416416
*/
417417
export const isRemoteSandboxEnabled =

apps/sim/lib/integrations/availability.server.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ describe('integration availability', () => {
5050
oauthAvailable: true,
5151
serviceAccountAvailable: false,
5252
missingFields: [],
53-
setupCommand: 'npx @sim/setup add integration slack',
53+
setupCommand: 'npx sim-setup add integration slack',
5454
})
5555
})
5656

@@ -60,7 +60,7 @@ describe('integration availability', () => {
6060
oauthAvailable: false,
6161
serviceAccountAvailable: true,
6262
missingFields: ['NOTION_CLIENT_ID', 'NOTION_CLIENT_SECRET'],
63-
setupCommand: 'npx @sim/setup add integration notion',
63+
setupCommand: 'npx sim-setup add integration notion',
6464
})
6565
})
6666

@@ -77,7 +77,7 @@ describe('integration availability', () => {
7777
expect(availabilityFor('x')).toMatchObject({
7878
state: 'unavailable',
7979
oauthAvailable: false,
80-
setupCommand: 'npx @sim/setup add integration x',
80+
setupCommand: 'npx sim-setup add integration x',
8181
})
8282
})
8383

@@ -87,7 +87,7 @@ describe('integration availability', () => {
8787
oauthAvailable: false,
8888
serviceAccountAvailable: false,
8989
missingFields: ['SLACK_CLIENT_SECRET'],
90-
setupCommand: 'npx @sim/setup add integration slack',
90+
setupCommand: 'npx sim-setup add integration slack',
9191
})
9292
})
9393

@@ -158,7 +158,7 @@ describe('integration availability', () => {
158158
state: 'unavailable',
159159
serviceAccountAvailable: false,
160160
missingFields: ['TRELLO_API_KEY'],
161-
setupCommand: 'npx @sim/setup add integration trello',
161+
setupCommand: 'npx sim-setup add integration trello',
162162
})
163163
expect(availabilityFor('trello', { TRELLO_API_KEY: 'trello-key' })).toMatchObject({
164164
state: 'ready',
@@ -181,7 +181,7 @@ describe('integration availability', () => {
181181

182182
for (const integration of availability) {
183183
if (!integration.setupCommand) continue
184-
const capabilityId = integration.setupCommand.replace('npx @sim/setup add integration ', '')
184+
const capabilityId = integration.setupCommand.replace('npx sim-setup add integration ', '')
185185
expect(Object.hasOwn(OAUTH_CLIENT_CAPABILITIES, capabilityId)).toBe(true)
186186
}
187187
})

apps/sim/lib/oauth/oauth.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,7 @@ describe('OAuth Token Refresh', () => {
559559
expect(result).toEqual({
560560
ok: false,
561561
message:
562-
'OAuth client monday is partially configured — missing MONDAY_CLIENT_SECRET. Run npx @sim/setup add integration monday.',
562+
'OAuth client monday is partially configured — missing MONDAY_CLIENT_SECRET. Run npx sim-setup add integration monday.',
563563
})
564564
expect(mockFetch).not.toHaveBeenCalled()
565565
})

0 commit comments

Comments
 (0)