lean-spec 0.2.23 → 0.2.24

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.
@@ -28,7 +28,7 @@ const debug = (...args) => DEBUG && console.error('[lean-spec debug]', ...args);
28
28
  const PLATFORM_MAP = {
29
29
  darwin: { x64: 'darwin-x64', arm64: 'darwin-arm64' },
30
30
  linux: { x64: 'linux-x64' },
31
- win32: { x64: 'windows-x64', arm64: 'windows-arm64' }
31
+ win32: { x64: 'windows-x64' }
32
32
  };
33
33
 
34
34
  const MACHO_MAGICS = new Set([
@@ -94,7 +94,7 @@ function getBinaryPath() {
94
94
  const platformKey = PLATFORM_MAP[platform]?.[arch];
95
95
  if (!platformKey) {
96
96
  console.error(`Unsupported platform: ${platform}-${arch}`);
97
- console.error('Supported: macOS (x64/arm64), Linux (x64/arm64), Windows (x64)');
97
+ console.error('Supported: macOS (x64/arm64), Linux (x64), Windows (x64)');
98
98
  process.exit(1);
99
99
  }
100
100
 
@@ -130,18 +130,32 @@ function getBinaryPath() {
130
130
  debug('Local binary not found:', e.message);
131
131
  }
132
132
 
133
- // Try rust/target/release directory (for local development)
133
+ // Try rust/target/debug directory first (for local development with `pnpm build:rust`)
134
+ try {
135
+ const rustDebugPath = join(__dirname, '..', '..', '..', 'rust', 'target', 'debug', binaryName);
136
+ debug('Trying rust debug binary:', rustDebugPath);
137
+ accessSync(rustDebugPath);
138
+ if (isExecutableBinary(rustDebugPath, platform)) {
139
+ debug('Found rust debug binary:', rustDebugPath);
140
+ return rustDebugPath;
141
+ }
142
+ debug('Rust debug binary is invalid:', rustDebugPath);
143
+ } catch (e) {
144
+ debug('Rust debug binary not found:', e.message);
145
+ }
146
+
147
+ // Try rust/target/release directory (for local development with `pnpm build:rust:release`)
134
148
  try {
135
149
  const rustTargetPath = join(__dirname, '..', '..', '..', 'rust', 'target', 'release', binaryName);
136
- debug('Trying rust target binary:', rustTargetPath);
150
+ debug('Trying rust release binary:', rustTargetPath);
137
151
  accessSync(rustTargetPath);
138
152
  if (isExecutableBinary(rustTargetPath, platform)) {
139
- debug('Found rust target binary:', rustTargetPath);
153
+ debug('Found rust release binary:', rustTargetPath);
140
154
  return rustTargetPath;
141
155
  }
142
- debug('Rust target binary is invalid:', rustTargetPath);
156
+ debug('Rust release binary is invalid:', rustTargetPath);
143
157
  } catch (e) {
144
- debug('Rust target binary not found:', e.message);
158
+ debug('Rust release binary not found:', e.message);
145
159
  }
146
160
 
147
161
  console.error(`Binary not found for ${platform}-${arch}`);
Binary file
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leanspec/cli-darwin-arm64",
3
- "version": "0.2.23",
3
+ "version": "0.2.24",
4
4
  "description": "LeanSpec CLI binary for macOS ARM64",
5
5
  "os": [
6
6
  "darwin"
Binary file
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leanspec/cli-darwin-x64",
3
- "version": "0.2.23",
3
+ "version": "0.2.24",
4
4
  "description": "LeanSpec CLI binary for macOS x64",
5
5
  "os": [
6
6
  "darwin"
Binary file
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leanspec/cli-linux-x64",
3
- "version": "0.2.23",
3
+ "version": "0.2.24",
4
4
  "description": "LeanSpec CLI binary for Linux x64",
5
5
  "os": [
6
6
  "linux"
Binary file
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leanspec/cli-windows-x64",
3
- "version": "0.2.23",
3
+ "version": "0.2.24",
4
4
  "description": "LeanSpec CLI binary for Windows x64",
5
5
  "os": [
6
6
  "win32"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lean-spec",
3
- "version": "0.2.23",
3
+ "version": "0.2.24",
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.23",
43
- "@leanspec/cli-darwin-arm64": "0.2.23",
44
- "@leanspec/cli-linux-x64": "0.2.23",
45
- "@leanspec/cli-windows-x64": "0.2.23"
42
+ "@leanspec/cli-darwin-x64": "0.2.24",
43
+ "@leanspec/cli-darwin-arm64": "0.2.24",
44
+ "@leanspec/cli-linux-x64": "0.2.24",
45
+ "@leanspec/cli-windows-x64": "0.2.24"
46
46
  }
47
47
  }
@@ -36,7 +36,7 @@
36
36
  |------|---------|
37
37
  | **NEVER edit frontmatter manually** | Use `update`, `link`, `unlink` for: `status`, `priority`, `tags`, `assignee`, `transitions`, timestamps, `depends_on` |
38
38
  | **ALWAYS link spec references** | Content mentions another spec → `lean-spec link <spec> --depends-on <other>` |
39
- | **Track status transitions** | `planned` → `in-progress` (before coding) → `complete` (after done) |
39
+ | **Track status transitions** | `draft` → `planned` → `in-progress` (before coding) → `complete` (after done) |
40
40
  | **Keep specs current** | Document progress, decisions, and learnings as work happens. Obsolete specs mislead both humans and AI |
41
41
  | **No nested code blocks** | Use indentation instead |
42
42
 
@@ -46,7 +46,7 @@
46
46
  |----------|---------------|
47
47
  | Create spec files manually | Use `create` tool |
48
48
  | Skip discovery | Run `board` and `search` first |
49
- | Leave status as "planned" | Update to `in-progress` before coding |
49
+ | Leave status as "draft" or "planned" | Update to `in-progress` before coding |
50
50
  | Edit frontmatter manually | Use `update` tool |
51
51
  | Complete spec without documentation | Document progress, prompts, learnings first |
52
52