Pass -Djava.import.generatesMetadataFilesAtProjectRoot=false as a JVM
system property when spawning JDTLS. This tells JDTLS to store metadata
files (.classpath, .project, .settings/) in its workspace data directory
instead of polluting the user's project root.
Fixes#8621
Move the /allow-everything endpoint from the shared permission routes
into packages/opencode/src/kilocode/permission/routes.ts to reduce diff
with upstream and ease future merges.
The CI base SHA differs from local main, causing additional lines
in formatSessionJSON to be flagged. Wrapping the entire function
in a block annotation covers all possible diff boundaries.
Add kilocode_change markers to all Kilo-specific changes in shared
opencode files to pass the check-opencode-annotations CI check.
Also bring in the workflow and script from main.
Instead of path.basename(session.directory) which shows the working
directory name (e.g. 'opencode' for sessions in packages/opencode/),
resolve the actual worktree root by matching against WorktreeFamily.list()
directories. This shows the correct worktree folder name (e.g. 'kilocode',
'cross-session-conflict') matching git worktree list output.
Show all worktree sessions by default with directory basename labels.
ctrl+a toggles to current worktree only. Uses experimental endpoint
exclusively — no shared OpenCode code changes.
The /local-review command used git diff base...HEAD (triple-dot) which only
captured committed changes. The diff viewer uses merge-base + two-dot diff
against the working tree. This mismatch caused /local-review to show
'nothing to review' when changes were uncommitted.
Now computes merge-base explicitly and diffs the working tree against it,
matching WorktreeDiff behavior. Also includes untracked files.
The .help('help', ...) method registers yargs' built-in help command
which shadows the custom HelpCommand registered on the same 'help' path.
This means 'kilo help --all' never reaches the custom handler.
Fix by:
- Replacing .help('help', ...) with .help(false) + .option('help', ...)
to disable the built-in command while keeping --help/-h flags
- Adding early-exit handlers in middleware for --help and --version
to skip expensive initialization (telemetry, DB migration)