nullabot 1.0.1__tar.gz

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.
@@ -0,0 +1,25 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "WebSearch",
5
+ "Bash(chmod:*)",
6
+ "Bash(source:*)",
7
+ "Bash(pip install:*)",
8
+ "Bash(python:*)",
9
+ "Bash(nullabot --help:*)",
10
+ "Bash(TELEGRAM_BOT_TOKEN=\"8414738778:AAGhM92DFJPo7n7bUQbOIcVcd4rZcKIHHO0\" timeout 5 nullabot:*)",
11
+ "Bash(TELEGRAM_BOT_TOKEN=\"8414738778:AAGhM92DFJPo7n7bUQbOIcVcd4rZcKIHHO0\" python -c \"\nfrom nullabot.cli import cli\nimport sys\n# Just test import and setup, don''t actually run\nfrom nullabot.bot.telegram import TelegramBot\nprint\\(''✓ Bot module imports OK''\\)\nprint\\(''✓ Ready to run''\\)\n\")",
12
+ "Bash(grep:*)",
13
+ "Bash(pkill:*)",
14
+ "Bash(find:*)",
15
+ "Bash(python3 -m py_compile:*)",
16
+ "Bash(kill:*)",
17
+ "Bash(claude -p \"/usage\" --output-format json)",
18
+ "Bash(claude -p \"what is my current usage and limits?\" --output-format json)",
19
+ "Bash(pgrep:*)",
20
+ "Bash(lsof +D:*)",
21
+ "Bash(python3:*)",
22
+ "Bash(pip3 install:*)"
23
+ ]
24
+ }
25
+ }
@@ -0,0 +1,57 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ .Python
7
+ build/
8
+ develop-eggs/
9
+ dist/
10
+ downloads/
11
+ eggs/
12
+ .eggs/
13
+ lib/
14
+ lib64/
15
+ parts/
16
+ sdist/
17
+ var/
18
+ wheels/
19
+ *.egg-info/
20
+ .installed.cfg
21
+ *.egg
22
+
23
+ # Virtual environments
24
+ venv/
25
+ ENV/
26
+ env/
27
+ .venv/
28
+
29
+ # IDE
30
+ .idea/
31
+ .vscode/
32
+ *.swp
33
+ *.swo
34
+ *~
35
+
36
+ # Project files
37
+ projects/
38
+ users/
39
+ global_window.json
40
+ *.db
41
+
42
+ # Config with secrets
43
+ config.yaml
44
+ config.local.yaml
45
+ .env
46
+ .env.*
47
+
48
+ # Logs
49
+ logs/
50
+ *.log
51
+
52
+ # OS
53
+ .DS_Store
54
+ Thumbs.db
55
+
56
+ # Plan file (development)
57
+ PLAN.md
nullabot-1.0.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 ebokoo
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,130 @@
1
+ Metadata-Version: 2.4
2
+ Name: nullabot
3
+ Version: 1.0.1
4
+ Summary: 24/7 AI agents that think, design, and code - controlled via Telegram
5
+ Project-URL: Homepage, https://github.com/ebokoo/nullabot
6
+ Project-URL: Repository, https://github.com/ebokoo/nullabot
7
+ Project-URL: Issues, https://github.com/ebokoo/nullabot/issues
8
+ Author: ebokoo
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Keywords: agents,ai,automation,bot,claude,coding,telegram
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Software Development :: Code Generators
20
+ Requires-Python: >=3.11
21
+ Requires-Dist: aiofiles>=23.0.0
22
+ Requires-Dist: aiosqlite>=0.19.0
23
+ Requires-Dist: click>=8.1.0
24
+ Requires-Dist: pydantic-settings>=2.0.0
25
+ Requires-Dist: pydantic>=2.0.0
26
+ Requires-Dist: python-telegram-bot>=21.0
27
+ Requires-Dist: pyyaml>=6.0.0
28
+ Requires-Dist: rich>=13.0.0
29
+ Requires-Dist: watchdog>=4.0.0
30
+ Provides-Extra: dev
31
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
32
+ Requires-Dist: pytest>=8.0.0; extra == 'dev'
33
+ Requires-Dist: ruff>=0.5.0; extra == 'dev'
34
+ Description-Content-Type: text/markdown
35
+
36
+ # Nullabot
37
+
38
+ 24/7 AI agents that think, design, and code - controlled via Telegram.
39
+
40
+ ## Requirements
41
+
42
+ 1. **Python 3.11+**
43
+ 2. **Claude Code CLI** (requires Claude Max subscription ~$100-200/month)
44
+ ```bash
45
+ npm install -g @anthropic-ai/claude-code
46
+ claude login
47
+ ```
48
+
49
+ ## Install
50
+
51
+ ```bash
52
+ pip install nullabot
53
+ nullabot setup
54
+ ```
55
+
56
+ The setup wizard asks for:
57
+ - **Bot token** - Create at [@BotFather](https://t.me/BotFather) on Telegram
58
+ - **Your user ID** - Get from [@userinfobot](https://t.me/userinfobot) on Telegram
59
+ - **Other users** (optional) - Friends who can use your bot
60
+
61
+ ## Start the Bot
62
+
63
+ ```bash
64
+ nullabot bot
65
+ ```
66
+
67
+ Now open Telegram and message your bot!
68
+
69
+ ## Telegram Commands
70
+
71
+ | Command | Description |
72
+ |---------|-------------|
73
+ | `/start` | Show main menu |
74
+ | `/usage` | Show project costs |
75
+ | `/rules` | View/add global rules |
76
+ | `/chat <question>` | Ask anything |
77
+ | `/help` | All commands |
78
+
79
+ **Admin commands:**
80
+ | Command | Description |
81
+ |---------|-------------|
82
+ | `/users` | List all users |
83
+ | `/approve <id>` | Approve a user |
84
+ | `/revoke <id>` | Remove user |
85
+
86
+ ## CLI Commands
87
+
88
+ ```bash
89
+ nullabot new myproject # Create project
90
+ nullabot think myproject "task" # Research agent
91
+ nullabot design myproject "task" # Design agent
92
+ nullabot code myproject "task" # Coding agent
93
+ nullabot projects # List projects
94
+ nullabot usage # Show costs
95
+ ```
96
+
97
+ ## Three Agents
98
+
99
+ | Agent | What it does |
100
+ |-------|--------------|
101
+ | **Thinker** | Research, analyze, brainstorm |
102
+ | **Designer** | UI/UX specs, component design |
103
+ | **Coder** | Write code, tests, docs |
104
+
105
+ Agents automatically hand off context to each other.
106
+
107
+ ## Global Rules
108
+
109
+ Tell agents what to always/never do:
110
+
111
+ ```
112
+ /rules add do Always use TypeScript
113
+ /rules add dont Never use console.log
114
+ ```
115
+
116
+ Or just say it naturally in any message - it auto-saves!
117
+
118
+ ## Run 24/7
119
+
120
+ ```bash
121
+ # Manual (stops when terminal closes)
122
+ ./run_nullabot.sh bot
123
+
124
+ # Auto-start on Mac login
125
+ ./setup_autostart.sh
126
+ ```
127
+
128
+ ## License
129
+
130
+ MIT
@@ -0,0 +1,95 @@
1
+ # Nullabot
2
+
3
+ 24/7 AI agents that think, design, and code - controlled via Telegram.
4
+
5
+ ## Requirements
6
+
7
+ 1. **Python 3.11+**
8
+ 2. **Claude Code CLI** (requires Claude Max subscription ~$100-200/month)
9
+ ```bash
10
+ npm install -g @anthropic-ai/claude-code
11
+ claude login
12
+ ```
13
+
14
+ ## Install
15
+
16
+ ```bash
17
+ pip install nullabot
18
+ nullabot setup
19
+ ```
20
+
21
+ The setup wizard asks for:
22
+ - **Bot token** - Create at [@BotFather](https://t.me/BotFather) on Telegram
23
+ - **Your user ID** - Get from [@userinfobot](https://t.me/userinfobot) on Telegram
24
+ - **Other users** (optional) - Friends who can use your bot
25
+
26
+ ## Start the Bot
27
+
28
+ ```bash
29
+ nullabot bot
30
+ ```
31
+
32
+ Now open Telegram and message your bot!
33
+
34
+ ## Telegram Commands
35
+
36
+ | Command | Description |
37
+ |---------|-------------|
38
+ | `/start` | Show main menu |
39
+ | `/usage` | Show project costs |
40
+ | `/rules` | View/add global rules |
41
+ | `/chat <question>` | Ask anything |
42
+ | `/help` | All commands |
43
+
44
+ **Admin commands:**
45
+ | Command | Description |
46
+ |---------|-------------|
47
+ | `/users` | List all users |
48
+ | `/approve <id>` | Approve a user |
49
+ | `/revoke <id>` | Remove user |
50
+
51
+ ## CLI Commands
52
+
53
+ ```bash
54
+ nullabot new myproject # Create project
55
+ nullabot think myproject "task" # Research agent
56
+ nullabot design myproject "task" # Design agent
57
+ nullabot code myproject "task" # Coding agent
58
+ nullabot projects # List projects
59
+ nullabot usage # Show costs
60
+ ```
61
+
62
+ ## Three Agents
63
+
64
+ | Agent | What it does |
65
+ |-------|--------------|
66
+ | **Thinker** | Research, analyze, brainstorm |
67
+ | **Designer** | UI/UX specs, component design |
68
+ | **Coder** | Write code, tests, docs |
69
+
70
+ Agents automatically hand off context to each other.
71
+
72
+ ## Global Rules
73
+
74
+ Tell agents what to always/never do:
75
+
76
+ ```
77
+ /rules add do Always use TypeScript
78
+ /rules add dont Never use console.log
79
+ ```
80
+
81
+ Or just say it naturally in any message - it auto-saves!
82
+
83
+ ## Run 24/7
84
+
85
+ ```bash
86
+ # Manual (stops when terminal closes)
87
+ ./run_nullabot.sh bot
88
+
89
+ # Auto-start on Mac login
90
+ ./setup_autostart.sh
91
+ ```
92
+
93
+ ## License
94
+
95
+ MIT
@@ -0,0 +1,29 @@
1
+ # Nullabot Configuration Example
2
+ # Run "nullabot setup" to generate this automatically
3
+
4
+ telegram:
5
+ # Your bot token (from @BotFather)
6
+ bot_token: "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
7
+
8
+ # Admin user ID - can see all projects, approve users (from @userinfobot)
9
+ admins:
10
+ - 123456789
11
+
12
+ # Additional allowed users (optional - can also use /approve command)
13
+ allowed_users:
14
+ - 987654321
15
+ - 555555555
16
+
17
+ agent:
18
+ model: opus
19
+ timeout: 1800
20
+ max_errors: 3
21
+
22
+ reliability:
23
+ plan: max_200
24
+ exit_detection:
25
+ enabled: true
26
+ max_cycles: 100
27
+
28
+ paths:
29
+ projects_dir: ./projects
@@ -0,0 +1,3 @@
1
+ """Nullabot - 24/7 AI Workforce"""
2
+
3
+ __version__ = "0.1.0"
@@ -0,0 +1,7 @@
1
+ """Nullabot Agents - Uses Claude Code CLI"""
2
+
3
+ from nullabot.agents.claude_agent import ClaudeAgent
4
+
5
+ __all__ = [
6
+ "ClaudeAgent",
7
+ ]