standup-cli-tool 0.1.0__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,126 @@
1
+ Metadata-Version: 2.4
2
+ Name: standup-cli-tool
3
+ Version: 0.1.0
4
+ Summary: ⚡ Generate your daily standup from git commits — right in your terminal
5
+ License: MIT
6
+ Project-URL: Homepage, https://github.com/muhtalhakhan/standup-cli
7
+ Project-URL: Repository, https://github.com/muhtalhakhan/standup-cli
8
+ Project-URL: Issues, https://github.com/muhtalhakhan/standup-cli/issues
9
+ Keywords: standup,cli,git,developer,productivity,scrum
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Environment :: Console
14
+ Classifier: Topic :: Utilities
15
+ Requires-Python: >=3.8
16
+ Description-Content-Type: text/markdown
17
+
18
+ # ⚡ standup-cli
19
+
20
+ > Generate your daily standup from git commits — right in your terminal.
21
+
22
+ Never manually write a standup again. `standup-cli` scans your git commits from the last 24 hours, asks what you're working on today and if you have blockers, then formats a clean standup message ready to paste anywhere.
23
+
24
+ ```
25
+ $ standup
26
+
27
+ ⚡ standup-cli
28
+ Generate your daily standup in seconds
29
+
30
+ 🔍 Scanning git commits from last 24hrs...
31
+ ✅ Found 3 commit(s):
32
+
33
+ • Fixed auth bug in login flow
34
+ • Updated API documentation
35
+ • Refactor user model
36
+
37
+ 🚀 What are you working on today?
38
+ > Integrating Stripe payment API
39
+
40
+ 🚧 Any blockers? (press Enter for "None")
41
+ > None
42
+
43
+ ──────────────────────────────────────────────────
44
+ ✅ Your Standup [plain]
45
+
46
+ Yesterday: Fixed auth bug in login flow, Updated API documentation, Refactor user model
47
+ Today: Integrating Stripe payment API
48
+ Blockers: None
49
+ ──────────────────────────────────────────────────
50
+
51
+ 💡 Tip: use --format slack | markdown | plain
52
+ ```
53
+
54
+ ## Install
55
+
56
+ **via npm:**
57
+ ```bash
58
+ npm install -g standup-cli
59
+ ```
60
+
61
+ **via pip:**
62
+ ```bash
63
+ pip install standup-cli
64
+ ```
65
+
66
+ ## Usage
67
+
68
+ ```bash
69
+ # Default (plain text output)
70
+ standup
71
+
72
+ # Slack-ready output
73
+ standup --format slack
74
+
75
+ # Markdown output
76
+ standup --format markdown
77
+ ```
78
+
79
+ ## Output Formats
80
+
81
+ **Plain** (default) — paste anywhere:
82
+ ```
83
+ Yesterday: Fixed auth bug, updated docs
84
+ Today: Stripe integration
85
+ Blockers: None
86
+ ```
87
+
88
+ **Slack** — with bold formatting:
89
+ ```
90
+ *📋 Yesterday:* Fixed auth bug, updated docs
91
+ *🚀 Today:* Stripe integration
92
+ *🚧 Blockers:* None
93
+ ```
94
+
95
+ **Markdown** — for GitHub, Notion, etc:
96
+ ```markdown
97
+ ### Daily Standup
98
+
99
+ **Yesterday:**
100
+ Fixed auth bug, updated docs
101
+
102
+ **Today:**
103
+ Stripe integration
104
+
105
+ **Blockers:**
106
+ None
107
+ ```
108
+
109
+ ## How it works
110
+
111
+ 1. Runs `git log --since="24 hours ago"` in your current directory
112
+ 2. Prompts you for today's focus and any blockers
113
+ 3. Formats and prints your standup
114
+
115
+ > **Tip:** Run it from your project root for best results. Works with any git repo.
116
+
117
+ ## Roadmap (v1 ideas)
118
+
119
+ - [ ] Copy to clipboard automatically
120
+ - [ ] Support multiple repos
121
+ - [ ] `.standuprc` config file for team name, format preference
122
+ - [ ] Weekly summary mode
123
+
124
+ ## License
125
+
126
+ MIT © [Muhammad Talha Khan](https://github.com/muhtalhakhan)
@@ -0,0 +1,109 @@
1
+ # ⚡ standup-cli
2
+
3
+ > Generate your daily standup from git commits — right in your terminal.
4
+
5
+ Never manually write a standup again. `standup-cli` scans your git commits from the last 24 hours, asks what you're working on today and if you have blockers, then formats a clean standup message ready to paste anywhere.
6
+
7
+ ```
8
+ $ standup
9
+
10
+ ⚡ standup-cli
11
+ Generate your daily standup in seconds
12
+
13
+ 🔍 Scanning git commits from last 24hrs...
14
+ ✅ Found 3 commit(s):
15
+
16
+ • Fixed auth bug in login flow
17
+ • Updated API documentation
18
+ • Refactor user model
19
+
20
+ 🚀 What are you working on today?
21
+ > Integrating Stripe payment API
22
+
23
+ 🚧 Any blockers? (press Enter for "None")
24
+ > None
25
+
26
+ ──────────────────────────────────────────────────
27
+ ✅ Your Standup [plain]
28
+
29
+ Yesterday: Fixed auth bug in login flow, Updated API documentation, Refactor user model
30
+ Today: Integrating Stripe payment API
31
+ Blockers: None
32
+ ──────────────────────────────────────────────────
33
+
34
+ 💡 Tip: use --format slack | markdown | plain
35
+ ```
36
+
37
+ ## Install
38
+
39
+ **via npm:**
40
+ ```bash
41
+ npm install -g standup-cli
42
+ ```
43
+
44
+ **via pip:**
45
+ ```bash
46
+ pip install standup-cli
47
+ ```
48
+
49
+ ## Usage
50
+
51
+ ```bash
52
+ # Default (plain text output)
53
+ standup
54
+
55
+ # Slack-ready output
56
+ standup --format slack
57
+
58
+ # Markdown output
59
+ standup --format markdown
60
+ ```
61
+
62
+ ## Output Formats
63
+
64
+ **Plain** (default) — paste anywhere:
65
+ ```
66
+ Yesterday: Fixed auth bug, updated docs
67
+ Today: Stripe integration
68
+ Blockers: None
69
+ ```
70
+
71
+ **Slack** — with bold formatting:
72
+ ```
73
+ *📋 Yesterday:* Fixed auth bug, updated docs
74
+ *🚀 Today:* Stripe integration
75
+ *🚧 Blockers:* None
76
+ ```
77
+
78
+ **Markdown** — for GitHub, Notion, etc:
79
+ ```markdown
80
+ ### Daily Standup
81
+
82
+ **Yesterday:**
83
+ Fixed auth bug, updated docs
84
+
85
+ **Today:**
86
+ Stripe integration
87
+
88
+ **Blockers:**
89
+ None
90
+ ```
91
+
92
+ ## How it works
93
+
94
+ 1. Runs `git log --since="24 hours ago"` in your current directory
95
+ 2. Prompts you for today's focus and any blockers
96
+ 3. Formats and prints your standup
97
+
98
+ > **Tip:** Run it from your project root for best results. Works with any git repo.
99
+
100
+ ## Roadmap (v1 ideas)
101
+
102
+ - [ ] Copy to clipboard automatically
103
+ - [ ] Support multiple repos
104
+ - [ ] `.standuprc` config file for team name, format preference
105
+ - [ ] Weekly summary mode
106
+
107
+ ## License
108
+
109
+ MIT © [Muhammad Talha Khan](https://github.com/muhtalhakhan)
@@ -0,0 +1,27 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "standup-cli-tool"
7
+ version = "0.1.0"
8
+ description = "⚡ Generate your daily standup from git commits — right in your terminal"
9
+ readme = "README.md"
10
+ license = { text = "MIT" }
11
+ requires-python = ">=3.8"
12
+ keywords = ["standup", "cli", "git", "developer", "productivity", "scrum"]
13
+ classifiers = [
14
+ "Programming Language :: Python :: 3",
15
+ "License :: OSI Approved :: MIT License",
16
+ "Operating System :: OS Independent",
17
+ "Environment :: Console",
18
+ "Topic :: Utilities",
19
+ ]
20
+
21
+ [project.scripts]
22
+ standup = "standup_cli.main:main"
23
+
24
+ [project.urls]
25
+ Homepage = "https://github.com/muhtalhakhan/standup-cli"
26
+ Repository = "https://github.com/muhtalhakhan/standup-cli"
27
+ Issues = "https://github.com/muhtalhakhan/standup-cli/issues"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,117 @@
1
+ #!/usr/bin/env python3
2
+
3
+ import subprocess
4
+ import sys
5
+ import argparse
6
+
7
+ # ANSI colors
8
+ RESET = "\x1b[0m"
9
+ BOLD = "\x1b[1m"
10
+ DIM = "\x1b[2m"
11
+ CYAN = "\x1b[36m"
12
+ GREEN = "\x1b[32m"
13
+ YELLOW = "\x1b[33m"
14
+ MAGENTA= "\x1b[35m"
15
+ GRAY = "\x1b[90m"
16
+
17
+ def paint(color, text):
18
+ return f"{color}{text}{RESET}"
19
+
20
+ def get_git_commits():
21
+ try:
22
+ result = subprocess.run(
23
+ ["git", "log", '--since=24 hours ago', '--pretty=format:%s', '--no-merges'],
24
+ capture_output=True, text=True
25
+ )
26
+ if result.returncode != 0:
27
+ return None
28
+ lines = [l.strip() for l in result.stdout.strip().split('\n') if l.strip()]
29
+ return lines
30
+ except FileNotFoundError:
31
+ return None
32
+
33
+ def format_output(commits, today, blockers, fmt):
34
+ yesterday = ', '.join(
35
+ c[0].upper() + c[1:] for c in commits
36
+ ) if commits else 'No commits in the last 24 hours'
37
+
38
+ if fmt == 'slack':
39
+ return '\n'.join([
40
+ f"*📋 Yesterday:* {yesterday}",
41
+ f"*🚀 Today:* {today}",
42
+ f"*🚧 Blockers:* {blockers or 'None'}",
43
+ ])
44
+ elif fmt == 'markdown':
45
+ return '\n'.join([
46
+ "### Daily Standup",
47
+ "",
48
+ "**Yesterday:**",
49
+ yesterday,
50
+ "",
51
+ "**Today:**",
52
+ today,
53
+ "",
54
+ "**Blockers:**",
55
+ blockers or 'None',
56
+ ])
57
+ else: # plain
58
+ return '\n'.join([
59
+ f"Yesterday: {yesterday}",
60
+ f"Today: {today}",
61
+ f"Blockers: {blockers or 'None'}",
62
+ ])
63
+
64
+ def main():
65
+ parser = argparse.ArgumentParser(
66
+ prog='standup',
67
+ description='⚡ Generate your daily standup from git commits'
68
+ )
69
+ parser.add_argument(
70
+ '--format', '-f',
71
+ choices=['plain', 'slack', 'markdown'],
72
+ default='plain',
73
+ help='Output format (default: plain)'
74
+ )
75
+ args = parser.parse_args()
76
+ fmt = args.format
77
+
78
+ print()
79
+ print(paint(BOLD + CYAN, ' ⚡ standup-cli'))
80
+ print(paint(GRAY, ' Generate your daily standup in seconds\n'))
81
+
82
+ print(paint(DIM, ' 🔍 Scanning git commits from last 24hrs...'))
83
+ commits = get_git_commits()
84
+
85
+ if commits is None:
86
+ print(paint(YELLOW, ' ⚠️ Not a git repo — skipping commit scan.\n'))
87
+ commits = []
88
+ elif len(commits) == 0:
89
+ print(paint(YELLOW, ' ⚠️ No commits found in the last 24hrs.\n'))
90
+ else:
91
+ print(paint(GREEN, f' ✅ Found {len(commits)} commit(s):\n'))
92
+ for msg in commits:
93
+ print(paint(GRAY, f' • {msg}'))
94
+ print()
95
+
96
+ today = input(paint(BOLD, ' 🚀 What are you working on today?\n ') + '> ').strip()
97
+ print()
98
+ blockers = input(paint(BOLD, ' 🚧 Any blockers? (press Enter for "None")\n ') + '> ').strip()
99
+ print()
100
+
101
+ output = format_output(commits, today or '(not specified)', blockers, fmt)
102
+
103
+ divider = paint(GRAY, ' ' + '─' * 50)
104
+ fmt_label = paint(MAGENTA, f'[{fmt}]')
105
+
106
+ print(divider)
107
+ print(paint(BOLD + GREEN, f' ✅ Your Standup {fmt_label}\n'))
108
+ for line in output.split('\n'):
109
+ print(' ' + line)
110
+ print()
111
+ print(divider)
112
+ print()
113
+ print(paint(GRAY, ' 💡 Tip: use --format slack | markdown | plain'))
114
+ print()
115
+
116
+ if __name__ == '__main__':
117
+ main()
@@ -0,0 +1,126 @@
1
+ Metadata-Version: 2.4
2
+ Name: standup-cli-tool
3
+ Version: 0.1.0
4
+ Summary: ⚡ Generate your daily standup from git commits — right in your terminal
5
+ License: MIT
6
+ Project-URL: Homepage, https://github.com/muhtalhakhan/standup-cli
7
+ Project-URL: Repository, https://github.com/muhtalhakhan/standup-cli
8
+ Project-URL: Issues, https://github.com/muhtalhakhan/standup-cli/issues
9
+ Keywords: standup,cli,git,developer,productivity,scrum
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Environment :: Console
14
+ Classifier: Topic :: Utilities
15
+ Requires-Python: >=3.8
16
+ Description-Content-Type: text/markdown
17
+
18
+ # ⚡ standup-cli
19
+
20
+ > Generate your daily standup from git commits — right in your terminal.
21
+
22
+ Never manually write a standup again. `standup-cli` scans your git commits from the last 24 hours, asks what you're working on today and if you have blockers, then formats a clean standup message ready to paste anywhere.
23
+
24
+ ```
25
+ $ standup
26
+
27
+ ⚡ standup-cli
28
+ Generate your daily standup in seconds
29
+
30
+ 🔍 Scanning git commits from last 24hrs...
31
+ ✅ Found 3 commit(s):
32
+
33
+ • Fixed auth bug in login flow
34
+ • Updated API documentation
35
+ • Refactor user model
36
+
37
+ 🚀 What are you working on today?
38
+ > Integrating Stripe payment API
39
+
40
+ 🚧 Any blockers? (press Enter for "None")
41
+ > None
42
+
43
+ ──────────────────────────────────────────────────
44
+ ✅ Your Standup [plain]
45
+
46
+ Yesterday: Fixed auth bug in login flow, Updated API documentation, Refactor user model
47
+ Today: Integrating Stripe payment API
48
+ Blockers: None
49
+ ──────────────────────────────────────────────────
50
+
51
+ 💡 Tip: use --format slack | markdown | plain
52
+ ```
53
+
54
+ ## Install
55
+
56
+ **via npm:**
57
+ ```bash
58
+ npm install -g standup-cli
59
+ ```
60
+
61
+ **via pip:**
62
+ ```bash
63
+ pip install standup-cli
64
+ ```
65
+
66
+ ## Usage
67
+
68
+ ```bash
69
+ # Default (plain text output)
70
+ standup
71
+
72
+ # Slack-ready output
73
+ standup --format slack
74
+
75
+ # Markdown output
76
+ standup --format markdown
77
+ ```
78
+
79
+ ## Output Formats
80
+
81
+ **Plain** (default) — paste anywhere:
82
+ ```
83
+ Yesterday: Fixed auth bug, updated docs
84
+ Today: Stripe integration
85
+ Blockers: None
86
+ ```
87
+
88
+ **Slack** — with bold formatting:
89
+ ```
90
+ *📋 Yesterday:* Fixed auth bug, updated docs
91
+ *🚀 Today:* Stripe integration
92
+ *🚧 Blockers:* None
93
+ ```
94
+
95
+ **Markdown** — for GitHub, Notion, etc:
96
+ ```markdown
97
+ ### Daily Standup
98
+
99
+ **Yesterday:**
100
+ Fixed auth bug, updated docs
101
+
102
+ **Today:**
103
+ Stripe integration
104
+
105
+ **Blockers:**
106
+ None
107
+ ```
108
+
109
+ ## How it works
110
+
111
+ 1. Runs `git log --since="24 hours ago"` in your current directory
112
+ 2. Prompts you for today's focus and any blockers
113
+ 3. Formats and prints your standup
114
+
115
+ > **Tip:** Run it from your project root for best results. Works with any git repo.
116
+
117
+ ## Roadmap (v1 ideas)
118
+
119
+ - [ ] Copy to clipboard automatically
120
+ - [ ] Support multiple repos
121
+ - [ ] `.standuprc` config file for team name, format preference
122
+ - [ ] Weekly summary mode
123
+
124
+ ## License
125
+
126
+ MIT © [Muhammad Talha Khan](https://github.com/muhtalhakhan)
@@ -0,0 +1,8 @@
1
+ README.md
2
+ pyproject.toml
3
+ standup_cli/main.py
4
+ standup_cli_tool.egg-info/PKG-INFO
5
+ standup_cli_tool.egg-info/SOURCES.txt
6
+ standup_cli_tool.egg-info/dependency_links.txt
7
+ standup_cli_tool.egg-info/entry_points.txt
8
+ standup_cli_tool.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ standup = standup_cli.main:main