summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2025-07-14 14:09:52 -0400
committerSacha Chua <sacha@sachachua.com>2025-07-14 14:09:52 -0400
commit7df309686195e224ddf5bbc8d8ce3cf4af8ee5be (patch)
tree1534a0f413fcc4ef7a8486646730ec0c7cab789a
parent947aba7072279c6b345453fe49de099ad438adf6 (diff)
downloademacsconf-wiki-7df309686195e224ddf5bbc8d8ce3cf4af8ee5be.tar.xz
emacsconf-wiki-7df309686195e224ddf5bbc8d8ce3cf4af8ee5be.zip
add claude-codeHEADmaster
-rw-r--r--2025/info/claude-code-after.md10
-rw-r--r--2025/info/claude-code-before.md12
-rw-r--r--2025/info/claude-code-nav.md7
-rw-r--r--2025/info/commonlisp-nav.md2
-rw-r--r--2025/info/juicemacs-nav.md2
-rw-r--r--2025/schedule-details.md3
-rw-r--r--2025/talks/claude-code.md69
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 &copy; 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"]]
+
+