cmd/clide/main.go is the single entry; the same binary will later switch into sidecar-daemon mode via --daemon. internal/cli holds the dispatch (stdlib flag for now, Cobra arrives with the first real subcommand in Tier 2). internal/diag mirrors pql's exit-code contract so the two tools share one mental model for callers. internal/version exposes the build-info struct that the Makefile's -ldflags -X targets stamp; Info() is wired to --version so the binary reports both the declared project.yaml version and the commit it was built from. The daemon, pty, proc, git, ipc, and pql sub-packages ship as doc.go stubs naming the subsystem they will own. They keep the layout legible before the code lands so tier work has a home on arrival. Module path targets Gitea (git.schweitz.net/jpmschweitzer/clide/sidecar), matching where the repo lives. Go module resolution works if the host serves the meta tags; a vanity import path can be added later if needed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.9 KiB
3.9 KiB
Changelog
All notable changes to clide are documented in this file.
The format follows Keep a Changelog 1.1.0, and this project adheres to Semantic Versioning.
This changelog tracks the Flutter rebuild at the repo root. The Python
Textual implementation's changelog is preserved under
legacy/CHANGELOG.md.
Versions are tracked in project.yaml under version:,
which is the single source of truth. Cutting a release means (a) moving
the entries below from ## [Unreleased] under a new dated version
heading, and (b) bumping project.yaml version: in the same commit.
[Unreleased]
Changed
.gitignorerewritten for the new toolchain: Flutter (build output underapp/), Dart (.dart_tool/), Go sidecar (sidecar/bin/,sidecar/dist/, the legacy/clidebinary), plus the usual test/OS/editor/secret rules. Python-specific rules narrow tolegacy/**where they still apply.
Added
- Architectural decision records carried forward from the short-lived
claudianplugin project (discarded in favour of this Flutter rebuild): ADR 0001 — CLI-first, not MCP. ADR 0002 — Sidecar language: Go. ADR 0003 — pql as supporter tool; wrap, don't duplicate; pql is a Clide subsystem when present. ADR 0004 — Ignore file strategy (ignore_files:in.pql/config.yaml, layered). - Go sidecar/CLI skeleton under
sidecar/(modulegit.schweitz.net/jpmschweitzer/clide/sidecar):cmd/clide/main.go,internal/cliwith a stdlib-flag dispatch,internal/diagmirroring pql's exit-code + stderr-JSON contract,internal/versionwith ldflag-stamped build info, and placeholder packages fordaemon,pty,proc,git,ipc,pqlawaiting their tier.clide --versionemits JSON build-info today. - Root
Makefiledrives both the Go sidecar and the Flutter app under one toolchain. Version is read fromproject.yamlvia awk and stamped into the sidecar via-ldflags -X. Flutter targets gracefully noop before the app is scaffolded so the Makefile is usable from day one. Pinned Go tooling (govulncheck, goimports, golangci-lint) installs viamake tools. ci/entry scripts:test.sh,lint.sh(includes the supply-chain gate — no green lint without a green CVE scan),security.sh,release.sh(stub).- Project identity files for the Flutter rebuild at the repo root:
project.yaml(single source of truth for version + module path, version 2.0.0-dev), a freshREADME.md, MITLICENSE, and.editorconfig. The Python clide's manifest and README are preserved underlegacy/. docs/initial-plan.md— the north-star design document for the Flutter rebuild. Captures what we kept from Python Clide (pane model, git skills, Claude-always-visible), what we took from Obsidian (canvas and graph — no vault, no bases, no plugin inheritance), what Claudian's short experiment contributed (Go sidecar, CLI-first, pql-as-subsystem, ignore-file strategy), and the tier roadmap (Tier 0 app+sidecar handshake → Tier 5 canvas+graph).CLAUDE.mdorientation doc for future Claude Code instances: project identity, guardrails as one-liners, tier ordering, parent-project pointers, commands, dependencies & supply chain, open questions. Points at the design doc and ADRs rather than restating their content.- Claude Code configuration under
.claude/: project-level allow/deny permissions and two skills —skill-create(generic skill authoring guidance) andgit-commit(this repo's commit conventions: no Conventional Commits, Keep a Changelog discipline,project.yaml-and-changelog-bumped-together rule, attribution trailer, safety reminders).