@elyun/bylane 1.31.0 → 1.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -28,7 +28,7 @@ GitHub Issues에서 시작해 코드 구현, 테스트, 커밋, PR 생성, 리
28
28
  - [Claude Code](https://claude.ai/code) CLI
29
29
  - Node.js 20+
30
30
  - GitHub MCP (Claude Code 기본 제공) / `gh` CLI / `GITHUB_TOKEN` 중 하나
31
- - Slack MCP 또는 Telegram (알림 사용 시, 선택사항)
31
+ - Slack Incoming Webhook URL 또는 Telegram Bot Token (알림 사용 시, 선택사항)
32
32
  - Figma MCP (디자인 연동 사용 시, 선택사항)
33
33
 
34
34
  ---
@@ -443,7 +443,7 @@ respond-loop 독립: 5분 주기 리뷰 코멘트 감지
443
443
  "linear": { "enabled": false, "apiKey": "" }
444
444
  },
445
445
  "notifications": {
446
- "slack": { "enabled": true, "channel": "#dev-alerts" },
446
+ "slack": { "enabled": true, "webhookUrl": "https://hooks.slack.com/services/T.../B.../..." },
447
447
  "telegram": { "enabled": false, "chatId": "" }
448
448
  },
449
449
  "workflow": {
@@ -486,6 +486,26 @@ respond-loop 독립: 5분 주기 리뷰 코멘트 감지
486
486
  }
487
487
  ```
488
488
 
489
+ ### Slack 웹훅 설정
490
+
491
+ 1. [Slack API](https://api.slack.com/apps) → **Create New App** → **Incoming Webhooks** 활성화
492
+ 2. **Add New Webhook to Workspace** → 채널 선택 → Webhook URL 복사
493
+ 3. `.bylane/bylane.json`에 입력:
494
+
495
+ ```json
496
+ "notifications": {
497
+ "slack": {
498
+ "enabled": true,
499
+ "webhookUrl": "https://hooks.slack.com/services/T.../B.../..."
500
+ }
501
+ }
502
+ ```
503
+
504
+ 알림이 발송되는 시점:
505
+ - ✅ PR 생성/머지 완료
506
+ - ⚠️ 테스트 실패로 개입 필요
507
+ - ❌ 파이프라인 오류
508
+
489
509
  ### 브랜치 네이밍 토큰
490
510
 
491
511
  | 토큰 | 설명 |
@@ -38,18 +38,21 @@ PR: PR_URL
38
38
 
39
39
  ### Slack 알림 (notifications.slack.enabled: true)
40
40
 
41
- Slack MCP `slack_send_message` 도구 사용:
42
- - 채널: `config.notifications.slack.channel`
43
- - 완료 메시지:
44
- ```
45
- [byLane] 완료: TITLE
46
- PR: PR_URL | 소요 시간: ELAPSED
47
- ```
48
- - 개입 필요 메시지:
49
- ```
50
- [byLane] ⚠️ 개입 필요: TITLE
51
- 이유: REASON | 확인: PR_URL
52
- ```
41
+ `config.notifications.slack.webhookUrl`로 Incoming Webhook POST:
42
+
43
+ ```bash
44
+ # 완료 메시지
45
+ curl -s -X POST "$SLACK_WEBHOOK_URL" \
46
+ -H "Content-Type: application/json" \
47
+ -d '{"text":"[byLane] ✅ 완료: TITLE\nPR: PR_URL | 소요 시간: ELAPSED"}'
48
+
49
+ # 개입 필요 메시지
50
+ curl -s -X POST "$SLACK_WEBHOOK_URL" \
51
+ -H "Content-Type: application/json" \
52
+ -d '{"text":"[byLane] ⚠️ 개입 필요: TITLE\n이유: REASON | 확인: PR_URL"}'
53
+ ```
54
+
55
+ `webhookUrl`이 비어 있으면 Slack 알림을 건너뜬다.
53
56
 
54
57
  ### Telegram 알림 (notifications.telegram.enabled: true)
55
58
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elyun/bylane",
3
- "version": "1.31.0",
3
+ "version": "1.32.0",
4
4
  "description": "Frontend development harness for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {
package/src/config.js CHANGED
@@ -8,7 +8,7 @@ export const DEFAULT_CONFIG = {
8
8
  linear: { enabled: false, apiKey: '' }
9
9
  },
10
10
  notifications: {
11
- slack: { enabled: false, channel: '' },
11
+ slack: { enabled: false, webhookUrl: '' },
12
12
  telegram: { enabled: false, chatId: '' }
13
13
  },
14
14
  team: {