Skip to content

Commit 8fbcfd6

Browse files
Merge remote-tracking branch 'origin/main' into codex/rstack-mcp-observability
# Conflicts: # packages/rstack/src/cli/commands.ts # packages/rstack/src/config.ts # packages/rstack/src/fmt/config.ts # packages/rstack/src/rsbuildConfig.ts # packages/rstack/src/rslibConfig.ts # packages/rstack/src/rstestConfig.ts
2 parents de11de3 + 0b77744 commit 8fbcfd6

172 files changed

Lines changed: 3153 additions & 1055 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/migrate-to-rstack-cli/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Use one of the default names: `rstack.config.ts`, `.js`, `.mts`, or `.mjs`.
4141
Use `rs -c <path>` or `rs --config <path>` only for a custom path.
4242

4343
```ts
44-
// Rstack configuration guide: https://rstack.rs/config
44+
// Configuration guide: https://rstack.rs/config
4545
import { define } from 'rstack';
4646

4747
define.app({

.agents/skills/migrate-to-rstack-cli/references/rslint.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ Read this reference when the project uses `@rslint/core`, `rslint.config.*`, `rs
1414
```ts
1515
import { define } from 'rstack';
1616

17-
define.lint(({ js, ts }) => [js.configs.recommended, ts.configs.recommendedTypeChecked]);
17+
define.lint(({ js, ts }) => [
18+
js.configs.recommended,
19+
ts.configs.recommendedTypeChecked,
20+
]);
1821
```
1922

2023
Preserve existing presets and rules during migration.

.github/renovate.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
11
{
22
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3-
"extends": ["github>rstackjs/renovate"]
3+
"extends": ["github>rstackjs/renovate"],
4+
"packageRules": [
5+
{
6+
"description": "Disable TypeScript updates in Svelte and Vue templates until svelte-check, svelte2tsx, and vue-tsc support TypeScript 7",
7+
"matchManagers": ["npm"],
8+
"matchPackageNames": ["typescript"],
9+
"matchFileNames": [
10+
"packages/create-rstack/template-app-svelte-ts/package.json",
11+
"packages/create-rstack/template-app-vue-ts/package.json",
12+
"packages/create-rstack/template-lib-svelte-ts/package.json",
13+
"packages/create-rstack/template-lib-vue-ts/package.json"
14+
],
15+
"enabled": false
16+
}
17+
]
418
}

docs/superpowers/plans/2026-08-12-context-store-foundation.md

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,11 @@ integration, or MCP transport is introduced in this foundation.
4646
```ts
4747
test('resolves a package from its config path without using process cwd', async () => {
4848
const result = await resolveContextWorkspace(configPath);
49-
expect(result).toEqual({ workspaceRoot, packageRoot, packageName: '@repo/lib' });
49+
expect(result).toEqual({
50+
workspaceRoot,
51+
packageRoot,
52+
packageName: '@repo/lib',
53+
});
5054
});
5155

5256
test('falls back to a standalone package root', async () => {
@@ -94,23 +98,38 @@ Expected: PASS with both workspace cases green.
9498

9599
```ts
96100
test('publishes concurrent run snapshots and reads each latest context', async () => {
97-
expect(await writeContextRunManifest(rootPath, run)).toMatchObject({ written: true });
98-
expect(await writeContextSnapshot(rootPath, first)).toMatchObject({ written: true });
99-
expect(await writeContextSnapshot(rootPath, second)).toMatchObject({ written: true });
101+
expect(await writeContextRunManifest(rootPath, run)).toMatchObject({
102+
written: true,
103+
});
104+
expect(await writeContextSnapshot(rootPath, first)).toMatchObject({
105+
written: true,
106+
});
107+
expect(await writeContextSnapshot(rootPath, second)).toMatchObject({
108+
written: true,
109+
});
100110
expect(await readContextWorkspaceStatus(rootPath)).toMatchObject({
101-
runs: [{ run, contexts: [{ context: run.contexts[0], latestSnapshot: second }] }],
111+
runs: [
112+
{ run, contexts: [{ context: run.contexts[0], latestSnapshot: second }] },
113+
],
102114
});
103115
});
104116

105117
test('does not replace an immutable record', async () => {
106-
expect(await writeContextSnapshot(rootPath, first)).toMatchObject({ written: true });
107-
expect(await writeContextSnapshot(rootPath, replacement)).toMatchObject({ written: false });
118+
expect(await writeContextSnapshot(rootPath, first)).toMatchObject({
119+
written: true,
120+
});
121+
expect(await writeContextSnapshot(rootPath, replacement)).toMatchObject({
122+
written: false,
123+
});
108124
});
109125

110126
test('reports malformed completed records without reading temporary files', async () => {
111127
const status = await readContextWorkspaceStatus(rootPath);
112128
expect(status.issues).toEqual([
113-
expect.objectContaining({ code: 'invalid-record', path: expect.any(String) }),
129+
expect.objectContaining({
130+
code: 'invalid-record',
131+
path: expect.any(String),
132+
}),
114133
]);
115134
});
116135
```

docs/superpowers/plans/2026-08-12-passive-build-context.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,12 @@ import { resolveContextCapture } from '../../src/context/config.ts';
7474
test('resolves context capture with explicit opt-out precedence', () => {
7575
expect(resolveContextCapture(undefined, undefined)).toBe('off');
7676
expect(resolveContextCapture({ enabled: true }, undefined)).toBe('metadata');
77-
expect(resolveContextCapture({ enabled: true, capture: 'deep' }, undefined)).toBe('deep');
78-
expect(resolveContextCapture({ enabled: true, capture: 'off' }, '1')).toBe('off');
77+
expect(
78+
resolveContextCapture({ enabled: true, capture: 'deep' }, undefined),
79+
).toBe('deep');
80+
expect(resolveContextCapture({ enabled: true, capture: 'off' }, '1')).toBe(
81+
'off',
82+
);
7983
expect(resolveContextCapture({ enabled: true }, '0')).toBe('off');
8084
expect(resolveContextCapture(undefined, '1')).toBe('metadata');
8185
});
@@ -480,7 +484,11 @@ server.registerTool(
480484
title: 'Rstack project status',
481485
description:
482486
'Return checkout-local Rstack build contexts and their latest completed observations.',
483-
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
487+
annotations: {
488+
readOnlyHint: true,
489+
destructiveHint: false,
490+
openWorldHint: false,
491+
},
484492
},
485493
async () => {
486494
const status = await readProjectStatus(workspaceRoot);

examples/app-react/rstack.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Rstack configuration guide: https://rstack.rs/config
1+
// Configuration guide: https://rstack.rs/config
22
import { define } from 'rstack';
33

44
define.app(async () => {

examples/app-vanilla/rstack.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Rstack configuration guide: https://rstack.rs/config
1+
// Configuration guide: https://rstack.rs/config
22
import { define } from 'rstack';
33

44
define.test({

examples/documentation/rstack.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Rstack configuration guide: https://rstack.rs/config
1+
// Configuration guide: https://rstack.rs/config
22
import { define } from 'rstack';
33
import path from 'node:path';
44

examples/lib-node/rstack.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Rstack configuration guide: https://rstack.rs/config
1+
// Configuration guide: https://rstack.rs/config
22
import { define } from 'rstack';
33

44
define.lib({

examples/lib-react/rstack.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Rstack configuration guide: https://rstack.rs/config
1+
// Configuration guide: https://rstack.rs/config
22
import { define } from 'rstack';
33

44
define.lib(async () => {

0 commit comments

Comments
 (0)