Skip to content

Commit 897d54b

Browse files
authored
docs: LSP and MCP are new packages, not imports of third-party code (#75)
* docs: language server and MCP are written from scratch, not imported from third-party packages Refs #17, #20, #21 * docs: name the language server package @puruslang/lsp
1 parent 2aa21b6 commit 897d54b

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

‎docs/adr/0001-monorepo.md‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,17 @@ Move the language-agnostic TypeScript/JavaScript tooling into `puruslang/purus`
1616
|---|---|
1717
| `@puruslang/linter` | `packages/linter` |
1818
| `@puruslang/prettier-plugin-purus` | `packages/prettier-plugin` |
19-
| language server | `packages/language-server` |
20-
| MCP server | `packages/mcp` |
19+
| language server (new, written in this repository) `@puruslang/lsp` | `packages/lsp` |
20+
| MCP server (new, written in this repository) `@puruslang/mcp` | `packages/mcp` |
2121

2222
Keep these as separate repositories: `docs`, `playground`, `assets`, `.github`, `get-started`, and every editor integration (`vscode-extension`, the future `vim-purus` and `tree-sitter-purus`). Editor integrations consume the monorepo through published npm packages. Plugin managers, nvim-treesitter, Linguist and the Marketplace expect a repository root, and editor release cadence differs from the compiler's.
2323

2424
The compiler stays at the repository root for now. Moving it to `compiler/` changes `moon` paths and is a separate decision.
2525

26+
## Third-party code
27+
28+
The existing `purus-lsp` and `purus-mcp` packages are third-party (not owned by this project, and without a license upstream). They are not imported, forked into this repository or published under their npm names. The language server and the MCP server are written from scratch as `@puruslang/lsp` and `@puruslang/mcp` (issues #20 and #21), without copying code from those projects.
29+
2630
## Rules
2731

2832
- Versions are independent per package (semver). Tags are prefixed with the package name (`linter-v1.2.0`); the compiler keeps `vX.Y.Z`.

0 commit comments

Comments
 (0)