@@ -138,12 +138,6 @@ variable "experiment_additional_extensions" {
138
138
default = null
139
139
}
140
140
141
- variable "app_status_slug" {
142
- type = string
143
- description = " The slug to use for the app status reporting in MCP"
144
- default = " aider"
145
- }
146
-
147
141
locals {
148
142
base_extensions = <<- EOT
149
143
coder:
@@ -155,7 +149,7 @@ coder:
155
149
description: Report ALL tasks and statuses (in progress, done, failed) you are working on.
156
150
enabled: true
157
151
envs:
158
- CODER_MCP_APP_STATUS_SLUG: ${ var . app_status_slug }
152
+ CODER_MCP_APP_STATUS_SLUG: aider
159
153
name: Coder
160
154
timeout: 3000
161
155
type: stdio
@@ -309,36 +303,33 @@ CONVENTIONS_EOF
309
303
if [ -n "$CODER_MCP_AIDER_TASK_PROMPT" ]; then
310
304
echo "Running Aider with message in tmux session..."
311
305
# Start aider with the message flag and yes-always to avoid confirmations
312
- tmux new-session -d -s ${ var . session_name } -c ${ var . folder } "export ANTHROPIC_API_KEY=\"$ANTHROPIC_API_KEY\"; export CODER_MCP_APP_STATUS_SLUG=\"${ var . app_status_slug } \"; aider --architect --yes-always --read CONVENTIONS.md --message \"Report each step to Coder. Your task: $CODER_MCP_AIDER_TASK_PROMPT\" | tee -a \"$HOME/.aider.log \""
306
+ tmux new-session -d -s ${ var . session_name } -c ${ var . folder } "echo \"Starting Aider with app status slug: aider\"; export ANTHROPIC_API_KEY=\"$ANTHROPIC_API_KEY\"; export CODER_MCP_APP_STATUS_SLUG=\"aider \"; aider --architect --yes-always --read CONVENTIONS.md --message \"Report each step to Coder. Your task: $CODER_MCP_AIDER_TASK_PROMPT\""
313
307
# Create a flag file to indicate this task was executed
314
308
touch "$HOME/.aider_task_executed"
315
- echo "Aider task started in tmux session '${ var . session_name } '. Check the logs for progress."
309
+ echo "Aider task started in tmux session '${ var . session_name } '. Check the UI for progress."
316
310
else
317
311
# Create a new detached tmux session for interactive use
318
- tmux new-session -d -s ${ var . session_name } -c ${ var . folder } "export ANTHROPIC_API_KEY=\"$ANTHROPIC_API_KEY\"; export CODER_MCP_APP_STATUS_SLUG=\"${ var . app_status_slug } \"; aider --read CONVENTIONS.md | tee -a \"$HOME/.aider.log\" "
312
+ tmux new-session -d -s ${ var . session_name } -c ${ var . folder } "echo \"Starting Aider with app status slug: aider\"; export ANTHROPIC_API_KEY=\"$ANTHROPIC_API_KEY\"; export CODER_MCP_APP_STATUS_SLUG=\"aider \"; aider --read CONVENTIONS.md"
319
313
echo "Tmux session '${ var . session_name } ' started. Access it by clicking the Aider button."
320
314
fi
321
315
else
322
316
# Check if we have a task prompt
323
317
if [ -n "$CODER_MCP_AIDER_TASK_PROMPT" ]; then
324
318
echo "Running Aider with message in screen session..."
325
319
326
- # Create log file
327
- touch "$HOME/.aider.log"
328
-
329
320
# Ensure the screenrc exists with multi-user settings
330
321
if [ ! -f "$HOME/.screenrc" ]; then
331
- echo "Creating ~/.screenrc and adding multiuser settings..." | tee -a "$HOME/.aider.log"
322
+ echo "Creating ~/.screenrc and adding multiuser settings..."
332
323
echo -e "multiuser on\nacladd $(whoami)" > "$HOME/.screenrc"
333
324
fi
334
325
335
326
if ! grep -q "^multiuser on$" "$HOME/.screenrc"; then
336
- echo "Adding 'multiuser on' to ~/.screenrc..." | tee -a "$HOME/.aider.log"
327
+ echo "Adding 'multiuser on' to ~/.screenrc..."
337
328
echo "multiuser on" >> "$HOME/.screenrc"
338
329
fi
339
330
340
331
if ! grep -q "^acladd $(whoami)$" "$HOME/.screenrc"; then
341
- echo "Adding 'acladd $(whoami)' to ~/.screenrc..." | tee -a "$HOME/.aider.log"
332
+ echo "Adding 'acladd $(whoami)' to ~/.screenrc..."
342
333
echo "acladd $(whoami)" >> "$HOME/.screenrc"
343
334
fi
344
335
@@ -347,40 +338,41 @@ CONVENTIONS_EOF
347
338
cd ${ var . folder }
348
339
export PATH=\"$HOME/bin:$HOME/.local/bin:$PATH\"
349
340
export ANTHROPIC_API_KEY=\"$ANTHROPIC_API_KEY\"
350
- export CODER_MCP_APP_STATUS_SLUG=\"${ var . app_status_slug } \"
351
- aider --architect --yes-always --read CONVENTIONS.md --message \"Report each step to Coder. Your task: $CODER_MCP_AIDER_TASK_PROMPT\" | tee -a \"$HOME/.aider.log\"
341
+ export CODER_MCP_APP_STATUS_SLUG=\"aider\"
342
+ echo \"Starting Aider with app status slug: aider\"
343
+ aider --architect --yes-always --read CONVENTIONS.md --message \"Report each step to Coder. Your task: $CODER_MCP_AIDER_TASK_PROMPT\"
352
344
/bin/bash
353
345
"
354
346
355
347
# Create a flag file to indicate this task was executed
356
348
touch "$HOME/.aider_task_executed"
357
- echo "Aider task started in screen session '${ var . session_name } '. Check the logs for progress."
349
+ echo "Aider task started in screen session '${ var . session_name } '. Check the UI for progress."
358
350
else
359
351
# Create a new detached screen session for interactive use
360
- touch "$HOME/.aider.log"
361
352
362
353
# Ensure the screenrc exists with multi-user settings
363
354
if [ ! -f "$HOME/.screenrc" ]; then
364
- echo "Creating ~/.screenrc and adding multiuser settings..." | tee -a "$HOME/.aider.log"
355
+ echo "Creating ~/.screenrc and adding multiuser settings..."
365
356
echo -e "multiuser on\nacladd $(whoami)" > "$HOME/.screenrc"
366
357
fi
367
358
368
359
if ! grep -q "^multiuser on$" "$HOME/.screenrc"; then
369
- echo "Adding 'multiuser on' to ~/.screenrc..." | tee -a "$HOME/.aider.log"
360
+ echo "Adding 'multiuser on' to ~/.screenrc..."
370
361
echo "multiuser on" >> "$HOME/.screenrc"
371
362
fi
372
363
373
364
if ! grep -q "^acladd $(whoami)$" "$HOME/.screenrc"; then
374
- echo "Adding 'acladd $(whoami)' to ~/.screenrc..." | tee -a "$HOME/.aider.log"
365
+ echo "Adding 'acladd $(whoami)' to ~/.screenrc..."
375
366
echo "acladd $(whoami)" >> "$HOME/.screenrc"
376
367
fi
377
368
378
369
screen -U -dmS ${ var . session_name } bash -c "
379
370
cd ${ var . folder }
380
371
export PATH=\"$HOME/bin:$HOME/.local/bin:$PATH\"
381
372
export ANTHROPIC_API_KEY=\"$ANTHROPIC_API_KEY\"
382
- export CODER_MCP_APP_STATUS_SLUG=\"${ var . app_status_slug } \"
383
- aider --read CONVENTIONS.md | tee -a \"$HOME/.aider.log\"
373
+ export CODER_MCP_APP_STATUS_SLUG=\"aider\"
374
+ echo \"Starting Aider with app status slug: aider\"
375
+ aider --read CONVENTIONS.md
384
376
/bin/bash
385
377
"
386
378
echo "Screen session '${ var . session_name } ' started. Access it by clicking the Aider button."
@@ -406,6 +398,8 @@ resource "coder_app" "aider_cli" {
406
398
export PATH="$HOME/bin:$HOME/.local/bin:$PATH"
407
399
408
400
# Environment variables are set in the agent template
401
+ # Explicitly export the status reporting environment variable
402
+ export CODER_MCP_APP_STATUS_SLUG="aider"
409
403
410
404
# Set up environment for UTF-8 support
411
405
export LANG=en_US.UTF-8
@@ -415,11 +409,13 @@ resource "coder_app" "aider_cli" {
415
409
if [ "${ var . use_tmux } " = "true" ]; then
416
410
# Check if session exists, attach or create
417
411
if tmux has-session -t ${ var . session_name } 2>/dev/null; then
418
- echo "Attaching to existing Aider tmux session..." | tee -a "$HOME/.aider.log"
412
+ echo "Attaching to existing Aider tmux session..."
413
+ # Ensure the environment variables are set when attaching
414
+ tmux setenv -t ${ var . session_name } CODER_MCP_APP_STATUS_SLUG "aider"
419
415
tmux attach-session -t ${ var . session_name }
420
416
else
421
- echo "Starting new Aider tmux session..." | tee -a "$HOME/.aider.log"
422
- tmux new-session -s ${ var . session_name } -c ${ var . folder } "export ANTHROPIC_API_KEY=\"$ANTHROPIC_API_KEY\"; aider --read CONVENTIONS.md | tee -a \"$HOME/.aider.log\" ; exec bash"
417
+ echo "Starting new Aider tmux session..."
418
+ tmux new-session -s ${ var . session_name } -c ${ var . folder } "export ANTHROPIC_API_KEY=\"$ANTHROPIC_API_KEY\"; export CODER_MCP_APP_STATUS_SLUG=\" aider\"; aider --read CONVENTIONS.md; exec bash"
423
419
fi
424
420
elif [ "${ var . use_screen } " = "true" ]; then
425
421
# Use screen
@@ -428,13 +424,15 @@ resource "coder_app" "aider_cli" {
428
424
echo "Error: No existing Aider session found. Please wait for the script to start it."
429
425
exit 1
430
426
fi
427
+ # Set the environment variable before attaching to the screen session
428
+ export CODER_MCP_APP_STATUS_SLUG="aider"
431
429
# Only attach to existing session
432
430
screen -xRR ${ var . session_name }
433
431
else
434
432
# Run directly without a multiplexer
435
433
cd "${ var . folder } "
436
- echo "Starting Aider directly..." | tee -a "$HOME/.aider.log"
437
- export CODER_MCP_APP_STATUS_SLUG="${ var . app_status_slug } "
434
+ echo "Starting Aider directly..."
435
+ export CODER_MCP_APP_STATUS_SLUG="aider "
438
436
aider --read CONVENTIONS.md
439
437
fi
440
438
EOT
0 commit comments