Skip to content

Commit 5b8a0f9

Browse files
authored
Merge pull request #1 from function-artisans/feat/first-version
feat: initial version
2 parents e52b218 + a2353f4 commit 5b8a0f9

9 files changed

Lines changed: 740 additions & 0 deletions

File tree

.dir-locals.el

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
((emacs-lisp-mode
2+
. ((eval . (progn
3+
(require 'package)
4+
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
5+
(unless (assoc "magit" package-archive-contents)
6+
(package-refresh-contents)))))))

.github/workflows/ci.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: CI
2+
on:
3+
pull_request:
4+
push:
5+
branches: [main]
6+
7+
jobs:
8+
test:
9+
runs-on: ubuntu-latest
10+
strategy:
11+
matrix:
12+
emacs_version: ['28.1', '29.4', '30.2']
13+
steps:
14+
- uses: actions/checkout@v4
15+
- uses: jcs090218/setup-emacs@master
16+
with:
17+
version: ${{ matrix.emacs_version }}
18+
- uses: emacs-eask/setup-eask@master
19+
with:
20+
version: 'snapshot'
21+
- run: eask package
22+
- run: eask install-deps
23+
- run: eask compile
24+
- run: eask lint package
25+
- run: eask test buttercup

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
*.elc
2+
.deps
3+
.compile
4+
.eask/
5+
.cask/
6+
dist/

Easkfile

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
(package "magit-standup"
2+
"0.1.0"
3+
"Collect recent git commits for standup notes")
4+
5+
(website-url "https://github.com/function-artisans/magit-standup")
6+
(keywords "tools" "vc")
7+
8+
(package-file "magit-standup.el")
9+
10+
(source "gnu")
11+
(source "melpa")
12+
13+
(depends-on "emacs" "28.1")
14+
(depends-on "magit" "4.5.0")
15+
(depends-on "transient" "0.8.0")
16+
17+
(development
18+
(depends-on "package-lint")
19+
(depends-on "buttercup"))

Makefile

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
.PHONY: lint test clean
2+
3+
.deps: Easkfile
4+
eask install-deps
5+
@touch .deps
6+
7+
.compile: .deps magit-standup.el
8+
eask compile
9+
@touch .compile
10+
11+
lint: .deps
12+
eask lint package
13+
14+
test: .compile
15+
eask test buttercup
16+
17+
clean:
18+
eask clean all
19+
@rm -f .deps .compile

README.org

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
#+title: magit-standup
2+
#+author: István Karaszi
3+
4+
Collect recent git commits across multiple repositories and format them as org-mode standup notes.
5+
6+
[[file:screenshots/standup-buffer.png]]
7+
8+
* Features
9+
10+
- Scans one or more git repositories for your recent commits
11+
- Weekday-aware lookback: on Monday (and weekends) looks back to Friday; otherwise looks back 1 day
12+
- Transient menu lets you override the since-date and repository list before running
13+
- Output is an org-mode buffer with clickable commit links (via [[https://github.com/magit/orgit][orgit]] or [[https://orgmode.org/worg/org-contrib/org-git-link.html][org-git-link]])
14+
- Directories that aren't git repos are searched recursively for nested repos
15+
16+
* Requirements
17+
18+
- Emacs 28.1+
19+
- [[https://github.com/magit/magit][Magit]] 4.5.0+
20+
- [[https://github.com/magit/transient][Transient]] 0.8.0+
21+
22+
* Installation
23+
24+
** With use-package and straight.el
25+
26+
#+begin_src emacs-lisp
27+
(use-package magit-standup
28+
:straight (:host github :repo "function-artisans/magit-standup"))
29+
#+end_src
30+
31+
** Manual
32+
33+
Clone the repository and add it to your =load-path=:
34+
35+
#+begin_src emacs-lisp
36+
(add-to-list 'load-path "/path/to/magit-standup")
37+
(require 'magit-standup)
38+
#+end_src
39+
40+
* Usage
41+
42+
Run =M-x magit-standup= to open the transient menu:
43+
44+
- =-d= / =--since== — override the since-date (defaults to the weekday-aware computed date)
45+
- =-r= / =--repos== — override the repository list
46+
- =s= — show the standup buffer
47+
48+
Press =s= to generate the standup notes in a =*magit-standup*= buffer.
49+
50+
* Configuration
51+
52+
All options can be customized via =M-x customize-group RET magit-standup=.
53+
54+
| Variable | Default | Description |
55+
|---------------------------------+---------+--------------------------------------------------------------------|
56+
| =magit-standup-repos= | =nil= | List of directories to scan. When nil, uses current repo. |
57+
| =magit-standup-repos-max-depth= | =1= | Max depth to search non-repo directories for nested repos. |
58+
| =magit-standup-author= | =nil= | Author filter. When nil, uses =git config user.email=. |
59+
| =magit-standup-since-days-ago= | =nil= | Fixed lookback override. When nil, weekday-aware logic. |
60+
| =magit-standup-link-package= | =nil= | Link style: =orgit=, =org-git-link=, =none=, or nil (auto-detect). |
61+
62+
* License
63+
64+
GPL-3.0-or-later

0 commit comments

Comments
 (0)