You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+18-17Lines changed: 18 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
4
4
5
5
## Project Overview
6
6
7
-
sourcekit-bazel-bsp is a Build Server Protocol (BSP) implementation that bridges sourcekit-lsp (Swift's official Language Server Protocol) with Bazel-based iOS projects. It enables iOS development in alternative IDEs like Cursor and VSCode by providing language server features without requiring Xcode IDE.
7
+
sourcekit-bazel-bsp is a Build Server Protocol (BSP) implementation that bridges sourcekit-lsp (Swift's official Language Server Protocol) with Bazel-based iOS projects. It enables iOS development in alternative IDEs like Cursor and VSCode by providing language server features without requiring the Xcode IDE.
8
8
9
9
The project itself is built using Swift Package Manager. There is also a `Example/` folder containing a Bazel iOS application demonstrating the tool's functionality.
10
10
@@ -14,6 +14,8 @@ The project itself is built using Swift Package Manager. There is also a `Exampl
14
14
-**Build the project**: `swift build`
15
15
-**Debug build**: `swift build`
16
16
-**Release build**: `swift build -c release`
17
+
-**Lint**: `swift format lint Sources/ Tests/ Example/ --recursive`
18
+
-**Format**: `swift format Sources/ Tests/ Example/ --recursive --in-place`
17
19
-**Run tests**: `swift test`
18
20
19
21
### For the example project
@@ -24,27 +26,26 @@ The project itself is built using Swift Package Manager. There is also a `Exampl
24
26
25
27
### Core Components
26
28
27
-
1.**BSP Server** (`BSPServer.swift`)
28
-
- Main server implementation using JSONRPCConnection
When making changes to the BSP handling code, you should always first inspect how SourceKit-LSP handles will handle the request on their end. The source code for SourceKit-LSP should be available locally inside the `.build` folder after building the tool for the first time.
- Protobuf bindings to allow type-safe querying with Bazel.
45
+
46
+
When making changes to the message handlers, you should always first inspect how SourceKit-LSP handles will handle the request on their end. The source code for SourceKit-LSP should be available locally inside the `.build` folder after building the tool for the first time.
47
47
48
48
### Key Dependencies
49
49
-**sourcekit-lsp**: Provides BuildServerProtocol and LSPBindings. Receives BSP requests and forwards to this server
50
50
-**Bazel, rules_swift, rules_apple, and apple_support**: Common Bazel-related support for Apple projects, for the example project
51
+
-**swift-protobuf**: For generating the Bazel bindings.
0 commit comments