Sublime Forum

Back to Sublime Text 4 with Agentic Coding

#1

In the agentic coding era, my primary job is no longer typing out syntax by line. With autonomous tools like claudecode, the agent is handling the heavy lifting. We Hardly “Code” anymore and the role has shifted to:

  • review files and diffs generated by the agent
  • verifying agent outcome to ensure it behaves as expected
  • evaluating arch trade-offs and choosing the right solution

I spend less time writing code, and vastly more time reading, and explore. When using claudecode in iTerm2, I find the terminal hard to read and review code though I’m the vim user. In claude code, you have to use some shotcut(Ctrl+o) to expand edit tool output and editing a PLAN.md requires awkward keybindings to another pane. The autonomous agent idea is good and you still need to see what’s generated.

That’s the reason I back to Sublime Text. While AI writes the raw code, we don’t need bloated IDE with endless sidebar, navi bar, and action buttons. Just need a tool that lets us focus entirely on understanding code and inspecting changes .

Sublime Text’s distraction-free design, file navigation reflect on how our daily work should be. over the past year I try to shipping the agent tools into editor and build a editor-first interface to get a better coding agent. The design is applied in a new TermMate coding agent package to replace the traditional chat window with a powerful editor-native chat view.

Actually the existing lsp-copilot have features to suggest code and chat pane. We need a more general and agentic interaction over claude code and codex CLI. So the new coding agent in Sublime Text are built on top of text-editor technology. It treats every agent conversation as a live document, allowing you to read, edit more directly:

  • editor-native chat view: the chat view rendered as native editor text and conversation lives as plain text inside the editor itself. I even use vim to do typing inside the chat view, also copy and paste is more easy.
  • builtin tool navigation: any file path, diff header, or line reference within tool use by claude code(edit, read) get an jump link to click in sublime text.
  • command palette-first control: Instead of adding buttons, agent shortcuts permission ( allow-edit , accept-all ) and model switches are integrated into Command Palette , we do not need to remember the terminal shotcut (ig ctrol+o to expand).

Coding agent within sublime can benefit a lot from editor features. The diff block generated by editing tool call can get fold feature in the gutter arrow. expand and fold text become quite easy in conversation message.

The related develop topic is posted in Using agentic coding in ST with codex, claude cli

0 Likes

#2

I can’t read those screenshots.
Let me explain what I do. And I fully expect a flag. Or two. I don’t mind.
First I adopted CherryTree as my “shuttle” between Claude and Edge.
CherryTree is a ubiquitous notes editor but contains codeboxes.
Now I have taught Claude to return all code and scripts not the normal painful way but as a single *.ctd container (which is XML compatible). This means that on a Claude download I can simply click and open a single *.ctd not a batch of files and lo it runs. Every script produced by Claude is (I have painfully taught Claude) to place in either rich text nodes or code blocks. One code box per node not embedded in rich text. This means that code nodes can be addressed as objects by command line. Using the cherrytree -n argument.
The result … I keep all the knowledge and code in a CherryTree container. Code executable therein. Including explanatory notes.
Moreover by installing EXalt package in Subl I can save *.ctd to Subl. Edited as XML And I can edit and run the code therein.
This is what I have dubbed my “AI Shuttle Protocol”
Everything held in a shuttle. To and fro. Including sent to Claude. And other channels.

0 Likes

#3

That’s quite an unconventional way to process conversation from claude code.

In some way, markdown is designed for humans to read, with the webview formatting it as a side effect. makrdown as a format for language model, is more like a compromise made for humans. So trying to have the editor handle plain text directly (with some kind of color format) is also a good approach.

In fact, when OpenAI codex internally formats markdown for the terminal, it simply strips the syntax tags and adds grayscale display. For tables, it even chooses a vertical/transposed table layout to deal with narrow screen width as terminal can’t render scrollbar directly. so rendering message from coding agent as plain text can take the same approach and then introduce fold, click, popup and phantom features to interact with agent tool use.

0 Likes

#4

Whilst we are sharing, here is my workflow. I use Codex and Sublime Text in a side-by-side model, with handover to perform agentic VS hand coded changes. I find the native Codex UI is more intuitive and productive than TermMate or similar. Horses for courses

I then use Tolaria as my local Knowledge base and ‘Long Term Memory’. It is basically a frontend to local .MD files that perform the dual purpose of capturing what I do, plus training data for future projects and threads. I have different Tolaria vaults for different projects and workstreams.

Codex can read and write directly to/from Tolaria via MCP, and I have ‘a working with me profile’ that I use as basic training data, so I can prompt an entirely naive new project with something like the following:

Prime yourself from this repo's AGENTS.md and use Tolaria for deeper KB discovery, then briefly confirm and wait for my task.

A sample agents file looks something like this:

# CleanMD Agent Notes

## One-Line Thread Bootstrap

If Greg starts a new thread with:

`Prime yourself from this repos AGENTS.md and use Tolaria for deeper KB discovery, then briefly confirm and wait for my task.`

treat it as an instruction to:

1. Read this file and every source in `Start With`.
2. Use the named Tolaria routes for focused discovery in the relevant vaults; do not load unrelated vault content indiscriminately.
3. Briefly confirm the project context, authority order, knowledge route, runtime, and verification default described in `Expected Priming Confirmation`.
4. Mention any material source that was unavailable and the fallback used.
5. Make no project changes, begin no implementation, and wait for the task.

## Start With

For thread priming, read in this order:

1. This repositorys `AGENTS.md` and `README.md`.
2. `docs/project-context.md`, `docs/decisions.md`, `docs/setup.md`, and `docs/kb-notes.md`.
3. The central working profile:
   `working-with-me-profile.md`
4. The central vault registry:
   `vault-registry.md`
5. Through Tolaria, consult the focused central and Sublime routes below. Read source files, settings, fixtures, and tests only as required by the assigned task.

......
0 Likes

#5

What I am not conveying is that CherryTree (and I have no affiliation) does all of above and more. I try to reduce the entropy of packages, plugins. Although I treat paired apps as plugins. Including Claude in browser.

If you take the three window layout no need for that. It means that old eyes like mine have to squint to read. Why not have a selectable window stack like x-tile (made by the creator of CherryTree).

There is some common ground in that CherryTree can mix rich text and codebox nodes (markdown and a score more syntaxes).

There is a very rich choice of syntax to adopt per codebox.

As soon as I launch CherryTree I capture the filepath by File Document Path to Clipboard.

Then I create a tiny code box which runs the CherryTree path … in Subl.

I also have a CherryTree.sublime-build file which means I can create a dialogue between Sublime and CherryTree. They are in sync.

So I can edit in Subl and fire towards Claude. Or anywhere else.

Subl Build is my launchpad.

I accept that it is unconventional. So I carry on. Slings and arrows. Claude seems happy enough. And I can audit and record transactions. Even allow multiple users to be “flies on the wall” … in a team. By secure network invitation only.

This was written in CherryTree.

0 Likes

#6

From workflow, I actually prefer avoiding long-term memory. It often messes with detail design over time.

the reliable artifacts are the code and project docs which not include extra noise

0 Likes

#7

I agree that Claude can be overwhelming with the flood of information thrown at you. This is why I opted to have XML containers. Shuttles. Any links to SpaceX reusable rockets is by coincidence. I used this method years back. But the metaphor sticks.

And I have scripts to unpack the discourses flowing.

I avoid screenshots.

Context memory not held by Claude but in fact recycled back (“shuttled” back), to Claude. That is “mined” out of the flood of information nuggets and rules to recycle. Like waste recycling plant at the Edge. My metaphors again.

I submit to Claude not only usual prompts (which is a crude mechanism) but prepared uploaded context containers. XML compliant so auditors can (in theory) scrutinise.

I now dump discourses and analyse everything at the Edge. Then perhaps delete Claudes’s Task memory. If I need it I have it at the Edge. Backed up.

Claude has recently prepared a code to strip out embedded discourse references such as claude.ai. And same for other Agents.

My approach is to distil into Edge knowledge containers - which incidentally can be opened in Subl if Exalt is installed. So the trend is towards safety, security, sovereignty of knowledge including code.

Moreover these containers being XML can be placed in noSQL database. eXistDB is nice.

Although Claude is dominant and reigns supreme it can be tamed. I point to a little known Agent named Lua which sits inside Proton Mail. So sensitive content can be processed here and passed to Claude.

Unconventional, yes.

Next time you run Claude ask it … “Claude, report back the entropy in this discourse. Follow Shannon’s Law of Information Theory”.

0 Likes

#8

claude code (also codex) have build-in auto long-term memory to remember your preference and project-related facts. It may extract some kind of facts from the end of conversation.

So when I specify directory name or project name(under that folder) for agent chat in sublime text, it automatically get which project I refer to. even I add multi folders to project.

0 Likes

#9

Yes. I understand. But do you not see that you are paying for that feature by paying for their super accounts. I prefer a “just in time” approach to push relevant context and not having an idling engine to pay for. Keep your knowledge at the edge. And their “long-term memory” can be fuzzy. In one agent Manus (now owned by Meta) I had to instruct it to install recoll into its Ubuntu wrapper so I could search long term memory. It is the “silo effect”

0 Likes