Commit Graph

55 Commits

Author SHA1 Message Date
Imanol Maiztegui 16d7caa23c feat(config): add kilo-jetbrains package to upstream merge config (#10742) 2026-05-29 15:45:24 +00:00
Mark IJbema 523e3d8f03 chore: remove upstream vscode sdk 2026-05-19 10:50:27 +02:00
kiloconnect[bot] 5b8121ea5c fix(upstream): rename shadowing path local in writeVersion 2026-05-11 08:51:59 +00:00
kiloconnect[bot] 8710e9d9de feat(upstream): record last merged tag in .opencode-version
Avoids the ls-remote + merge-base --is-ancestor walk in last() for the
common case by reading the recorded tag from .opencode-version. merge.ts
writes the file as part of the pre-merge compat commit so future runs of
fix-kilocode-markers, reset-to-upstream, and find-reset-candidates can
resolve the base tag instantly. Seeded with v1.14.33 (PR #9978).
2026-05-11 08:11:40 +00:00
Mark IJbema 76f49645f6 Merge remote-tracking branch 'origin/main' into mark/upstream-compat-base 2026-05-07 16:12:34 +02:00
kiloconnect[bot] 70fde2221e refactor(upstream): improve compatibility commit lookup using semver
Update `findLatestCompatCommit` to use semantic versioning when identifying the latest compatibility commit. This ensures the correct commit is selected even when upstream tags diverge or are not strictly linear.

- Add semver parsing and comparison utilities
- Implement `targetSemver` to resolve versions from tags or commit messages
- Filter and sort compatibility candidates by version relative to the target version
- Add test case for diverging upstream tags
2026-05-06 14:34:13 +00:00
Mark IJbema ca36a75c2d Merge branch 'main' into mark/upstream-merge-head-base 2026-05-06 11:52:23 +02:00
Mark IJbema ed9a538668 Merge branch 'main' into mark/upstream-compat-base 2026-05-06 11:41:39 +02:00
kiloconnect[bot] e88dd31421 feat: support HEAD as upstream merge base 2026-05-06 09:38:26 +00:00
Mark IJbema ef45bedc33 Merge branch 'main' into session/agent_a6ecf426-6df9-4de2-832c-c3835090b68b 2026-05-06 10:25:08 +02:00
kiloconnect[bot] c239a6bb22 chore(config): enforce zdiff3 conflict style via postinstall
Add a new setup script to configure `merge.conflictStyle=zdiff3` locally
within the repository. This ensures that the common ancestor is visible
during merge conflicts, which is required for structural resolution by
`mergiraf` and simplifies manual conflict resolution.

The configuration is applied during `bun install` via the `postinstall`
hook and remains as a fallback for the upstream merge utilities.
2026-05-05 14:49:50 +00:00
Mark IJbema 0c5ec06f6e fix(upstream): pre-filter big + policy-protected files
Fixes hang when running the finder from the repo root without a path
scope. Root cause: upstream-only packages (packages/console, packages/web,
packages/desktop, etc. in config.skipFiles) contain multi-megabyte
media assets that stall concurrent Bun `git show` subprocesses on the
pipe buffer.

Changes:
- Batch upstream blob sizes in one `git cat-file --batch-check`
  subprocess before classifying anything. Files with missing upstream
  land directly in `upstream-missing`; files > 256 KB land in the new
  `too-large` bucket. Only sane-sized survivors get per-file `git show`.
- Filter out files matching the merge config's `keepOurs` and
  `skipFiles` globs (.github workflows, translated READMEs, upstream-
  only packages, etc.) — these are intentionally preserved or removed
  in Kilo and would otherwise pollute the report and tempt incorrect
  resets.

Full-repo dry-run now completes in ~2s.
2026-05-05 15:25:37 +02:00
Mark IJbema c1accfa588 fix(upstream): stop finder hanging on big assets
Replace the subprocess-based line diff in classifyDrift with an
in-process multiset diff (approxDiff) so concurrent classifications
don't deadlock on big text files like sprite.svg via Bun $.quiet()
pipe-buffer stalls.

Also filter non-code assets (SVG, PNG, fonts, archives, lock files,
etc.) before classification so they don't bloat the report or stress
git subprocesses. Switch kilo-only path excludes to glob pathspecs so
every packages/kilo-*/ and **/kilocode/** dir is excluded without
maintaining a hand list.

Rename the 'whitespace-only' bucket to 'cosmetic-only' — with the
multiset diff it also catches line reordering, so the old label was
misleading.
2026-05-05 14:17:33 +02:00
Mark IJbema 3f2ea7188b chore(upstream): add find-reset-candidates helper
Bulk-finds files that have drifted insignificantly from the last merged
upstream and (optionally) resets them. Extracts shared clean/changed
marker helpers into utils/markers.ts and shared reset logic into
utils/reset.ts so both the single-file reset helper and the new finder
use the same classification pipeline.
2026-05-05 13:44:01 +02:00
kiloconnect[bot] 6986b2b879 chore(upstream): skip files Kilo has removed from upstream
Add .github/TEAM_MEMBERS and other files Kilo has deleted to skipFiles
so future upstream merges auto-remove them via git rm instead of
surfacing delete-by-us conflicts that need manual resolution.

Also drop the stale github/.gitignore entry from keepOurs (the file
does not exist in Kilo main; keepOurs was a no-op) and move it to
skipFiles so upstream's copy is dropped on merge instead of added.
2026-05-05 10:27:26 +00:00
Mark IJbema 694773a7c9 Merge remote-tracking branch 'origin/main' into mark/upstream-compat-base 2026-05-05 11:30:58 +02:00
kiloconnect[bot] 33aa8e5184 fix(cli): isolate upstream rerere training 2026-05-05 08:40:26 +00:00
kiloconnect[bot] b59dfaa642 fix: preserve binary upstream resets 2026-05-05 08:28:57 +00:00
kiloconnect[bot] 6e3ddaad60 feat: add reset-to-upstream script 2026-05-05 08:19:17 +00:00
kiloconnect[bot] 5c14ec2bed fix: preserve upstream ancestry on kilo merge 2026-05-05 08:10:36 +00:00
kiloconnect[bot] fe3724605f fix: resolve compat bases from version tags 2026-05-05 08:00:21 +00:00
kiloconnect[bot] 4b22bfbc57 fix: keep compat branches linear 2026-05-05 07:57:01 +00:00
kiloconnect[bot] 4b1c1930c2 fix: preserve upstream compat merge bases 2026-05-04 15:54:19 +00:00
kiloconnect[bot] d22d08bbce chore: remove stale desktop package references 2026-05-04 15:00:59 +00:00
kiloconnect[bot] 419ddea52a chore(upstream): implement compatibility base tracking for merges
Update the upstream merge script to identify and link to the previous compatibility commit. This ensures that pre-merge transformations maintain a proper commit history by using multiple parents when a prior compatibility base is found, rather than creating disconnected commits.

- Add `findLatestCompatCommit` to locate previous compatibility commits
- Implement `commitTree` and `updateBranch` for low-level git manipulation
- Update `merge.ts` to integrate compatibility base detection and multi-parent commits
2026-05-04 14:06:37 +00:00
Mark IJbema a16e0560c7 Merge remote-tracking branch 'origin/main' into markijbema/kilo-opencode-v1.14.29 2026-05-04 10:27:37 +02:00
Mark IJbema 3f7037549e resolve merge conflicts 2026-04-30 16:25:46 +02:00
kiloconnect[bot] 26046c9b2b chore: add opencode merge reference worktrees 2026-04-29 16:06:32 +00:00
Mark IJbema 415f892c56 fix: keep kilo directories during upstream merge 2026-04-29 13:36:35 +02:00
Mark IJbema bb06f4d2ac fix: skip removed packages during upstream merge 2026-04-29 11:50:14 +02:00
Mark IJbema 80d848d3e3 feat(upstream): use zdiff3 conflict markers during upstream merge
Pass merge.conflictStyle=zdiff3 on the git merge invocation so every
conflicted file gets base-aware (|||||||) markers from the start, not
just the ones runMergiraf happens to touch. Benefits:

- Mergiraf always has a base section to work from, so its structural
  heuristics apply uniformly.
- Remaining manual conflicts show both sides relative to the common
  ancestor, which is dramatically easier to resolve than a 2-way marker.

Since the working tree already carries diff3 markers after the merge,
drop the per-file `git checkout --conflict=diff3` in runMergiraf.
2026-04-28 14:35:50 +02:00
Mark IJbema bc5816663c fix(cli): skip .github/VOUCHED.td and surface git rm errors in upstream merge
The skip list in script/upstream/utils/config.ts matched .github/VOUCHED.md,
but upstream actually ships .github/VOUCHED.td (typo extension), so the file
fell through to manual resolution every merge. Broaden the pattern to
.github/VOUCHED.* so both variants are handled.

Also make skip-files removeFile report the real git rm stderr on failure
and retry once. Transient index contention silently flipped a file to
not-found in a recent run with no signal about why — now we'll see the
error and shake off intermittent lock failures automatically.
2026-04-28 13:05:57 +02:00
Mark IJbema 38cc0297a8 feat(cli): show which upstream versions are already merged in list-versions
Uses 'git merge-base --is-ancestor' per tag (parallelized) to mark
upstream versions reachable from HEAD with a '✓ merged' annotation.
Kilo's own package version no longer tracks upstream, so semver
comparison isn't reliable; the ancestor check is the source of truth
and handles non-linear merge history correctly.
2026-04-28 11:46:43 +02:00
Imanol Maiztegui 8990d5d128 refactor(upstream): force-fetch tags when syncing from upstream remote
Append --tags --force flags to the git fetch upstream command so that
upstream tag references are always updated and locally diverged tags
are overwritten to match the remote state.
2026-04-24 14:06:27 +02:00
Catriel Müller 98f1716216 fix: cleanup lsf icons 2026-04-10 15:17:09 -03:00
Catriel Müller 1d711fcefc refactor: fix package.json // remove translated readme 2026-03-17 18:20:16 -03:00
Catriel Müller eb662661ca feat: enable git rerere 2026-03-17 07:46:48 -03:00
Catriel Müller c29dcdcc60 refactor: clean kilo artifacts before compat commit 2026-03-17 07:46:48 -03:00
Catriel Müller c0a3b2f325 fix: fix sdk generation // vscode test 2026-03-17 07:27:25 -03:00
Catriel Müller 5b796226c3 refactor: consider kilocode change markers on merge 2026-03-17 07:27:25 -03:00
Catriel Müller b13b701310 feat: merge opencode v1.2.18 2026-03-17 07:27:22 -03:00
Kevin van Dijk 0957fbace2 Remove invalid readme 2026-03-09 20:14:58 +01:00
Kevin van Dijk 1259be074b Remove bn README and add to merge script 2026-02-26 02:15:23 +01:00
Kevin van Dijk 45464e4ef3 Add extra file to merge script 2026-02-23 18:06:21 +01:00
Mark IJbema 9a0ac0c0ee docs: update default branch references from dev to main
- Update AGENTS.md to reflect main as default branch
- Update GitHub Actions workflows to trigger on main branch
- Update publish scripts to cherry-pick from origin/main
- Update upstream merge scripts and documentation
- Update CONTRIBUTING.md links in PR standards workflow
- Fix disabled workflow and documentation links

All development commands (bun dev, npm run dev) and external services
(models.dev, ai-sdk.dev) remain unchanged as they are unrelated to branch names.
2026-02-23 11:19:39 +01:00
Catriel Müller c5e52c11bf feat: kilo github migration 2026-02-12 19:36:23 -03:00
Catriel Müller f259b6a90b chore: remove hosted platform packages and update upstream merge config
Remove 8 hosted platform packages that are not needed for the CLI-focused fork:
- infra/ (SST infrastructure)
- packages/console/ (console web app + backend)
- packages/enterprise/ (enterprise/teams platform)
- packages/web/ (Astro documentation site)
- packages/slack/ (Slack integration)
- packages/function/ (API workers)
- packages/docs/ (static docs)
- packages/identity/ (brand assets)

Update upstream merge configuration to prevent these packages from being
re-added during future merges from opencode upstream:
- Add all deleted folders/files to skipFiles in config.ts
- Add Vouch-related files to skip list (VOUCHED.md, vouch workflows)
- Update transform-package-json.ts to preserve Kilo's workspace config
- Remove slack/web references from transform lists

Update supporting files:
- Remove console/* and slack from package.json workspaces
- Remove sst and @aws-sdk/client-s3 dependencies
- Update AGENTS.md package references
- Clean .prettierignore of deleted package references
- Add logs/.gitignore to keep folder empty

Result: 310,297 lines deleted, 11 npm packages removed, typecheck passing
2026-02-11 13:05:19 -03:00
Catriel Müller 50121e0e20 feat: merge opencode v1.1.53 2026-02-09 13:07:23 -03:00
Catriel Müller 345dd87310 refactor: improve nix hashes resolution 2026-02-05 13:31:46 -03:00
Catriel Müller 1e18ea466c refactor: improve lock files resolution 2026-02-05 13:31:46 -03:00