Nimblesite / Nimblesite/SharpLsp
feat: update Shipwright repo fixtures for Forge after all deployment issues are resolved
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 132
- Forks
- 5
- Avg merge
- 6h 24m
- Merged PRs (30d)
- 27
Description
Context
The Shipwright repo (`github.com/Nimblesite/Shipwright`) maintains canonical fixtures for every downstream product. After all Forge deployment issues are resolved (#26–#32), the Shipwright fixtures for Forge must be updated to reflect the final state.
This is the final step in the Shipwright adoption checklist (step 7 in `docs/agents/product-repo-adoption-guide.md`).
What to update in the Shipwright repo
1. `fixtures/manifests/forge.json`
Sync with the final `shipwright.json` from the Forge repo. Key changes expected:
- `forge-lsp` sources: add `bundled` before `path`
- `forge-lsp` bundled block: `"bundlePath": "bin/${platform}/forge-lsp${exe}"`, `"perPlatformArtifact": true`
- `vscode` host: change `"artifact": "vsix-fat"` → `"vsix-per-platform"`
- VS Code setting names: align with the actual `package.json` settings (`forge.lspPath`, etc.)
2. `fixtures/version-outputs/rust/forge-lsp.txt`
Update to match the exact output of `forge-lsp --version` after the `shipwright` crate is integrated (issue #26).
3. `fixtures/version-outputs/rust/forge-lsp.json`
Update to the JSON output of `forge-lsp --version --json`. Must conform to `schemas/version-manifest.schema.json`.
4. `fixtures/version-outputs/dotnet/forge-sidecar-csharp.txt` and `.json`
Create or update with the actual output from `forge-sidecar-csharp --version` and `--version --json` (issue #31).
5. `fixtures/version-outputs/dotnet/forge-sidecar-fsharp.txt` and `.json` (new)
Create with the output from `forge-sidecar-fsharp --version` and `--version --json`.
Verification
After updating fixtures, run in the Shipwright repo:
```bash
make test
```
This runs `tests/fixtures.test.mjs` which validates all manifests and version output fixtures. It must pass before the issue is closed.
Dependencies
All of these must be done first:
- Issue #26 (forge-lsp --version --json)
- Issue #28 (rename to shipwright.json, fix settings)
- Issue #29 (per-platform VSIX, bundled source)
- Issue #31 (sidecar --version)
Acceptance criteria
- `make test` passes in the Shipwright repo with updated Forge fixtures
- `fixtures/manifests/forge.json` validates cleanly against `schemas/deployment-toolkit.schema.json`
- All five version-output fixture files are present and match actual binary output
- No fixture is left in a stale state from the pre-Shipwright deployment system
Spec references
Step 7 of `docs/agents/product-repo-adoption-guide.md` (Shipwright repo)
`SWR-GATE-*` in `docs/specs/acceptance-gates.md` (Shipwright repo)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Work in the Shipwright repo, updating fixtures/manifests/forge.json and the listed fixtures/version-outputs/rust and fixtures/version-outputs/dotnet files. First review docs/agents/product-repo-adoption-guide.md step 7 and the dependency issues, then run make test, which exercises tests/fixtures.test.mjs. Done means all five version-output fixtures match the actual commands and the manifest and schema validations pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, fsharp, rust, typescript
- Domain
- testing, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100