Skip to content

Commit a2752c4

Browse files
agentii-aiclaude
andcommitted
feat: Add Python CLI package for Growth-Hacking-Kit
Implements a Python CLI tool that can be installed via uvx/pip and provides a `growthkit init` command to download and initialize templates. Key Features: - ASCII art "Growth Hacking Kit" banner - Interactive project initialization - Downloads templates from GitHub releases (v0.3.0) - Supports all 17 AI agents (claude, cursor-agent, windsurf, etc.) - Supports both bash (sh) and PowerShell (ps) script variants - Rich terminal UI with progress indicators - Automatic version detection from latest release Installation: uvx --from git+https://github.com/agentii-ai/growth-hacking-kit.git growthkit init my-campaign Usage: growthkit init my-campaign --agent claude --script sh growthkit init my-campaign -a cursor-agent -s ps growthkit init # Interactive mode Package Structure: - pyproject.toml: Package configuration with dependencies - src/growthkit_cli/: CLI source code - main.py: Entry point with ASCII banner - commands/init.py: Init command implementation - utils.py: Template download utilities - CLI_README.md: CLI-specific documentation Dependencies: - click: Command-line interface framework - requests: HTTP library for downloading templates - rich: Terminal formatting and progress indicators Testing: - Successfully installed via pip install -e . - Successfully downloaded and extracted template - Verified template structure (.claude/commands/, .specify/) - All 5 growthkit.* commands present 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent e6e4bf8 commit a2752c4

7 files changed

Lines changed: 586 additions & 0 deletions

File tree

CLI_README.md

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
# Growth-Hacking-Kit CLI
2+
3+
Command-line tool for initializing and managing growth campaign projects using the Growth-Hacking-Kit framework.
4+
5+
## Installation
6+
7+
### Via uvx (Recommended)
8+
9+
```bash
10+
uvx --from git+https://github.com/agentii-ai/growth-hacking-kit.git growthkit init my-campaign
11+
```
12+
13+
### Via pip
14+
15+
```bash
16+
pip install git+https://github.com/agentii-ai/growth-hacking-kit.git
17+
growthkit init my-campaign
18+
```
19+
20+
### For Development
21+
22+
```bash
23+
git clone https://github.com/agentii-ai/growth-hacking-kit.git
24+
cd growth-hacking-kit
25+
pip install -e .
26+
```
27+
28+
## Usage
29+
30+
### Initialize a New Project
31+
32+
```bash
33+
# Interactive mode (prompts for options)
34+
growthkit init
35+
36+
# With project name
37+
growthkit init my-growth-campaign
38+
39+
# Specify agent and script type
40+
growthkit init my-campaign --agent claude --script sh
41+
42+
# Short form
43+
growthkit init my-campaign -a cursor-agent -s ps
44+
45+
# Force overwrite existing directory
46+
growthkit init my-campaign --agent windsurf --force
47+
```
48+
49+
### Available Options
50+
51+
- `--agent, -a`: Choose AI agent (claude, cursor-agent, windsurf, gemini, copilot, etc.)
52+
- `--script, -s`: Script type - `sh` (bash) or `ps` (PowerShell)
53+
- `--version, -v`: Template version (default: latest)
54+
- `--force, -f`: Overwrite existing directory
55+
56+
### Supported AI Agents
57+
58+
The CLI supports 17 AI agents:
59+
60+
- **claude** - Claude Code (Anthropic)
61+
- **cursor-agent** - Cursor AI
62+
- **windsurf** - Windsurf IDE
63+
- **gemini** - Google Gemini
64+
- **copilot** - GitHub Copilot
65+
- **qoder** - Qoder AI
66+
- **qwen** - Qwen AI
67+
- **opencode** - OpenCode AI
68+
- **codex** - OpenAI Codex
69+
- **kilocode** - Kilocode AI
70+
- **auggie** - Augment Code
71+
- **roo** - Roo Cline
72+
- **codebuddy** - CodeBuddy AI
73+
- **amp** - AMP AI
74+
- **shai** - Shai AI
75+
- **q** - Amazon Q
76+
- **bob** - Bob AI
77+
78+
## What Gets Installed
79+
80+
Each template includes:
81+
82+
- **Growth-Hacking-Kit Constitution** (v1.1.0) with growth-specific principles
83+
- **Workflow templates**: spec.md, plan.md, tasks.md
84+
- **5 slash commands**: /growthkit.* commands for all workflow phases
85+
- **Scripts**: bash or PowerShell variants for automation
86+
- **.specify/ directory**: Working directory per multi-kit coexistence strategy
87+
88+
## Project Structure
89+
90+
After initialization:
91+
92+
```
93+
my-campaign/
94+
├── .{agent}/
95+
│ └── commands/
96+
│ ├── growthkit.specify.md
97+
│ ├── growthkit.plan.md
98+
│ ├── growthkit.tasks.md
99+
│ ├── growthkit.implement.md
100+
│ └── growthkit.constitution.md
101+
└── .specify/
102+
├── memory/
103+
│ └── constitution.md (v1.1.0)
104+
├── scripts/
105+
│ ├── bash/ (for sh variants)
106+
│ └── powershell/ (for ps variants)
107+
└── templates/
108+
├── spec-template.md
109+
├── plan-template.md
110+
└── tasks-template.md
111+
```
112+
113+
## Next Steps After Init
114+
115+
1. Navigate to your project:
116+
```bash
117+
cd my-campaign
118+
```
119+
120+
2. Review the constitution:
121+
```bash
122+
cat .specify/memory/constitution.md
123+
```
124+
125+
3. Start your first campaign:
126+
```bash
127+
# Use your AI agent's command
128+
/growthkit.specify "Launch viral referral program for SaaS product"
129+
```
130+
131+
## Development
132+
133+
### Running Tests
134+
135+
```bash
136+
pytest
137+
```
138+
139+
### Code Formatting
140+
141+
```bash
142+
black src/
143+
ruff check src/
144+
```
145+
146+
## License
147+
148+
MIT License - see LICENSE file for details
149+
150+
## Links
151+
152+
- **Homepage**: https://github.com/agentii-ai/growth-hacking-kit
153+
- **Issues**: https://github.com/agentii-ai/growth-hacking-kit/issues
154+
- **Releases**: https://github.com/agentii-ai/growth-hacking-kit/releases

pyproject.toml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
[build-system]
2+
requires = ["hatchling"]
3+
build-backend = "hatchling.build"
4+
5+
[project]
6+
name = "growthkit-cli"
7+
version = "0.3.0"
8+
description = "CLI tool for Growth-Hacking-Kit - Systematic growth campaign management"
9+
readme = "README.md"
10+
requires-python = ">=3.11"
11+
license = {text = "MIT"}
12+
authors = [
13+
{name = "Agentii AI", email = "hello@agentii.ai"},
14+
]
15+
keywords = ["growth-hacking", "marketing", "campaigns", "cli", "templates"]
16+
classifiers = [
17+
"Development Status :: 4 - Beta",
18+
"Intended Audience :: Developers",
19+
"License :: OSI Approved :: MIT License",
20+
"Programming Language :: Python :: 3",
21+
"Programming Language :: Python :: 3.11",
22+
"Programming Language :: Python :: 3.12",
23+
"Topic :: Software Development :: Libraries :: Python Modules",
24+
]
25+
dependencies = [
26+
"click>=8.1.0",
27+
"requests>=2.31.0",
28+
"rich>=13.7.0",
29+
]
30+
31+
[project.optional-dependencies]
32+
dev = [
33+
"pytest>=7.4.0",
34+
"pytest-cov>=4.1.0",
35+
"black>=23.7.0",
36+
"ruff>=0.0.285",
37+
]
38+
39+
[project.scripts]
40+
growthkit = "growthkit_cli.main:cli"
41+
42+
[project.urls]
43+
Homepage = "https://github.com/agentii-ai/growth-hacking-kit"
44+
Documentation = "https://github.com/agentii-ai/growth-hacking-kit#readme"
45+
Repository = "https://github.com/agentii-ai/growth-hacking-kit"
46+
Issues = "https://github.com/agentii-ai/growth-hacking-kit/issues"
47+
48+
[tool.hatch.build.targets.wheel]
49+
packages = ["src/growthkit_cli"]
50+
51+
[tool.black]
52+
line-length = 100
53+
target-version = ['py311']
54+
55+
[tool.ruff]
56+
line-length = 100
57+
target-version = "py311"

src/growthkit_cli/__init__.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
"""
2+
Growth-Hacking-Kit CLI
3+
4+
A command-line tool for initializing and managing growth campaign projects
5+
using the Growth-Hacking-Kit framework.
6+
"""
7+
8+
__version__ = "0.3.0"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""Commands package for Growth-Hacking-Kit CLI"""

0 commit comments

Comments
 (0)