lean-spec 0.2.24 → 0.2.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -27
- package/bin/lean-spec-rust.js +30 -28
- package/binaries/darwin-arm64/lean-spec +0 -0
- package/binaries/darwin-arm64/package.json +1 -1
- package/binaries/darwin-x64/lean-spec +0 -0
- package/binaries/darwin-x64/package.json +1 -1
- package/binaries/linux-x64/lean-spec +0 -0
- package/binaries/linux-x64/package.json +1 -1
- package/binaries/windows-x64/lean-spec.exe +0 -0
- package/binaries/windows-x64/package.json +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -108,15 +108,15 @@ This installs the **leanspec-sdd** skill which teaches AI agents:
|
|
|
108
108
|
|
|
109
109
|
## Features
|
|
110
110
|
|
|
111
|
-
| Feature | Description
|
|
112
|
-
| ------------------- |
|
|
113
|
-
| **📊 Kanban Board** | `lean-spec board` - visual project tracking
|
|
114
|
-
| **🔍 Smart Search** | `lean-spec search` - find specs by content or metadata
|
|
115
|
-
| **🔗 Dependencies** | Track spec relationships with `depends_on` and `related`
|
|
116
|
-
| **🎨 Web UI** | `lean-spec ui` - browser-based dashboard
|
|
117
|
-
| **📈 Project Stats** | `lean-spec stats` - health metrics and bottleneck detection
|
|
118
|
-
| **🤖 AI-Native** | MCP server + CLI for AI assistants
|
|
119
|
-
| **🖥️ Desktop App** |
|
|
111
|
+
| Feature | Description |
|
|
112
|
+
| ------------------- | ------------------------------------------------------------------------------------------------- |
|
|
113
|
+
| **📊 Kanban Board** | `lean-spec board` - visual project tracking |
|
|
114
|
+
| **🔍 Smart Search** | `lean-spec search` - find specs by content or metadata |
|
|
115
|
+
| **🔗 Dependencies** | Track spec relationships with `depends_on` and `related` |
|
|
116
|
+
| **🎨 Web UI** | `lean-spec ui` - browser-based dashboard |
|
|
117
|
+
| **📈 Project Stats** | `lean-spec stats` - health metrics and bottleneck detection |
|
|
118
|
+
| **🤖 AI-Native** | MCP server + CLI for AI assistants |
|
|
119
|
+
| **🖥️ Desktop App** | Desktop app repo: [codervisor/lean-spec-desktop](https://github.com/codervisor/lean-spec-desktop) |
|
|
120
120
|
|
|
121
121
|
<p align="center">
|
|
122
122
|
<img src="https://github.com/codervisor/lean-spec-docs/blob/main/static/img/ui/ui-board-view.png" alt="Kanban Board View" width="800">
|
|
@@ -146,25 +146,11 @@ rustc --version # Should be 1.70 or higher (dev only)
|
|
|
146
146
|
|
|
147
147
|
## Desktop App
|
|
148
148
|
|
|
149
|
-
The
|
|
149
|
+
The desktop application has moved to a dedicated repository:
|
|
150
150
|
|
|
151
|
-
|
|
152
|
-
# Launch the desktop shell with hot reload
|
|
153
|
-
pnpm install
|
|
154
|
-
pnpm dev:desktop
|
|
155
|
-
|
|
156
|
-
# Produce signed installers + embedded UI bundle
|
|
157
|
-
pnpm build:desktop
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
Key capabilities:
|
|
161
|
-
- Frameless window with custom title bar + native controls
|
|
162
|
-
- Global shortcuts (`Cmd/Ctrl+Shift+L` to toggle, `Cmd/Ctrl+Shift+K` to open the project switcher, `Cmd/Ctrl+Shift+N` to add a spec)
|
|
163
|
-
- Shared project registry + native folder picker backed by `~/.lean-spec/projects.json`
|
|
164
|
-
- System tray with recent projects, background notifications, and update checks
|
|
165
|
-
- Embedded Vite static build + Rust HTTP server for offline packaging (macOS `.dmg`, Windows `.msi/.exe`, Linux `.AppImage/.deb/.rpm`)
|
|
151
|
+
- https://github.com/codervisor/lean-spec-desktop
|
|
166
152
|
|
|
167
|
-
|
|
153
|
+
Use that repository for desktop development, CI, and release workflows.
|
|
168
154
|
|
|
169
155
|
---
|
|
170
156
|
|
|
@@ -179,7 +165,6 @@ pnpm build # Build all packages
|
|
|
179
165
|
pnpm dev # Start dev mode (UI + Core)
|
|
180
166
|
pnpm dev:web # UI only
|
|
181
167
|
pnpm dev:cli # CLI only
|
|
182
|
-
pnpm dev:desktop # Desktop app
|
|
183
168
|
|
|
184
169
|
# Testing
|
|
185
170
|
pnpm test # Run all tests
|
package/bin/lean-spec-rust.js
CHANGED
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
* then spawns the appropriate Rust binary with the provided arguments.
|
|
7
7
|
*
|
|
8
8
|
* The wrapper looks for binaries in the following locations:
|
|
9
|
-
* 1.
|
|
10
|
-
* 2.
|
|
9
|
+
* 1. Rust target/debug binary (for local development)
|
|
10
|
+
* 2. Rust target/release binary (for local development)
|
|
11
|
+
* 3. Platform-specific npm package (lean-spec-darwin-x64, etc.)
|
|
12
|
+
* 4. Local binaries directory (fallback)
|
|
11
13
|
*/
|
|
12
14
|
|
|
13
15
|
import { spawn } from 'child_process';
|
|
@@ -104,32 +106,6 @@ function getBinaryPath() {
|
|
|
104
106
|
|
|
105
107
|
debug('Binary info:', { platformKey, binaryName, packageName });
|
|
106
108
|
|
|
107
|
-
// Try to resolve platform package
|
|
108
|
-
try {
|
|
109
|
-
const resolvedPath = require.resolve(`${packageName}/${binaryName}`);
|
|
110
|
-
if (isExecutableBinary(resolvedPath, platform)) {
|
|
111
|
-
debug('Found platform package binary:', resolvedPath);
|
|
112
|
-
return resolvedPath;
|
|
113
|
-
}
|
|
114
|
-
debug('Platform package binary is invalid:', resolvedPath);
|
|
115
|
-
} catch (e) {
|
|
116
|
-
debug('Platform package not found:', packageName, '-', e.message);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// Try local binaries directory (for development/testing)
|
|
120
|
-
try {
|
|
121
|
-
const localPath = join(__dirname, '..', 'binaries', platformKey, binaryName);
|
|
122
|
-
debug('Trying local binary:', localPath);
|
|
123
|
-
accessSync(localPath);
|
|
124
|
-
if (isExecutableBinary(localPath, platform)) {
|
|
125
|
-
debug('Found local binary:', localPath);
|
|
126
|
-
return localPath;
|
|
127
|
-
}
|
|
128
|
-
debug('Local binary is invalid:', localPath);
|
|
129
|
-
} catch (e) {
|
|
130
|
-
debug('Local binary not found:', e.message);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
109
|
// Try rust/target/debug directory first (for local development with `pnpm build:rust`)
|
|
134
110
|
try {
|
|
135
111
|
const rustDebugPath = join(__dirname, '..', '..', '..', 'rust', 'target', 'debug', binaryName);
|
|
@@ -158,6 +134,32 @@ function getBinaryPath() {
|
|
|
158
134
|
debug('Rust release binary not found:', e.message);
|
|
159
135
|
}
|
|
160
136
|
|
|
137
|
+
// Try to resolve platform package
|
|
138
|
+
try {
|
|
139
|
+
const resolvedPath = require.resolve(`${packageName}/${binaryName}`);
|
|
140
|
+
if (isExecutableBinary(resolvedPath, platform)) {
|
|
141
|
+
debug('Found platform package binary:', resolvedPath);
|
|
142
|
+
return resolvedPath;
|
|
143
|
+
}
|
|
144
|
+
debug('Platform package binary is invalid:', resolvedPath);
|
|
145
|
+
} catch (e) {
|
|
146
|
+
debug('Platform package not found:', packageName, '-', e.message);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// Try local binaries directory (fallback)
|
|
150
|
+
try {
|
|
151
|
+
const localPath = join(__dirname, '..', 'binaries', platformKey, binaryName);
|
|
152
|
+
debug('Trying local binary:', localPath);
|
|
153
|
+
accessSync(localPath);
|
|
154
|
+
if (isExecutableBinary(localPath, platform)) {
|
|
155
|
+
debug('Found local binary:', localPath);
|
|
156
|
+
return localPath;
|
|
157
|
+
}
|
|
158
|
+
debug('Local binary is invalid:', localPath);
|
|
159
|
+
} catch (e) {
|
|
160
|
+
debug('Local binary not found:', e.message);
|
|
161
|
+
}
|
|
162
|
+
|
|
161
163
|
console.error(`Binary not found for ${platform}-${arch}`);
|
|
162
164
|
console.error(`Expected package: ${packageName}`);
|
|
163
165
|
console.error('');
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lean-spec",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.25",
|
|
4
4
|
"description": "Specification-driven development made simple",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"node": ">=20"
|
|
40
40
|
},
|
|
41
41
|
"optionalDependencies": {
|
|
42
|
-
"@leanspec/cli-darwin-x64": "0.2.
|
|
43
|
-
"@leanspec/cli-darwin-arm64": "0.2.
|
|
44
|
-
"@leanspec/cli-linux-x64": "0.2.
|
|
45
|
-
"@leanspec/cli-windows-x64": "0.2.
|
|
42
|
+
"@leanspec/cli-darwin-x64": "0.2.25",
|
|
43
|
+
"@leanspec/cli-darwin-arm64": "0.2.25",
|
|
44
|
+
"@leanspec/cli-linux-x64": "0.2.25",
|
|
45
|
+
"@leanspec/cli-windows-x64": "0.2.25"
|
|
46
46
|
}
|
|
47
47
|
}
|