Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:
- 'app/**'
- 'component/**'
- 'connection/**'
- 'cli/**'
- 'sonar-project.properties'
- 'Dockerfile'
- '.github/workflows/ci.yml'
Expand All @@ -16,6 +17,7 @@ on:
- 'app/**'
- 'component/**'
- 'connection/**'
- 'cli/**'
- 'sonar-project.properties'
- 'Dockerfile'
- '.github/workflows/ci.yml'
Expand Down Expand Up @@ -120,6 +122,7 @@ jobs:
app/package-lock.json
component/package-lock.json
connection/package-lock.json
cli/package-lock.json

- name: Install dependencies
run: |
Expand All @@ -129,11 +132,14 @@ jobs:
COMP_CI_PID=$!
npm ci --prefix connection &
CONN_CI_PID=$!
npm ci --prefix cli &
CLI_CI_PID=$!

FAIL=0
wait $APP_CI_PID || FAIL=1
wait $COMP_CI_PID || FAIL=1
wait $CONN_CI_PID || FAIL=1
wait $CLI_CI_PID || FAIL=1
exit $FAIL

- name: Run all tests in parallel
Expand All @@ -144,11 +150,14 @@ jobs:
COMP_PID=$!
cd connection && npm run test:coverage &
CONN_PID=$!
cd cli && npm run test:coverage &
CLI_PID=$!

FAIL=0
wait $APP_PID || FAIL=1
wait $COMP_PID || FAIL=1
wait $CONN_PID || FAIL=1
wait $CLI_PID || FAIL=1
exit $FAIL
env:
POSTGRES_HOST: localhost
Expand All @@ -170,6 +179,7 @@ jobs:
app/coverage/lcov.info
component/coverage/lcov.info
connection/coverage/lcov.info
cli/coverage/lcov.info

# ── Job 2: E2E tests — 5 shards with isolated containers ──────────────────
# Each shard gets its own runner + Testcontainers (no shared state).
Expand Down
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,8 @@ scripts/claude-setup.sh

# Fumadocs generated
docs/.source
docs/.next
docs/.next

# CLI build output
cli/dist/
.neoboard.local
2 changes: 2 additions & 0 deletions bin/neoboard
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/usr/bin/env node
import("../cli/dist/index.js");
Comment on lines +1 to +2

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify the main-module detection logic in cli/src/index.ts
rg -n -A5 'isDirectRun' cli/src/index.ts

# Check if there are any tests covering the entry point behavior
rg -l 'bin/neoboard' --type ts

Repository: alfredo1996/neoboard

Length of output: 236


🏁 Script executed:

#!/bin/bash
# Check package.json for bin entry
rg -A5 '"bin"' package.json

# Verify the import path resolves correctly
# From bin/neoboard, ../cli/dist/index.js should resolve to cli/dist/index.js at root
fd -t f 'index.js' cli/dist 2>/dev/null || echo "cli/dist/index.js does not exist"

# Check the actual directory structure
ls -la bin/neoboard 2>/dev/null
head -2 bin/neoboard

# Look for any build/dist configuration in package.json
rg -A10 '"scripts"' package.json | head -20

Repository: alfredo1996/neoboard

Length of output: 741


🏁 Script executed:

#!/bin/bash
# Get full package.json bin field
cat package.json | jq '.bin' 2>/dev/null || grep -A3 '"bin"' package.json

# Check if cli directory has its own package.json (monorepo)
ls -la cli/package.json 2>/dev/null || echo "cli/package.json not found"

# Check if cli/dist directory exists
ls -la cli/dist 2>/dev/null || echo "cli/dist directory does not exist"

# Check if there's a build output anywhere
find cli -type d -name 'dist' -o -name 'build' 2>/dev/null | head -10

# Check cli/src structure
ls -la cli/src/ 2>/dev/null | head -20

Repository: alfredo1996/neoboard

Length of output: 506


🏁 Script executed:

#!/bin/bash
# Check cli/package.json build configuration
cat cli/package.json

# Check if there's a tsconfig for cli
ls -la cli/tsconfig.json 2>/dev/null || echo "No tsconfig.json in cli"

# Check the build scripts in cli/package.json more thoroughly
cat cli/package.json | jq '.scripts' 2>/dev/null || grep -A20 '"scripts"' cli/package.json

Repository: alfredo1996/neoboard

Length of output: 841


Remove or fix the broken entry point.

The bin/neoboard file references ../cli/dist/index.js, which doesn't exist (the CLI package hasn't been compiled). Additionally, the root package.json has no "bin" field to register this entry point. The cli/package.json already correctly defines "neoboard": "./dist/index.js", so either remove the duplicate root entry or ensure the CLI package is built as part of the build process.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bin/neoboard` around lines 1 - 2, The top-level entry script imports
"../cli/dist/index.js" which doesn't exist and the root package.json lacks a
"bin" registration; either remove this duplicate entry script or make the CLI
build available and register it: 1) Delete the top-level entry that does
import("../cli/dist/index.js") and remove any corresponding root "bin" entry, or
2) ensure the CLI is built to produce cli/dist/index.js during your build (or
copy it into place) and add a "bin": { "neoboard": "./bin/neoboard" } (or point
root package.json to the compiled CLI) so the entry matches cli/package.json's
"neoboard": "./dist/index.js". Ensure the chosen fix keeps the cli/package.json
"neoboard" target consistent with the published entry point.

Loading
Loading