Skip to content

Commit 08aec13

Browse files
thestack_aiclaude
andcommitted
feat: add mrstack CLI package for one-line install (v1.1.0)
- mrstack CLI with typer + rich: init, start, stop, daemon, status, logs, config, jarvis, patch, update, version commands - pyproject.toml with hatchling build (force-include overlay + data) - Interactive setup wizard with Telegram token validation - Daemon management: macOS launchd + Linux systemd support - Platform abstraction layer (src/jarvis/platform.py) for cross-platform - README updated with 3 install methods (uv/pip/git clone) Install: uv tool install mrstack && mrstack init Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 7953161 commit 08aec13

File tree

11 files changed

+1496
-17
lines changed

11 files changed

+1496
-17
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ dist/
55
build/
66
.eggs/
77
*.egg
8+
*.whl
89
.env
910
.venv/
1011
venv/

README.en.md

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
Claude Code + Telegram = Your 24/7 AI development partner
1010

1111
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
12+
[![PyPI](https://img.shields.io/pypi/v/mrstack.svg)](https://pypi.org/project/mrstack/)
1213
[![Python 3.11+](https://img.shields.io/badge/Python-3.11+-blue.svg)](https://python.org)
1314
[![macOS](https://img.shields.io/badge/macOS-Ventura%20%7C%20Sonoma%20%7C%20Sequoia-black.svg)](https://apple.com/macos)
1415
[![Telegram](https://img.shields.io/badge/Telegram-Bot-26A5E4?logo=telegram)](https://t.me/botfather)
@@ -20,12 +21,39 @@ Claude Code + Telegram = Your 24/7 AI development partner
2021
### Quick Start
2122

2223
```bash
23-
git clone https://github.com/whynowlab/mrstack.git
24-
cd mrstack && ./install.sh
25-
# Send any message to your bot on Telegram
24+
# Install (pick one)
25+
uv tool install mrstack # recommended
26+
pip install mrstack # alternative
27+
# git clone https://github.com/whynowlab/mrstack.git && pip install -e .
28+
29+
# Setup & run
30+
mrstack init # interactive setup wizard
31+
mrstack start # start the bot
32+
# or: mrstack daemon # register as background service
33+
```
34+
35+
<details>
36+
<summary><b>All CLI commands</b></summary>
37+
38+
```
39+
mrstack init # Interactive setup wizard
40+
mrstack start # Start bot (foreground)
41+
mrstack start --bg # Start bot (background)
42+
mrstack stop # Stop bot
43+
mrstack daemon # Install system daemon (launchd/systemd)
44+
mrstack daemon -u # Uninstall daemon
45+
mrstack status # Show status
46+
mrstack logs [-f] # View/follow logs
47+
mrstack config # Edit .env configuration
48+
mrstack jarvis on/off # Toggle Jarvis mode
49+
mrstack patch # Re-install Mr.Stack modules
50+
mrstack update # Update to latest version
51+
mrstack version # Show version info
2652
```
2753

28-
> Prerequisites: [claude-code-telegram](https://github.com/nicepkg/claude-code-telegram) + Telegram bot token ([details below](#prerequisites))
54+
</details>
55+
56+
> Legacy install (`git clone && ./install.sh`) is still supported. See [Installation](#installation) for details.
2957
3058
---
3159

README.md

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
Claude Code + Telegram = 24시간 상시 대기 AI 개발 파트너
1010

1111
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
12+
[![PyPI](https://img.shields.io/pypi/v/mrstack.svg)](https://pypi.org/project/mrstack/)
1213
[![Python 3.11+](https://img.shields.io/badge/Python-3.11+-blue.svg)](https://python.org)
1314
[![macOS](https://img.shields.io/badge/macOS-Ventura%20%7C%20Sonoma%20%7C%20Sequoia-black.svg)](https://apple.com/macos)
1415
[![Telegram](https://img.shields.io/badge/Telegram-Bot-26A5E4?logo=telegram)](https://t.me/botfather)
@@ -17,32 +18,57 @@ Claude Code + Telegram = 24시간 상시 대기 AI 개발 파트너
1718

1819
**맥북 상태를 관찰하고 | 대화를 기억하고 | 작업 패턴을 학습하고 | 먼저 말을 거는** AI 파트너.
1920

20-
### 처음이세요? 3단계면 됩니다
21+
### 처음이세요? 2단계면 됩니다
2122

2223
> Claude Code가 설치된 맥북 + 텔레그램 계정만 있으면 시작할 수 있습니다.
2324
24-
**1단계: 텔레그램 봇 만들기** (2분)
25-
- 텔레그램에서 [@BotFather](https://t.me/botfather) 검색 → `/newbot` → 이름 입력 → **토큰** 저장
26-
- [@userinfobot](https://t.me/userinfobot)에게 아무 말 → **내 ID** 저장
25+
**1단계: 설치** (1분)
2726

28-
**2단계: 설치** (5분)
2927
```bash
30-
# 기반 봇 설치
31-
uv tool install claude-code-telegram
28+
# 방법 1: uv (권장)
29+
uv tool install mrstack
30+
31+
# 방법 2: pip
32+
pip install mrstack
3233

33-
# Mr.Stack 설치
34+
# 방법 3: git clone (고급)
3435
git clone https://github.com/whynowlab/mrstack.git
35-
cd mrstack && ./install.sh
36-
# → 토큰과 ID를 물어봅니다. 1단계에서 저장한 값을 입력하세요.
36+
cd mrstack && pip install -e .
3737
```
3838

39-
**3단계: 시작**
39+
**2단계: 설정 + 시작** (3분)
4040
```bash
41-
claude-telegram-bot # 봇 실행
41+
mrstack init # 인터랙티브 설정 마법사
42+
mrstack start # 봇 시작
43+
# 또는
44+
mrstack daemon # 백그라운드 데몬으로 등록 + 시작
4245
```
46+
설정 마법사가 텔레그램 봇 토큰, User ID를 물어봅니다.
4347
텔레그램에서 내 봇에게 **아무 메시지**를 보내보세요. 응답이 오면 성공입니다.
4448

45-
> 더 자세한 설치 방법, 데몬 등록, 외부 서비스 연동은 [아래 설치 섹션](#설치)을 참고하세요.
49+
<details>
50+
<summary><b>mrstack CLI 전체 명령</b></summary>
51+
52+
```
53+
mrstack init # 인터랙티브 설정 마법사
54+
mrstack start # 봇 시작 (foreground)
55+
mrstack start --bg # 봇 시작 (background)
56+
mrstack stop # 봇 중지
57+
mrstack daemon # 시스템 데몬 등록 (launchd/systemd)
58+
mrstack daemon -u # 데몬 해제
59+
mrstack status # 현재 상태 표시
60+
mrstack logs # 최근 로그 보기
61+
mrstack logs -f # 로그 실시간 추적
62+
mrstack config # .env 설정 편집
63+
mrstack jarvis on/off # Jarvis 모드 토글
64+
mrstack patch # Mr.Stack 모듈 재설치
65+
mrstack update # 최신 버전으로 업데이트
66+
mrstack version # 버전 정보
67+
```
68+
69+
</details>
70+
71+
> 기존 방식(`git clone && ./install.sh`)도 여전히 지원합니다. 자세한 내용은 [설치 섹션](#설치)을 참고하세요.
4672
4773
---
4874

mrstack/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
"""Mr.Stack — Proactive AI Butler for Claude Code."""
2+
3+
__version__ = "1.1.0"
4+
__app_name__ = "Mr.Stack"

0 commit comments

Comments
 (0)