Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
9be38c3
ci: run tests for the release-refactor integration branch
gocanto Jul 24, 2026
4af68da
refactor(ts): TS-1 — move kernel/syntax/io/hosts modules into subdire…
gocanto Jul 24, 2026
6e7d294
refactor(ts): convert parser/ast/edits services to instance classes; …
gocanto Jul 24, 2026
59b2552
refactor(ts): TS-3 — FormattingPass contract, pipeline machinery, pol…
gocanto Jul 24, 2026
e1653ab
refactor(ts): TS-4 — dissolve the format-pipeline ⇄ fluent-chains cyc…
gocanto Jul 24, 2026
4f6a1db
refactor(ts): TS-5 — split the drizzle monolith into collaborators (#78)
gocanto Jul 24, 2026
55ed70f
refactor(ts): TS-6 — unified CLI architecture under src/cli/ (#79)
gocanto Jul 24, 2026
ca8a643
refactor(ts): TS-7 — final sweep: cycle-free proof, static audit, cle…
gocanto Jul 24, 2026
bd0c3d8
refactor(go): G1 — characterization goldens, dead surface, config uni…
gocanto Jul 24, 2026
98bd783
refactor(spacing): share parse state through analyzer types (#72)
gocanto Jul 24, 2026
fc0878e
refactor(driver): split sourcefiles into gitfiles, filetypes, prettie…
gocanto Jul 24, 2026
bb6eb9e
refactor(go): G4 — typed sidecarproto seam + tsruntime reshape (#75)
gocanto Jul 24, 2026
4997ff8
refactor(go): G5 — typed report, gotool use case, shared command tabl…
gocanto Jul 24, 2026
51d0433
refactor(go): G6 — typed pipeline steps + console; delete summarize.g…
gocanto Jul 24, 2026
fe2a294
docs: describe the post-refactor architecture and its contracts (#82)
gocanto Jul 24, 2026
b6976be
docs: fold the architecture overview into the README (#83)
gocanto Jul 24, 2026
ab0cac9
refactor(go): G7 — separate Go and TS behaviour behind language toolc…
gocanto Jul 24, 2026
0eba046
infra responsability
gocanto Jul 27, 2026
7da5c9f
imports
gocanto Jul 27, 2026
ed717f6
chore(deps): refresh Go and TS toolchains
gocanto Jul 27, 2026
4387db8
refactor(go): G8 — adopt the Go 1.26 standard library
gocanto Jul 27, 2026
c451b7b
refactor(go): G9 — collapse duplicated logic behind shared functions
gocanto Jul 27, 2026
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
2 changes: 1 addition & 1 deletion .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
fetch-depth: 0

- name: Verify release tag and checkout tagged commit
run: ./infra/release/verify-release-tag.sh
run: ./scripts/release/verify-release-tag.sh
shell: bash

- uses: actions/setup-node@v5
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:

- uses: voidzero-dev/setup-vp@v1
with:
node-version: 25.8.2
node-version: 25.9.0
cache: true

- uses: actions/setup-go@v6
Expand All @@ -58,7 +58,7 @@ jobs:

- uses: voidzero-dev/setup-vp@v1
with:
node-version: 25.8.2
node-version: 25.9.0
cache: true

- uses: actions/setup-go@v6
Expand Down Expand Up @@ -100,7 +100,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG_PREFIX: v
DEFAULT_BUMP: patch
run: ./infra/release/create-release-tag.sh
run: ./scripts/release/create-release-tag.sh

# Publishing is invoked directly so this workflow does not rely on tag-push
# fan-out from a workflow-created tag.
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
- uses: voidzero-dev/setup-vp@v1
name: Install Vite+
with:
node-version: 25.8.2
node-version: 25.9.0
cache: true

- uses: actions/setup-go@v6
Expand Down Expand Up @@ -97,7 +97,7 @@ jobs:
- uses: voidzero-dev/setup-vp@v1
name: Install Vite+
with:
node-version: 25.8.2
node-version: 25.9.0
cache: true

- uses: actions/setup-go@v6
Expand All @@ -112,13 +112,13 @@ jobs:
run: vp install --frozen-lockfile

- name: Go - Run formatter tests with race detector and coverage
run: CGO_ENABLED=1 ./infra/task.sh with-env go -C packages/go/formatter test ./... -race -coverprofile=coverage.out -covermode=atomic -v
run: CGO_ENABLED=1 ./scripts/task.sh with-env go -C packages/go/formatter test ./... -race -coverprofile=coverage.out -covermode=atomic -v

- name: Go - Run vet tests with race detector and coverage
run: CGO_ENABLED=1 ./infra/task.sh with-env go -C packages/go/vet test ./... -race -coverprofile=coverage.out -covermode=atomic -v
run: CGO_ENABLED=1 ./scripts/task.sh with-env go -C packages/go/vet test ./... -race -coverprofile=coverage.out -covermode=atomic -v

- name: Go - Run driver tests with race detector and coverage
run: CGO_ENABLED=1 ./infra/task.sh with-env go -C packages/go/driver test ./... -race -coverprofile=coverage.out -covermode=atomic -v
run: CGO_ENABLED=1 ./scripts/task.sh with-env go -C packages/go/driver test ./... -race -coverprofile=coverage.out -covermode=atomic -v

- uses: actions/upload-artifact@v4
name: Upload formatter coverage artifact
Expand Down Expand Up @@ -176,12 +176,12 @@ jobs:
args: check

- name: Smoke test the self-contained binary
run: ./infra/test-binary-smoke.sh
run: ./scripts/test-binary-smoke.sh

# Runs here rather than in `check`, which has no Go: the only tool
# that can say whether this tree is formatted is fmtkit itself.
- name: Check the repository is fmtkit-formatted
run: ./infra/task.sh self-check
run: ./scripts/task.sh self-check

coverage:
needs: test
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# TS toolchain assets staged per platform by stage-ts-assets.sh, next to the
# package that embeds them.
/packages/go/driver/internal/embedded/bin/
/packages/go/driver/internal/typescript/embedded/bin/
/storage/bin*/
/storage/dist/
/storage/dist-test/
Expand Down
4 changes: 2 additions & 2 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ version: 2
project_name: fmtkit

# Build output belongs under storage/ like every other artifact this repo
# produces; infra/lib/env.sh rejects a repo-root dist/.
# produces; scripts/lib/env.sh rejects a repo-root dist/.
dist: storage/dist

# Releases stage every platform; PR validation sets FMTKIT_STAGE_TARGETS=host
Expand All @@ -13,7 +13,7 @@ env:

before:
hooks:
- ./packages/ts/infra/stage-ts-assets.sh {{ .Env.FMTKIT_STAGE_TARGETS }}
- ./packages/ts/toolchain/stage-ts-assets.sh {{ .Env.FMTKIT_STAGE_TARGETS }}

builds:
- id: fmtkit
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
25.8.2
25.9.0
2 changes: 1 addition & 1 deletion .oxlintrc.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"$schema": "https://cdn.jsdelivr.net/npm/oxlint@1.74.0/configuration_schema.json",
"plugins": ["typescript", "oxc"],
"categories": {
"correctness": "error"
Expand Down
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ help: ## Show the available targets
@printf '\nVariables: ARGS\n'

format: ## Run the formatter pipeline against ARGS
@./infra/task.sh format $(ARGS)
@./scripts/task.sh format $(ARGS)

format-all: ## Run the formatter pipeline against the whole repository
@./infra/task.sh fmtkit format-all
@./scripts/task.sh fmtkit format-all

check: ## Run the Go formatter in check mode against ARGS
@./infra/task.sh fmtkit check $(ARGS)
@./scripts/task.sh fmtkit check $(ARGS)

version: ## Print the version the working tree builds as
@./infra/task.sh fmtkit version
@./scripts/task.sh fmtkit version
Loading
Loading