diff options
Diffstat (limited to '2025')
-rw-r--r-- | 2025/info/claude-code-after.md | 10 | ||||
-rw-r--r-- | 2025/info/claude-code-before.md | 12 | ||||
-rw-r--r-- | 2025/info/claude-code-nav.md | 7 | ||||
-rw-r--r-- | 2025/info/commonlisp-nav.md | 2 | ||||
-rw-r--r-- | 2025/info/juicemacs-nav.md | 2 | ||||
-rw-r--r-- | 2025/schedule-details.md | 3 | ||||
-rw-r--r-- | 2025/talks/claude-code.md | 69 |
7 files changed, 102 insertions, 3 deletions
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 @@ +<!-- Automatically generated by emacsconf-publish-after-page --> + + +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. + + +<!-- End of emacsconf-publish-after-page --> 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 @@ +<!-- Automatically generated by emacsconf-publish-before-page --> +[[!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 +<!-- End of emacsconf-publish-before-page -->
\ 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 @@ + +<div class="talk-nav"> +Back to the [[talks]] +Previous by track: <a href="/2025/talks/juicemacs">Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java</a> +Next by track: <a href="/2025/talks/commonlisp">Common Lisp images communicating like-a-human through shared Emacs slime and eev</a> +Track: <span class="sched-track Development">Development</span> +</div> 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 @@ <div class="talk-nav"> Back to the [[talks]] -Previous by track: <a href="/2025/talks/juicemacs">Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java</a> +Previous by track: <a href="/2025/talks/claude-code">emacs-claude-code: Intelligent Claude Integration for Emacs</a> Next by track: <a href="/2025/talks/sat-open">Saturday opening remarks</a> Track: <span class="sched-track Development">Development</span> </div> 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 @@ <div class="talk-nav"> Back to the [[talks]] Previous by track: <a href="/2025/talks/python">Interactive Python development in Emacs</a> -Next by track: <a href="/2025/talks/commonlisp">Common Lisp images communicating like-a-human through shared Emacs slime and eev</a> +Next by track: <a href="/2025/talks/claude-code">emacs-claude-code: Intelligent Claude Integration for Emacs</a> Track: <span class="sched-track Development">Development</span> </div> 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: <a href="#dev">Development</a> Jump to: <a href="#gen">General</a> -<h1 id="dev" class="sched-track Development">Development (3 talks)</h1> +<h1 id="dev" class="sched-track Development">Development (4 talks)</h1> [[!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"]] + +<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing --> +<!-- You can manually edit this file to update the abstract, add links, etc. ---> + + +# emacs-claude-code: Intelligent Claude Integration for Emacs +Yusuke Watanabe (he/him) - Pronunciation: you-SKAY wah-tah-NAH-bay, GitHub: <https://github.com/ywatanabe1989/emacs-claude-code>, <mailto:ywatanabe@alumni.u-tokyo.ac.jp> + +[[!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"]] + + |