From 7df309686195e224ddf5bbc8d8ce3cf4af8ee5be Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Mon, 14 Jul 2025 14:09:52 -0400 Subject: add claude-code --- 2025/info/claude-code-after.md | 10 ++++++ 2025/info/claude-code-before.md | 12 +++++++ 2025/info/claude-code-nav.md | 7 +++++ 2025/info/commonlisp-nav.md | 2 +- 2025/info/juicemacs-nav.md | 2 +- 2025/schedule-details.md | 3 +- 2025/talks/claude-code.md | 69 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 102 insertions(+), 3 deletions(-) create mode 100644 2025/info/claude-code-after.md create mode 100644 2025/info/claude-code-before.md create mode 100644 2025/info/claude-code-nav.md create mode 100644 2025/talks/claude-code.md diff --git a/2025/info/claude-code-after.md b/2025/info/claude-code-after.md new file mode 100644 index 00000000..fbc417c7 --- /dev/null +++ b/2025/info/claude-code-after.md @@ -0,0 +1,10 @@ + + + +Questions or comments? Please e-mail [ywatanabe@alumni.u-tokyo.ac.jp](mailto:ywatanabe@alumni.u-tokyo.ac.jp?subject=Comment%20for%20EmacsConf%202023%20claude-code%3A%20emacs-claude-code%3A%20Intelligent%20Claude%20Integration%20for%20Emacs) + +---- +Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2025/cfp]] for details. + + + diff --git a/2025/info/claude-code-before.md b/2025/info/claude-code-before.md new file mode 100644 index 00000000..934ba044 --- /dev/null +++ b/2025/info/claude-code-before.md @@ -0,0 +1,12 @@ + +[[!toc ]] +Format: 20-min talk ; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference +Status: Waiting for video from speaker + + + + + + +# Description + \ No newline at end of file diff --git a/2025/info/claude-code-nav.md b/2025/info/claude-code-nav.md new file mode 100644 index 00000000..42c0e0e1 --- /dev/null +++ b/2025/info/claude-code-nav.md @@ -0,0 +1,7 @@ + +
+Back to the [[talks]] +Previous by track: Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java +Next by track: Common Lisp images communicating like-a-human through shared Emacs slime and eev +Track: Development +
diff --git a/2025/info/commonlisp-nav.md b/2025/info/commonlisp-nav.md index 182b50a6..f65b35b2 100644 --- a/2025/info/commonlisp-nav.md +++ b/2025/info/commonlisp-nav.md @@ -1,7 +1,7 @@
Back to the [[talks]] -Previous by track: Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java +Previous by track: emacs-claude-code: Intelligent Claude Integration for Emacs Next by track: Saturday opening remarks Track: Development
diff --git a/2025/info/juicemacs-nav.md b/2025/info/juicemacs-nav.md index 9f5bf13a..54ca3555 100644 --- a/2025/info/juicemacs-nav.md +++ b/2025/info/juicemacs-nav.md @@ -2,6 +2,6 @@
Back to the [[talks]] Previous by track: Interactive Python development in Emacs -Next by track: Common Lisp images communicating like-a-human through shared Emacs slime and eev +Next by track: emacs-claude-code: Intelligent Claude Integration for Emacs Track: Development
diff --git a/2025/schedule-details.md b/2025/schedule-details.md index f059f6c6..b476cda3 100644 --- a/2025/schedule-details.md +++ b/2025/schedule-details.md @@ -13,7 +13,8 @@ Jump to: Development Jump to: General -

Development (3 talks)

+

Development (4 talks)

[[!template id=sched title="""Interactive Python development in Emacs""" url="""/2025/talks/python""" speakers="""David Vujic""" watch="""https://emacsconf.org/2025/watch/dev""" slug="""python""" note=""""""]] [[!template id=sched title="""Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java""" url="""/2025/talks/juicemacs""" speakers="""Kana""" watch="""https://emacsconf.org/2025/watch/dev""" slug="""juicemacs""" note=""""""]] +[[!template id=sched title="""emacs-claude-code: Intelligent Claude Integration for Emacs""" url="""/2025/talks/claude-code""" speakers="""Yusuke Watanabe""" watch="""https://emacsconf.org/2025/watch/dev""" slug="""claude-code""" note=""""""]] [[!template id=sched title="""Common Lisp images communicating like-a-human through shared Emacs slime and eev""" url="""/2025/talks/commonlisp""" speakers="""screwlisp""" watch="""https://emacsconf.org/2025/watch/dev""" slug="""commonlisp""" note=""""""]] \ No newline at end of file diff --git a/2025/talks/claude-code.md b/2025/talks/claude-code.md new file mode 100644 index 00000000..0e4c198c --- /dev/null +++ b/2025/talks/claude-code.md @@ -0,0 +1,69 @@ +[[!meta title="emacs-claude-code: Intelligent Claude Integration for Emacs"]] +[[!meta copyright="Copyright © 2025 Yusuke Watanabe"]] +[[!inline pages="internal(2025/info/claude-code-nav)" raw="yes"]] + + + + + +# emacs-claude-code: Intelligent Claude Integration for Emacs +Yusuke Watanabe (he/him) - Pronunciation: you-SKAY wah-tah-NAH-bay, GitHub: , + +[[!inline pages="internal(2025/info/claude-code-before)" raw="yes"]] + +As AI coding assistants become essential development tools, integrating +them seamlessly into our Emacs workflows becomes crucial. This talk +introduces emacs-claude-code, a package that transforms how Emacs users +interact with Claude Code through intelligent automation and enhanced vterm +integration. + +The main challenge with terminal-based AI assistants is the repetitive +manual interaction required. Claude Code presents various prompts (Y/N +choices, waiting states, continuation prompts) that interrupt the +development flow. emacs-claude-code solves this by introducing smart +auto-response patterns that recognize Claude's state and respond +appropriately, allowing developers to maintain focus on their code rather +than managing the AI interface. + +Key features I'll demonstrate include: + +1. **Intelligent Auto-Response System**: Automatically handles Claude's various prompt states (INITIAL WAITING, Y/N, Y/Y/N, WAITING) with customizable responses. This allows uninterrupted AI-assisted coding sessions. + +1. **Centralized Buffer Management**: A dashboard view of all Claude sessions showing their current state, auto-response status, and last interaction time. Users can quickly navigate between multiple AI conversations and toggle automation settings. + +1. **Yank-as-File Functionality**: Elegantly handles large code snippets by saving them as files instead of cluttering the terminal, with full TRAMP support for remote development. + +1. **Periodic Command Automation**: Executes custom commands at specified interaction intervals, perfect for maintaining context or triggering regular actions like compacting conversation history. + +The package leverages Emacs' powerful vterm-mode to create a robust +integration layer. I'll share implementation details about state detection +using regular expressions, buffer management techniques, and the advice +system used for seamless clipboard integration. + +Beyond the technical implementation, I'll discuss practical workflows that +emerge from this integration, including custom Claude commands (stored as +Markdown files) that can be triggered automatically based on context. The +talk will include a live demonstration showing how these features work +together to create a fluid AI-assisted development experience. + +This project embodies the Emacs philosophy of extensibility and automation, +making cutting-edge AI tools work the way Emacs users expect - efficiently, +automatically, and under their complete control. + +About the speaker: + +I'm Yusuke Watanabe, a researcher who uses Emacs for both academic work and +software development. After experiencing friction with manual Claude Code +interactions, I developed emacs-claude-code to automate repetitive tasks +and integrate AI assistance smoothly into Emacs workflows. This project +represents my approach to making modern AI tools work within the Emacs +ecosystem while maintaining the editor's core principles of efficiency and +user control. + + + +[[!inline pages="internal(2025/info/claude-code-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/claude-code-nav)" raw="yes"]] + + -- cgit v1.2.3