https://github.com/christianalfoni/codespark
A coding agent where you still code
https://github.com/christianalfoni/codespark
agent ai code vscode
Last synced: about 1 month ago
JSON representation
A coding agent where you still code
- Host: GitHub
- URL: https://github.com/christianalfoni/codespark
- Owner: christianalfoni
- License: mit
- Created: 2026-04-05T18:10:54.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-05T08:22:30.000Z (about 1 month ago)
- Last Synced: 2026-05-05T08:30:59.488Z (about 1 month ago)
- Topics: agent, ai, code, vscode
- Language: TypeScript
- Homepage: https://marketplace.visualstudio.com/items?itemName=codespark.codespark-agent
- Size: 3.78 MB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
A coding agent where you still code

## Getting started
1. Install and authenticate the [Claude Code CLI](https://code.claude.com/docs/en/quickstart)
2. Install the CodeSpark extension: [Install in VS Code](https://marketplace.visualstudio.com/items?itemName=codespark.codespark-agent)
## How it works
### Assistant (`Cmd+Shift+I` / `Ctrl+Shift+I`)
Your thinking partner. Lives in the sidebar. Powered by Claude Code CLI running default models. It can read files, grep through your codebase, search the web, and fetch documentation. It helps you understand code and break down work into guided steps.
- Use `Cmd+Shift+I` / `Ctrl+Shift+I` from a file to open the assistant with that file as context
- Ask questions, explore approaches, and gather context
- When you want to implement something, the assistant creates a **breakdown** — a list of focused steps, each targeting a specific file
### Prompt states
The prompt's toolbar adapts to where you are in the flow.
**1. Empty conversation** — just the prompt.
- **New session** resets the conversation
- **Sessions** opens the history of previous sessions
**2. Conversation view with a breakdown** — the assistant has produced steps, and you're viewing the full conversation. Selecting _Conversation_ keeps the chat focused on the whole breakdown rather than one step.
- **Review** asks the assistant to review the changes you've made against the breakdown and suggest improvements
**3. Step selected** — you've picked a specific step to work on. The prompt now references that step, and a new button appears.
- **Fast Edit** asks the assistant to apply the selected step directly
- Any follow-up you send is scoped to the selected step — steps act like **threads**. The exchange is also visible inline in the main conversation, so you never lose the wider context
## Breakdowns
A **breakdown** is a list of focused steps, each targeting a specific file — but _you_ implement them. The assistant helps you understand the problem, explores the codebase, and generates the context you need to move fast. Then you write the code, or let the fast editing agent handle the mechanical parts while you stay in control.
This matters because **you are responsible for your codebase**. Your understanding of it is not a nice-to-have — it is what makes you effective. That understanding evolves through implementation, not through review. Every time you write code, you reinforce your mental model. Every time you skip implementation and only review, that model atrophies.
The breakdown makes this practical:
- **Context generation is fast** — the assistant reads files, searches the codebase, and synthesizes what you need to know.
- **Context is sticky** — because you implement the steps, what you learn stays with you. It becomes part of how you think about the codebase.
- **Token cost drops dramatically** — a breakdown is a fraction of the tokens an agent spends implementing changes end-to-end.
## Token efficiency
CodeSpark is designed to keep token usage — and cost — low.
**The assistant agent starts lean.** A fresh Claude Code session loads ~16.7K tokens of context: a large system prompt, tool definitions for Bash, Edit, Write, and more. The CodeSpark assistant strips this down to ~8.5K by restricting the tool set to read-only operations (Glob, Grep, WebSearch, WebFetch, and a handful of git tools). No Bash. Tool definitions repeat on every turn, so a smaller set pays off across the entire conversation.
**Editing is gated.** The assistant can see `edit_file` and `write_file` tools but they are blocked by default — calling them returns an error that redirects the model to `write_breakdown` instead. Editing is only unlocked when you explicitly click **Fast Edit** on a step, and only for that step's file. This keeps exploration sessions read-only without needing to remove the tools from the schema.
**Fast Edit reuses the existing session.** Applying a step sends an `[APPLY STEP]` message into the same assistant session — no new process, no model switch, no cold cache. The full conversation context is already warm.