Merged
Conversation
Sweep all import aliases across 143 files to enforce three conventions: - Yoda-style (parent+leaf LTR): cfgTime not timeCfg, errFs not fserr - camelCase: hookRoot not hookroot, remindCore not remindcore - Domain-specific error aliases: errPad/errFs/errInit not generic ctxErr Eliminates all numeric-suffix aliases (time2, io2, hook2, session2, claude2, etc.) and fixes typos (statuRroot, ctEerr, errRcall). Signed-off-by: Jose Alekhinne <jose@ctx.ist>
Every Go package now has a doc.go with the project copyright header and a concise behavior-focused package comment. Moved two existing package comments from source files (messages/registry.go, message/message.go) into their respective doc.go files. Signed-off-by: Jose Alekhinne <jose@ctx.ist>
…en links VS Code extension: - Bump version 0.7.0 → 0.8.0 - Fix task complete bug (was running nonexistent `ctx complete`) - Fix tasks→task singular convention (was running `ctx tasks`) - Merge complete+tasks into unified task handler - Add 15 new chat participant commands: memory, journal, doctor, config, prompt, why, change, dep, guide, permission, site, loop, pause, resume, reindex - Update freeform intent detection, help text, and followups Release script: - Sync VS Code extension version (package.json + package-lock.json) - Sync getting-started.md download URLs alongside index.md - Sync integrations.md VSIX version Broken links fixed: - CONTRIBUTING.md: ctx.ist/contributing/ → ctx.ist/home/contributing/ - CONTRIBUTING-SKILLS.md: docs/skills.md → docs/reference/skills.md - docs/cli/tools.md: recipes/prompts.md → recipes/prompt-templates.md - docs/home/about.md: ../../blog/ → ../blog/ Signed-off-by: Jose Alekhinne <jose@ctx.ist>
- Add docs/operations/release.md: step-by-step release runbook for maintainers covering prerequisites, commands, what the script does automatically, CI behavior, and troubleshooting - Update _ctx-release skill to reflect new version sync targets (VS Code extension, getting-started.md, integrations.md) - Fix contributing.md: skill count 29 → 39, stale example path complete/complete.go → drift/drift.go - Add release.md to zensical.toml and operations index - Rebuild site Signed-off-by: Jose Alekhinne <jose@ctx.ist>
lint-drift: filter cmd constants to DescKey* only (71 false positives were Use* constants), fix exclusion filenames (whitespace.go, ext.go), remove cross-namespace dupe check (separate YAML files share keys by design). make audit now passes clean. release-notes skill: use git tag --sort instead of git describe to find the latest tag globally, not just reachable ancestors. Signed-off-by: Jose Alekhinne <jose@ctx.ist>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context CLI v0.8.0
374 commits since v0.6.0, 2255 files changed, and the most ambitious architectural overhaul in ctx's history. This release adds an MCP server for tool-agnostic AI integration, a memory bridge connecting Claude Code's auto-memory to
.context/, and a VS Code extension with 15 commands. Under the hood, every CLI package was restructured into acmd/ + core/taxonomy, all user-facing strings were externalized to YAML for i18n readiness, and the sole third-party UI dependency (fatih/color) was removed.Canonical Release Narrative
(coming soon) https://ctx.ist/blog/
Highlights
ctx mcp serve) with 8 tools, 4 prompts, resource subscriptions, and session state. Any MCP-compatible AI tool can now read and write.context/files without ctx-specific integration.ctx memory sync/import/diffconnects Claude Code's auto-memory (MEMORY.md) to.context/files, turning ephemeral tool memory into structured project context.commands.yaml,flags.yaml,text/*.yaml) withDescKeyconstant lookups. Foundation for future localization.cmd/root/(cobra wiring) +core/(logic and types). Output functions moved tointernal/write/packages. Cross-cutting types consolidated ininternal/entity. Errors split into 22 domain files ininternal/err/.Features
MCP Server
Memory Bridge
ctx memory syncto mirror Claude Code MEMORY.md into.context/memory/ctx memory importwith--dry-runfor promoting auto-memory entries into decisions, learnings, or conventionsctx memory diffto show divergence between auto-memory and context filescheck-memory-drifthook to nudge when MEMORY.md changesWebhook Notifications
ctx notifywith fire-and-forget webhook deliveryCLI Commands
ctx guidecommand for onboarding and helpctx depfor multi-ecosystem dependency graphs (Go, Node.js, Python, Rust)ctx system bootstrapfor AI agent context-dir discoveryctx system statsfor session token usage telemetryctx site feedfor Atom 1.0 blog feed generationctx pad import,ctx pad export, andctx pad mergectx recall syncfor frontmatter-to-state lock synchronizationctx changefor codebase change detectionctx loopfor generating autonomous iteration scriptsHooks
context-load-gatev2: auto-inject context content instead of directing agent to read filescheck-freshnesshook with per-file review URL configurationcheck-knowledge,check-map-staleness,specs-nudge, andpost-commithookscheck-memory-drift,check-version, andcheck-task-completionhooksqa-reminderwith hard gate and anti-deferral languageVS Code Extension
Security
SafePostto centralize HTTP client security policySafeCreateFileandSafeAppendFilewith permission enforcement~/.ctx/.ctx.key(replaces per-project slug keys)--keep-frontmatterflagSystem Monitoring
sysinfopackage with platform build tags for OS metricsctx system resourcesfor memory, swap, disk, and load displayctx doctorwith configurable health checksBug Fixes
resourcesListreturning only 1 MCP resource; deduplicate subscribe/unsubscribe handlers--forceto properly discard enriched frontmatterlint-drift.shfalse positives:Use*constants incorrectly checked against commands.yaml, wrong exclusion filenames, cross-namespace duplicate check flagging intentional key reuseconsolidateToolRunsroot cause:(xN)on its own line creating broken fencesnolint:errcheckdirectives in favor of explicit error handlingRefactoring
Architecture
cmd/root/+core/taxonomy withparent.gowiringcore/andcmd/tointernal/write/domain packagesinternal/entity(session, parser, export types)internal/errinto 22 domain files replacing monolithicerrors.gointernal/entryfor shared entry domain APIinternal/inspectfor string predicatesinternal/formatfor shared formatting utilitiesinternal/iofor safe file operations (TouchFile,SafeCreateFile)Cmd()from parent packages intocmd/root/cmd.goacross all CLI packagesCompactContextwith no I/O; callers own file writes and reportingString Externalization
commands.yamlflags.yamltext.yamlinto 6 domain files loaded vialoadYAMLDirTextDescKeytest verifying all 879 constants resolve to non-empty YAML valuescFlagconstantsconfig/tokenicon constantsCode Quality
fatih/colordependency; Unicode symbols are sufficient for terminal outputdoc.goto all 75 packages missing package documentationUse*constants for all 35 system subcommandsinternal/err, eliminating per-packageerr.gobroken-window patternInit()for static embedded data instead of per-accessorsync.OnceConfig
commands.yamlinto 4 domain files.context/state/CI
get-pr-commitsstep in DCO checkDependencies
fatih/color(terminal coloring); replaced by Unicode symbolsspf13/cobra,gopkg.in/yaml.v3Documentation
docs/operations/release.md)Contributors
Full changelog: v0.6.0...v0.8.0