sunnah 1.3.6 → 1.5.0

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.
Files changed (65) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +258 -254
  3. package/bin/index.js +1022 -1604
  4. package/books/jami-al-tirmidhi/README.md +201 -0
  5. package/books/jami-al-tirmidhi/bin/index.js +165 -0
  6. package/books/jami-al-tirmidhi/examples/express/server.js +7 -0
  7. package/books/jami-al-tirmidhi/examples/node-commonjs/example.js +7 -0
  8. package/books/jami-al-tirmidhi/examples/node-esm/example.mjs +6 -0
  9. package/books/jami-al-tirmidhi/examples/react/HadithExample.jsx +17 -0
  10. package/books/jami-al-tirmidhi/package.json +58 -0
  11. package/books/jami-al-tirmidhi/src/index.cjs +52 -0
  12. package/books/jami-al-tirmidhi/src/index.js +35 -0
  13. package/books/jami-al-tirmidhi/src/index.node.js +18 -0
  14. package/books/jami-al-tirmidhi/types/index.d.ts +28 -0
  15. package/books/sahih-al-bukhari/LICENSE +661 -0
  16. package/books/sahih-al-bukhari/README.md +551 -0
  17. package/books/sahih-al-bukhari/bin/index.js +306 -0
  18. package/books/sahih-al-bukhari/data/bukhari.json.gz +0 -0
  19. package/books/sahih-al-bukhari/examples/express/server.js +49 -0
  20. package/books/sahih-al-bukhari/examples/node-commonjs/example.js +21 -0
  21. package/books/sahih-al-bukhari/examples/node-esm/example.mjs +24 -0
  22. package/books/sahih-al-bukhari/examples/react/HadithExample.jsx +73 -0
  23. package/books/sahih-al-bukhari/package.json +54 -0
  24. package/books/sahih-al-bukhari/src/index.cjs +55 -0
  25. package/books/sahih-al-bukhari/src/index.js +35 -0
  26. package/books/sahih-al-bukhari/src/index.node.js +21 -0
  27. package/books/sahih-al-bukhari/types/index.d.ts +35 -0
  28. package/books/sahih-muslim/LICENSE +661 -0
  29. package/books/sahih-muslim/README.md +547 -0
  30. package/books/sahih-muslim/bin/index.js +183 -0
  31. package/books/sahih-muslim/data/muslim.json.gz +0 -0
  32. package/books/sahih-muslim/examples/express/server.js +16 -0
  33. package/books/sahih-muslim/examples/node-commonjs/example.js +11 -0
  34. package/books/sahih-muslim/examples/node-esm/example.mjs +9 -0
  35. package/books/sahih-muslim/examples/react/HadithExample.jsx +28 -0
  36. package/books/sahih-muslim/package.json +58 -0
  37. package/books/sahih-muslim/src/index.cjs +52 -0
  38. package/books/sahih-muslim/src/index.js +35 -0
  39. package/books/sahih-muslim/src/index.node.js +18 -0
  40. package/books/sahih-muslim/types/index.d.ts +28 -0
  41. package/books/sunan-abi-dawud/LICENSE +661 -0
  42. package/books/sunan-abi-dawud/README.md +149 -0
  43. package/books/sunan-abi-dawud/bin/index.js +183 -0
  44. package/books/sunan-abi-dawud/data/dawud.json.gz +0 -0
  45. package/books/sunan-abi-dawud/examples/express/server.js +7 -0
  46. package/books/sunan-abi-dawud/examples/node-commonjs/example.js +7 -0
  47. package/books/sunan-abi-dawud/examples/node-esm/example.mjs +6 -0
  48. package/books/sunan-abi-dawud/examples/react/HadithExample.jsx +17 -0
  49. package/books/sunan-abi-dawud/package.json +58 -0
  50. package/books/sunan-abi-dawud/src/index.cjs +52 -0
  51. package/books/sunan-abi-dawud/src/index.js +35 -0
  52. package/books/sunan-abi-dawud/src/index.node.js +18 -0
  53. package/books/sunan-abi-dawud/types/index.d.ts +28 -0
  54. package/books/sunan-ibn-majah/README.md +198 -0
  55. package/books/sunan-ibn-majah/bin/index.js +138 -0
  56. package/books/sunan-ibn-majah/examples/express/server.js +8 -0
  57. package/books/sunan-ibn-majah/examples/node-commonjs/example.js +7 -0
  58. package/books/sunan-ibn-majah/examples/node-esm/example.mjs +6 -0
  59. package/books/sunan-ibn-majah/examples/react/HadithExample.jsx +17 -0
  60. package/books/sunan-ibn-majah/package.json +58 -0
  61. package/books/sunan-ibn-majah/src/index.cjs +52 -0
  62. package/books/sunan-ibn-majah/src/index.js +35 -0
  63. package/books/sunan-ibn-majah/src/index.node.js +18 -0
  64. package/books/sunan-ibn-majah/types/index.d.ts +28 -0
  65. package/package.json +39 -27
package/CHANGELOG.md ADDED
@@ -0,0 +1,19 @@
1
+ # Changelog
2
+
3
+ ## [1.5.0] — 2026-03-22
4
+
5
+ ### Added
6
+ - All 6 books now in PACKAGES list: Bukhari, Muslim, Abu Dawud, Tirmidhi, Ibn Majah, Nasa'i
7
+ - Python package published to PyPI (`pip install sunnah`)
8
+ - `sunnah pip install <book>` — install Python hadith packages
9
+ - `sunnah pip list` — show Python package status
10
+ - `sunnah pip update` — update Python packages
11
+ - `sunnah --pip` flag in interactive UI to toggle npm/pip install mode
12
+ - `sunnah search <query>` — search across ALL installed books at once
13
+ - `sunnah random` — show a random hadith from a random installed book
14
+ - `sunnah info <book>` — detailed book info without opening the TUI
15
+ - GitHub Actions: auto-publish to npm + PyPI on release
16
+
17
+ ## [1.4.0] — earlier
18
+ - Interactive TUI with progress bars
19
+ - `sunnah install/uninstall/--update/--list/--react`
package/README.md CHANGED
@@ -1,254 +1,258 @@
1
- <div align="center">
2
-
3
- <h1>📿 Sunnah</h1>
4
-
5
- ![npm version](https://img.shields.io/npm/v/sunnah?style=for-the-badge&logo=npm)
6
- ![npm downloads](https://img.shields.io/npm/dt/sunnah?style=for-the-badge&logo=npm)
7
- ![npm downloads per month](https://img.shields.io/npm/dm/sunnah?style=for-the-badge&logo=npm)
8
- ![license](https://img.shields.io/github/license/SENODROOM/sunnah?style=for-the-badge&logo=gnu)
9
- ![node version](https://img.shields.io/node/v/sunnah?style=for-the-badge&logo=node.js)
10
- ![GitHub stars](https://img.shields.io/github/stars/SENODROOM/sunnah?style=for-the-badge&logo=github)
11
-
12
- **📚 One command. Every major Hadith collection. Interactive CLI installer for the entire Sunnah ecosystem.**
13
-
14
- [![NPM](https://nodei.co/npm/sunnah.png)](https://nodei.co/npm/sunnah/)
15
-
16
- </div>
17
-
18
- ---
19
-
20
- ## 🌙 What is Sunnah?
21
-
22
- `sunnah` is an interactive CLI package manager for the major hadith collections of Islam. Install, manage, and update every book in the Sunnah ecosystem from a single terminal UI — with real-time progress bars, keyboard navigation, and zero config.
23
-
24
- ```bash
25
- npm install -g sunnah
26
- sunnah
27
- ```
28
-
29
- That's it. A beautiful full-screen terminal UI opens, showing every available hadith package — select what you want, press enter, watch it install.
30
-
31
- ---
32
-
33
- ## 📦 Available Packages
34
-
35
- | Book | Package | Hadiths | Author | CLI Command |
36
- | -------------------- | ---------------------------------------------------------------- | ------- | ---------------- | ----------- |
37
- | **Sahih al-Bukhari** | [`sahih-al-bukhari`](https://npmjs.com/package/sahih-al-bukhari) | 7,563 | Imam al-Bukhari | `bukhari` |
38
- | **Sahih Muslim** | [`sahih-muslim`](https://npmjs.com/package/sahih-muslim) | 7,470 | Imam Muslim | `muslim` |
39
- | **Sunan Abi Dawud** | [`sunan-abi-dawud`](https://npmjs.com/package/sunan-abi-dawud) | 5,274 | Imam Abu Dawud | `dawud` |
40
- | **Jami al-Tirmidhi** | [`jami-al-tirmidhi`](https://npmjs.com/package/jami-al-tirmidhi) | 3,956 | Imam al-Tirmidhi | `tirmidhi` |
41
-
42
- ---
43
-
44
- ## 🚀 Installation
45
-
46
- ```bash
47
- npm install -g sunnah
48
- ```
49
-
50
- ---
51
-
52
- ## 🖥️ Usage
53
-
54
- ### Interactive UI (default)
55
-
56
- ```bash
57
- sunnah
58
- ```
59
-
60
- Opens a full-screen interactive installer:
61
-
62
- ```
63
- ══════════════════════════════════════════════════════════════════════
64
- 📚 Sunnah Package Manager v1.1.2
65
- ↑↓ navigate space select a all i info u uninstall enter install q quit
66
- ══════════════════════════════════════════════════════════════════════
67
-
68
- [✓] Sahih al-Bukhari ● installed
69
- Imam Muhammad ibn Ismail al-Bukhari
70
- The most authentic collection of hadith...
71
- Hadiths: 7,563 CLI: bukhari --help
72
-
73
- [ ] Sahih Muslim ○ not installed
74
- [ ] Sunan Abi Dawud ○ not installed
75
- [ ] Jami al-Tirmidhi ○ not installed
76
-
77
- ──────────────────────────────────────────────────────────────────────
78
- ● 1 selected: sahih-al-bukhari
79
- ──────────────────────────────────────────────────────────────────────
80
- ```
81
-
82
- ### Keyboard Controls
83
-
84
- | Key | Action |
85
- | ------- | ------------------------------------- |
86
- | `↑` `↓` | Navigate packages |
87
- | `space` | Toggle select |
88
- | `a` | Select all / deselect all |
89
- | `i` | Show package info + installed version |
90
- | `u` | Uninstall selected |
91
- | `enter` | Install selected |
92
- | `q` | Quit |
93
-
94
- ### Non-interactive commands
95
-
96
- ```bash
97
- sunnah --list # List all packages with install status
98
- sunnah --update # Check all installed packages for updates
99
- sunnah --help # Show help
100
- sunnah --version # Show version
101
- ```
102
-
103
- ---
104
-
105
- ## 📺 Install Flow
106
-
107
- When you press `enter`, each package installs with a live animated progress bar:
108
-
109
- ```
110
- ══════════════════════════════════════════════════════════════════════
111
- Installing 2 packages…
112
- ══════════════════════════════════════════════════════════════════════
113
-
114
- [1/2] Sahih al-Bukhari
115
- npm install -g sahih-al-bukhari
116
-
117
- ████████████████████░░░░░░░░░░░░░░░░░░░░ 50% Downloading tarball…
118
-
119
- ✓ Sahih al-Bukhari installed
120
- Usage: bukhari --help
121
-
122
- [2/2] Jami al-Tirmidhi
123
- npm install -g jami-al-tirmidhi
124
-
125
- ████████████████████████████████████████ 100% Complete!
126
-
127
- ✓ Jami al-Tirmidhi installed
128
- Usage: tirmidhi --help
129
-
130
- ══════════════════════════════════════════════════════════════════════
131
- All done! 2 packages installed globally.
132
-
133
- bukhari --help · Sahih al-Bukhari
134
- tirmidhi --help · Jami al-Tirmidhi
135
- ══════════════════════════════════════════════════════════════════════
136
- ```
137
-
138
- ---
139
-
140
- ## 🔍 --list
141
-
142
- ```bash
143
- sunnah --list
144
- ```
145
-
146
- ```
147
- ────────────────────────────────────────────────────────────
148
- Available Sunnah Packages
149
- ────────────────────────────────────────────────────────────
150
-
151
- Sahih al-Bukhari ✓ installed
152
- npm install -g sahih-al-bukhari
153
- The most authentic collection of hadith...
154
- Hadiths: 7,563 Author: Imam Muhammad ibn Ismail al-Bukhari
155
-
156
- Sahih Muslim ✗ not installed
157
- npm install -g sahih-muslim
158
- ...
159
- ```
160
-
161
- ---
162
-
163
- ## 🔄 --update
164
-
165
- ```bash
166
- sunnah --update
167
- ```
168
-
169
- Checks every installed package against the latest version on npm:
170
-
171
- ```
172
- ────────────────────────────────────────────────────────────
173
- Checking for updates…
174
- ────────────────────────────────────────────────────────────
175
-
176
- ✓ Sahih al-Bukhari 1.2.0 — up to date
177
- ↑ Jami al-Tirmidhi 1.0.1 → 1.1.0 (run: npm install -g jami-al-tirmidhi)
178
- ```
179
-
180
- ---
181
-
182
- ## 🗂️ After Installing
183
-
184
- Once you've installed individual packages via `sunnah`, each has its own powerful CLI:
185
-
186
- ```bash
187
- # Read hadiths
188
- bukhari 1 # First hadith
189
- muslim 2345 -b # Hadith #2345 in Arabic + English
190
- tirmidhi 23 34 # 34th hadith of chapter 23
191
- dawud --random # Random hadith
192
-
193
- # Search
194
- bukhari --search "prayer" # Top 5 results with highlighted matches
195
- tirmidhi --search "fasting" --all # All results
196
-
197
- # Browse chapters
198
- muslim --chapter 5 # All hadiths in chapter 5
199
-
200
- # React hook
201
- bukhari --react # Generate useBukhari() hook in your project
202
- ```
203
-
204
- ---
205
-
206
- ## 🔗 Individual Package Links
207
-
208
- Each book is also available as a standalone package with full Node.js, React, and Vue support:
209
-
210
- | Package | npm | GitHub |
211
- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- |
212
- | `sahih-al-bukhari` | [![npm](https://img.shields.io/npm/v/sahih-al-bukhari?style=flat-square&logo=npm)](https://npmjs.com/package/sahih-al-bukhari) | [SENODROOM/sahih-al-bukhari](https://github.com/SENODROOM/sahih-al-bukhari) |
213
- | `sahih-muslim` | [![npm](https://img.shields.io/npm/v/sahih-muslim?style=flat-square&logo=npm)](https://npmjs.com/package/sahih-muslim) | [SENODROOM/sahih-muslim](https://github.com/SENODROOM/sahih-muslim) |
214
- | `sunan-abi-dawud` | [![npm](https://img.shields.io/npm/v/sunan-abi-dawud?style=flat-square&logo=npm)](https://npmjs.com/package/sunan-abi-dawud) | [SENODROOM/sunan-abi-dawud](https://github.com/SENODROOM/sunan-abi-dawud) |
215
- | `jami-al-tirmidhi` | [![npm](https://img.shields.io/npm/v/jami-al-tirmidhi?style=flat-square&logo=npm)](https://npmjs.com/package/jami-al-tirmidhi) | [SENODROOM/jami-al-tirmidhi](https://github.com/SENODROOM/jami-al-tirmidhi) |
216
-
217
- ---
218
-
219
- ## 🤝 Contributing
220
-
221
- Contributions are welcome!
222
-
223
- 1. Fork the repository
224
- 2. Create a branch: `git checkout -b feature/my-feature`
225
- 3. Commit: `git commit -m 'Add my feature'`
226
- 4. Push and open a Pull Request
227
-
228
- ---
229
-
230
- ## 📄 License
231
-
232
- Licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)** — see [LICENSE](LICENSE) for details.
233
-
234
- ---
235
-
236
- ## 🙏 Acknowledgments
237
-
238
- - **📖 Sources** — The authentic hadith collections of Islam
239
- - **👨‍🏫 Scholars** Translators and Islamic scholars whose work makes this possible
240
- - **💚 Community** — The Muslim developer community worldwide
241
-
242
- ---
243
-
244
- <div align="center">
245
-
246
- **Made with ❤️ for the Muslim community | Seeking knowledge together**
247
-
248
- [![GitHub stars](https://img.shields.io/github/stars/SENODROOM/sunnah?style=for-the-badge&logo=github)](https://github.com/SENODROOM/sunnah)
249
-
250
- [📦 npm](https://npmjs.com/package/sunnah) •
251
- [🐛 Issues](https://github.com/SENODROOM/sunnah/issues) •
252
- [🤝 Contribute](https://github.com/SENODROOM/sunnah/pulls)
253
-
254
- </div>
1
+ <div align="center">
2
+
3
+ <h1>
4
+ <img src="https://em-content.zobj.net/source/apple/391/prayer-beads_1f4ff.png" width="36" />
5
+ &nbsp;sunnah
6
+ </h1>
7
+
8
+ <p align="center">
9
+ <strong>One command. Every major Hadith collection.<br />
10
+ Interactive package manager for the entire Sunnah ecosystem — npm + PyPI.</strong>
11
+ </p>
12
+
13
+ <br />
14
+
15
+ <p>
16
+ <a href="https://www.npmjs.com/package/sunnah">
17
+ <img src="https://img.shields.io/npm/v/sunnah?style=for-the-badge&logo=npm&logoColor=white&color=CB3837&labelColor=1a1a1a" />
18
+ </a>
19
+ &nbsp;
20
+ <a href="https://pypi.org/project/sunnah/">
21
+ <img src="https://img.shields.io/pypi/v/sunnah?style=for-the-badge&logo=pypi&logoColor=white&color=3775A9&labelColor=1a1a1a" />
22
+ </a>
23
+ &nbsp;
24
+ <a href="https://github.com/SENODROOM/sunnah/blob/main/LICENSE">
25
+ <img src="https://img.shields.io/github/license/SENODROOM/sunnah?style=for-the-badge&logo=gnu&logoColor=white&color=A42E2B&labelColor=1a1a1a" />
26
+ </a>
27
+ </p>
28
+
29
+ <p>
30
+ <img src="https://img.shields.io/badge/Node.js-%3E%3D18-339933?style=for-the-badge&logo=node.js&logoColor=white&labelColor=1a1a1a" />
31
+ &nbsp;
32
+ <img src="https://img.shields.io/badge/Python-%3E%3D3.8-3776AB?style=for-the-badge&logo=python&logoColor=white&labelColor=1a1a1a" />
33
+ </p>
34
+
35
+ </div>
36
+
37
+ ---
38
+
39
+ ## 🌙 What is Sunnah?
40
+
41
+ `sunnah` is an interactive CLI package manager for the major hadith collections of Islam. Install, manage, and update every book in the Sunnah ecosystem from a single terminal command — for both **npm** (Node.js/React) and **pip** (Python).
42
+
43
+ ```bash
44
+ npm install -g sunnah # Node.js CLI
45
+ pip install sunnah # Python CLI
46
+ sunnah # open interactive TUI
47
+ ```
48
+
49
+ ---
50
+
51
+ ## 📦 Available Packages
52
+
53
+ | Book | npm | pip | Hadiths | CLI |
54
+ |------|-----|-----|---------|-----|
55
+ | **Sahih al-Bukhari** | `sahih-al-bukhari` | `sahih-al-bukhari` | 7,563 | `bukhari` |
56
+ | **Sahih Muslim** | `sahih-muslim` | `sahih-muslim` | 7,470 | `muslim` |
57
+ | **Sunan Abi Dawud** | `sunan-abi-dawud` | `sunan-abi-dawud` | 5,274 | `dawud` |
58
+ | **Jami al-Tirmidhi** | `jami-al-tirmidhi` | `jami-al-tirmidhi` | 3,956 | `tirmidhi` |
59
+ | **Sunan Ibn Majah** | `sunan-ibn-majah` | `sunan-ibn-majah` | 4,341 | `majah` |
60
+ | **Sunan al-Nasa'i** | `sunan-al-nasai` | `sunan-al-nasai` | 5,768 | `nasai` |
61
+
62
+ ---
63
+
64
+ ## 🚀 Installation
65
+
66
+ ```bash
67
+ # JavaScript / Node.js
68
+ npm install -g sunnah
69
+
70
+ # Python
71
+ pip install sunnah
72
+ ```
73
+
74
+ ---
75
+
76
+ ## 🖥️ Interactive TUI
77
+
78
+ ```bash
79
+ sunnah
80
+ ```
81
+
82
+ Opens a full-screen terminal UI. Navigate with `↑↓`, toggle with `space`, press `enter` to install.
83
+
84
+ ```
85
+ ════════════════════════════════════════════════════════════
86
+ 📿 Sunnah Package Manager v1.5.0
87
+ ↑↓ nav space select a all i info u uninstall U update enter install q quit
88
+ ════════════════════════════════════════════════════════════
89
+
90
+ [✓] Sahih al-Bukhari ● npm (up to date)
91
+ Imam Muhammad ibn Ismail al-Bukhari
92
+ Most authentic hadith collection, second only to the Quran.
93
+ Hadiths: 7,563 CLI: bukhari --help npm: sahih-al-bukhari pip: sahih-al-bukhari
94
+
95
+ [ ] Sahih Muslim ○ not installed
96
+ [ ] Sunan Abi Dawud ○ not installed
97
+ ...
98
+ ```
99
+
100
+ ### Keyboard Controls
101
+
102
+ | Key | Action |
103
+ |-----|--------|
104
+ | `↑` `↓` | Navigate |
105
+ | `space` | Toggle select |
106
+ | `a` | Select all / deselect all |
107
+ | `i` | Show package info |
108
+ | `u` | Uninstall selected |
109
+ | `U` | Update selected |
110
+ | `enter` | Install selected |
111
+ | `q` | Quit |
112
+
113
+ ---
114
+
115
+ ## Commands
116
+
117
+ ### npm packages
118
+
119
+ ```bash
120
+ sunnah list # all packages + npm/pip status
121
+ sunnah install bukhari # npm install -g sahih-al-bukhari
122
+ sunnah install bukhari nasai majah # install multiple at once
123
+ sunnah uninstall dawud # uninstall
124
+ sunnah update # check for updates
125
+ sunnah update --install # auto-install all updates
126
+ ```
127
+
128
+ ### Python (pip) packages
129
+
130
+ ```bash
131
+ sunnah pip install bukhari # pip install sahih-al-bukhari
132
+ sunnah pip install bukhari nasai # install multiple
133
+ sunnah pip uninstall dawud # uninstall
134
+ sunnah pip list # show Python package status
135
+ sunnah pip update # check for pip updates
136
+ sunnah pip update --install # auto-install pip updates
137
+ ```
138
+
139
+ ### 🔍 NEW: Cross-book search
140
+
141
+ ```bash
142
+ sunnah search "prayer" # search all installed books (top 3 each)
143
+ sunnah search "fasting" --all # show all results
144
+ ```
145
+
146
+ ### 🎲 NEW: Random hadith
147
+
148
+ ```bash
149
+ sunnah random # random hadith from a random installed book
150
+ sunnah random bukhari # random hadith specifically from Bukhari
151
+ ```
152
+
153
+ ### ℹ️ NEW: Book info
154
+
155
+ ```bash
156
+ sunnah info nasai # detailed info: versions, CLI, Python import
157
+ sunnah info jami-al-tirmidhi # works with full npm name too
158
+ ```
159
+
160
+ ### ⚛️ React hook generator
161
+
162
+ ```bash
163
+ sunnah --react # generate useSunnah() for all installed books
164
+ sunnah --react bukhari muslim # specific books only
165
+ ```
166
+
167
+ ---
168
+
169
+ ## 🐍 Python API
170
+
171
+ After `pip install sunnah`, you also get the individual book packages:
172
+
173
+ ```bash
174
+ sunnah pip install bukhari muslim nasai
175
+ ```
176
+
177
+ ```python
178
+ from sahih_al_bukhari import Bukhari
179
+ from sahih_muslim import Muslim
180
+ from sunan_al_nasai import Nasai
181
+
182
+ bukhari = Bukhari()
183
+ bukhari.get(1)
184
+ bukhari.search("prayer", limit=5)
185
+ bukhari.getRandom()
186
+ bukhari.getByChapter(1)
187
+ ```
188
+
189
+ ---
190
+
191
+ ## 🟨 JavaScript / Node.js
192
+
193
+ ```bash
194
+ sunnah install bukhari muslim
195
+ ```
196
+
197
+ ```javascript
198
+ import bukhari from 'sahih-al-bukhari';
199
+ import muslim from 'sahih-muslim';
200
+
201
+ bukhari.get(1).english.text
202
+ muslim.search('prayer', 5)
203
+ ```
204
+
205
+ ---
206
+
207
+ ## 📊 Version Stats
208
+
209
+ ```bash
210
+ sunnah --version
211
+ ```
212
+
213
+ ```
214
+ ────────────────────────────────────────────────────────────
215
+ 📿 sunnah v1.5.0
216
+ ────────────────────────────────────────────────────────────
217
+ Available : 6
218
+ npm inst. : 4 / 6
219
+ pip inst. : 3 / 6
220
+ Collection : Sahih al-Bukhari, Sahih Muslim, Sunan al-Nasa'i, Jami al-Tirmidhi
221
+ Hadiths : 24,257
222
+ ```
223
+
224
+ ---
225
+
226
+ ## 🗂️ Monorepo Structure
227
+
228
+ ```
229
+ sunnah/
230
+ ├── bin/index.js ← npm CLI (interactive TUI + all commands)
231
+ ├── python/sunnah_cli/ ← Python CLI (mirrors npm CLI exactly)
232
+ │ ├── __init__.py
233
+ │ ├── cli.py ← main Python CLI entry
234
+ │ ├── packages.py ← package registry (single source of truth)
235
+ │ ├── npm_utils.py ← npm helpers
236
+ │ └── pip_utils.py ← pip helpers
237
+ ├── package.json
238
+ ├── pyproject.toml
239
+ └── .github/workflows/ ← auto-publish to npm + PyPI on release
240
+ ```
241
+
242
+ ---
243
+
244
+ ## 📄 License
245
+
246
+ GNU Affero General Public License v3.0 (AGPL-3.0)
247
+
248
+ ---
249
+
250
+ <div align="center">
251
+
252
+ **Made with ❤️ for the Muslim community · Seeking knowledge together**
253
+
254
+ [![Stars](https://img.shields.io/github/stars/SENODROOM/sunnah?style=for-the-badge&logo=github&logoColor=white&color=f0c040&labelColor=1a1a1a)](https://github.com/SENODROOM/sunnah)
255
+
256
+ [📦 npm](https://npmjs.com/package/sunnah) • [🐍 PyPI](https://pypi.org/project/sunnah/) • [🐛 Issues](https://github.com/SENODROOM/sunnah/issues)
257
+
258
+ </div>