@a5gard/asgard 0.0.1

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 (207) hide show
  1. package/.env +2 -0
  2. package/.gitignore copy +6 -0
  3. package/.vscode/ntrsync/.vscode/ocrmnavigator/id.txt +1 -0
  4. package/.vscode/ntrsync/.vscode/ocrmnavigator.code-snippets +3664 -0
  5. package/.vscode/ntrsync/00002_CRM URGENT_todo.md +79 -0
  6. package/.vscode/ntrsync/10005_notes repo url.md +3 -0
  7. package/.vscode/ntrsync/10012_vscode_color_settings.md +133 -0
  8. package/.vscode/ntrsync/10013_Googles Snapchat Upload Hack note.md +11 -0
  9. package/.vscode/ntrsync/10014_APP IDEA - Lawyer CRM.md +229 -0
  10. package/.vscode/ntrsync/10015_APP IDEA - Onlyfans.md +293 -0
  11. package/.vscode/ntrsync/10016_notes repo url.md +3 -0
  12. package/.vscode/ntrsync/10504_adhd symptom.md +3 -0
  13. package/.vscode/ntrsync/10505_APP IDEA - GMAIL.md +39 -0
  14. package/.vscode/ntrsync/10506_container home - build mats.md +18 -0
  15. package/.vscode/ntrsync/10507_cleint facing site meta and loader function.md +25 -0
  16. package/.vscode/ntrsync/10508_Sabaak VSCode 1-8 players - private teams, solo q, duos q.md +11 -0
  17. package/.vscode/ntrsync/10509_schema dump.md +80 -0
  18. package/.vscode/ntrsync/10510_APPT BEACONHILL_reminder.md +7 -0
  19. package/.vscode/ntrsync/10512_clipboard very usefull should use asap within all apps.md +101 -0
  20. package/.vscode/ntrsync/10516_DevStack_todo.md +130 -0
  21. package/.vscode/ntrsync/10517_CRM_todo.md +95 -0
  22. package/.vscode/ntrsync/10518_Catalyst POS_todo.md +73 -0
  23. package/.vscode/ntrsync/10519_Catalyst Software_todo.md +497 -0
  24. package/.vscode/ntrsync/10523_new note.md +6 -0
  25. package/.vscode/ntrsync/10524_New Reminder_reminder.md +5 -0
  26. package/.vscode/ntrsync/10525_Mobile - Notes, To-Dos And Things_todo.md +4 -0
  27. package/.vscode/ntrsync/90002_COMPLETED_todo.md +97 -0
  28. package/.vscode/ntrsync/README.md +1 -0
  29. package/.vscode/ocrmnavigator/id.txt +1 -0
  30. package/.vscode/ocrmnavigator.code-snippets +349 -0
  31. package/.vscode/settings.json +1 -0
  32. package/CHANGELOG.md +6 -0
  33. package/LICENSE.md +21 -0
  34. package/README.md +1612 -0
  35. package/bin/dev.cmd +3 -0
  36. package/bin/dev.js +17 -0
  37. package/bin/run.cmd +3 -0
  38. package/bin/run.js +5 -0
  39. package/config.asgard +8 -0
  40. package/dist/commands/add-source.d.ts +9 -0
  41. package/dist/commands/add-source.d.ts.map +1 -0
  42. package/dist/commands/add-source.js +68 -0
  43. package/dist/commands/add-source.js.map +1 -0
  44. package/dist/commands/baldr.d.ts +5 -0
  45. package/dist/commands/baldr.d.ts.map +1 -0
  46. package/dist/commands/baldr.js +35 -0
  47. package/dist/commands/baldr.js.map +1 -0
  48. package/dist/commands/combine-timelines.d.ts +5 -0
  49. package/dist/commands/combine-timelines.d.ts.map +1 -0
  50. package/dist/commands/combine-timelines.js +53 -0
  51. package/dist/commands/combine-timelines.js.map +1 -0
  52. package/dist/commands/create-project.d.ts +10 -0
  53. package/dist/commands/create-project.d.ts.map +1 -0
  54. package/dist/commands/create-project.js +195 -0
  55. package/dist/commands/create-project.js.map +1 -0
  56. package/dist/commands/create-timeline.d.ts +8 -0
  57. package/dist/commands/create-timeline.d.ts.map +1 -0
  58. package/dist/commands/create-timeline.js +54 -0
  59. package/dist/commands/create-timeline.js.map +1 -0
  60. package/dist/commands/delete-project.d.ts +5 -0
  61. package/dist/commands/delete-project.d.ts.map +1 -0
  62. package/dist/commands/delete-project.js +47 -0
  63. package/dist/commands/delete-project.js.map +1 -0
  64. package/dist/commands/delete-source.d.ts +8 -0
  65. package/dist/commands/delete-source.d.ts.map +1 -0
  66. package/dist/commands/delete-source.js +57 -0
  67. package/dist/commands/delete-source.js.map +1 -0
  68. package/dist/commands/delete-timeline.d.ts +8 -0
  69. package/dist/commands/delete-timeline.d.ts.map +1 -0
  70. package/dist/commands/delete-timeline.js +54 -0
  71. package/dist/commands/delete-timeline.js.map +1 -0
  72. package/dist/commands/delete-version.d.ts +8 -0
  73. package/dist/commands/delete-version.d.ts.map +1 -0
  74. package/dist/commands/delete-version.js +65 -0
  75. package/dist/commands/delete-version.js.map +1 -0
  76. package/dist/commands/download-file.d.ts +17 -0
  77. package/dist/commands/download-file.d.ts.map +1 -0
  78. package/dist/commands/download-file.js +87 -0
  79. package/dist/commands/download-file.js.map +1 -0
  80. package/dist/commands/download-folder.d.ts +18 -0
  81. package/dist/commands/download-folder.d.ts.map +1 -0
  82. package/dist/commands/download-folder.js +111 -0
  83. package/dist/commands/download-folder.js.map +1 -0
  84. package/dist/commands/download-source.d.ts +12 -0
  85. package/dist/commands/download-source.d.ts.map +1 -0
  86. package/dist/commands/download-source.js +46 -0
  87. package/dist/commands/download-source.js.map +1 -0
  88. package/dist/commands/gh-setup.d.ts +7 -0
  89. package/dist/commands/gh-setup.d.ts.map +1 -0
  90. package/dist/commands/gh-setup.js +106 -0
  91. package/dist/commands/gh-setup.js.map +1 -0
  92. package/dist/commands/load-project.d.ts +5 -0
  93. package/dist/commands/load-project.d.ts.map +1 -0
  94. package/dist/commands/load-project.js +56 -0
  95. package/dist/commands/load-project.js.map +1 -0
  96. package/dist/commands/menu.d.ts +5 -0
  97. package/dist/commands/menu.d.ts.map +1 -0
  98. package/dist/commands/menu.js +41 -0
  99. package/dist/commands/menu.js.map +1 -0
  100. package/dist/commands/midgardr.d.ts +5 -0
  101. package/dist/commands/midgardr.d.ts.map +1 -0
  102. package/dist/commands/midgardr.js +24 -0
  103. package/dist/commands/midgardr.js.map +1 -0
  104. package/dist/commands/publish-project.d.ts +5 -0
  105. package/dist/commands/publish-project.d.ts.map +1 -0
  106. package/dist/commands/publish-project.js +102 -0
  107. package/dist/commands/publish-project.js.map +1 -0
  108. package/dist/commands/replace-timeline.d.ts +8 -0
  109. package/dist/commands/replace-timeline.d.ts.map +1 -0
  110. package/dist/commands/replace-timeline.js +63 -0
  111. package/dist/commands/replace-timeline.js.map +1 -0
  112. package/dist/commands/restore-version.d.ts +8 -0
  113. package/dist/commands/restore-version.d.ts.map +1 -0
  114. package/dist/commands/restore-version.js +67 -0
  115. package/dist/commands/restore-version.js.map +1 -0
  116. package/dist/commands/save-project.d.ts +8 -0
  117. package/dist/commands/save-project.d.ts.map +1 -0
  118. package/dist/commands/save-project.js +43 -0
  119. package/dist/commands/save-project.js.map +1 -0
  120. package/dist/commands/set-source.d.ts +9 -0
  121. package/dist/commands/set-source.d.ts.map +1 -0
  122. package/dist/commands/set-source.js +59 -0
  123. package/dist/commands/set-source.js.map +1 -0
  124. package/dist/commands/switch-timeline.d.ts +8 -0
  125. package/dist/commands/switch-timeline.d.ts.map +1 -0
  126. package/dist/commands/switch-timeline.js +61 -0
  127. package/dist/commands/switch-timeline.js.map +1 -0
  128. package/dist/commands/sync-source.d.ts +5 -0
  129. package/dist/commands/sync-source.d.ts.map +1 -0
  130. package/dist/commands/sync-source.js +29 -0
  131. package/dist/commands/sync-source.js.map +1 -0
  132. package/dist/commands/upload-project+++.d.ts +5 -0
  133. package/dist/commands/upload-project+++.d.ts.map +1 -0
  134. package/dist/commands/upload-project+++.js +32 -0
  135. package/dist/commands/upload-project+++.js.map +1 -0
  136. package/dist/commands/upload-project++.d.ts +5 -0
  137. package/dist/commands/upload-project++.d.ts.map +1 -0
  138. package/dist/commands/upload-project++.js +33 -0
  139. package/dist/commands/upload-project++.js.map +1 -0
  140. package/dist/commands/upload-project+.d.ts +5 -0
  141. package/dist/commands/upload-project+.d.ts.map +1 -0
  142. package/dist/commands/upload-project+.js +40 -0
  143. package/dist/commands/upload-project+.js.map +1 -0
  144. package/dist/commands/upload-project.d.ts +5 -0
  145. package/dist/commands/upload-project.d.ts.map +1 -0
  146. package/dist/commands/upload-project.js +29 -0
  147. package/dist/commands/upload-project.js.map +1 -0
  148. package/dist/commands/view-timeline.d.ts +5 -0
  149. package/dist/commands/view-timeline.d.ts.map +1 -0
  150. package/dist/commands/view-timeline.js +39 -0
  151. package/dist/commands/view-timeline.js.map +1 -0
  152. package/dist/commands/view-versions.d.ts +5 -0
  153. package/dist/commands/view-versions.d.ts.map +1 -0
  154. package/dist/commands/view-versions.js +45 -0
  155. package/dist/commands/view-versions.js.map +1 -0
  156. package/dist/git/helpers.d.ts +10 -0
  157. package/dist/git/helpers.d.ts.map +1 -0
  158. package/dist/git/helpers.js +300 -0
  159. package/dist/git/helpers.js.map +1 -0
  160. package/dist/git/sync-repo.d.ts +2 -0
  161. package/dist/git/sync-repo.d.ts.map +1 -0
  162. package/dist/git/sync-repo.js +17 -0
  163. package/dist/git/sync-repo.js.map +1 -0
  164. package/dist/index.d.ts +2 -0
  165. package/dist/index.d.ts.map +1 -0
  166. package/dist/index.js +3 -0
  167. package/dist/index.js.map +1 -0
  168. package/dist/utils/box.d.ts +11 -0
  169. package/dist/utils/box.d.ts.map +1 -0
  170. package/dist/utils/box.js +158 -0
  171. package/dist/utils/box.js.map +1 -0
  172. package/ideas.md +46 -0
  173. package/package.json +53 -0
  174. package/src/commands/add-source.js +72 -0
  175. package/src/commands/baldr.js +38 -0
  176. package/src/commands/combine-timelines.js +65 -0
  177. package/src/commands/create-project.js +216 -0
  178. package/src/commands/create-timeline.js +60 -0
  179. package/src/commands/delete-project.js +54 -0
  180. package/src/commands/delete-source.js +63 -0
  181. package/src/commands/delete-timeline.js +63 -0
  182. package/src/commands/delete-version.js +74 -0
  183. package/src/commands/download-file.js +101 -0
  184. package/src/commands/download-folder.js +123 -0
  185. package/src/commands/download-source.js +51 -0
  186. package/src/commands/gh-setup.js +77 -0
  187. package/src/commands/load-project.js +63 -0
  188. package/src/commands/menu.js +46 -0
  189. package/src/commands/midgardr.js +25 -0
  190. package/src/commands/publish-project.js +167 -0
  191. package/src/commands/replace-timeline.js +76 -0
  192. package/src/commands/restore-version.js +80 -0
  193. package/src/commands/save-project.js +48 -0
  194. package/src/commands/set-source.js +65 -0
  195. package/src/commands/switch-timeline.js +69 -0
  196. package/src/commands/sync-source.js +32 -0
  197. package/src/commands/upload-project+++.js +34 -0
  198. package/src/commands/upload-project++.js +35 -0
  199. package/src/commands/upload-project+.js +47 -0
  200. package/src/commands/upload-project.js +31 -0
  201. package/src/commands/view-timeline.js +43 -0
  202. package/src/commands/view-versions.js +50 -0
  203. package/src/git/helpers.js +333 -0
  204. package/src/git/sync-repo.js +16 -0
  205. package/src/index.js +2 -0
  206. package/src/utils/box.js +282 -0
  207. package/tsconfig.json +23 -0
package/README.md ADDED
@@ -0,0 +1,1612 @@
1
+ # @a5gard/asgard
2
+
3
+ One library that is a github wrapper, icons library, ui components cli installer, platform installer, platform plugin system and custom css library that would replace tailwind css
4
+
5
+ > [!NOTE]
6
+ >
7
+ > To keep this libraries size to a minimum, the icons and ui components libraries are kept seperate and this libraries use of them acts as a pass through. If you prefer your more than welcome to use those libraries on their own.
8
+
9
+ ## Installing
10
+
11
+ ```sh
12
+ npm install @a5gard/asgard
13
+ ```
14
+
15
+ ## Usage
16
+
17
+ To display the main menu / help screen
18
+
19
+ ```sh
20
+ asgard menu
21
+ ```
22
+
23
+ Otherwise you can use the commands that are designed for each feature
24
+
25
+ > [!IMPORTANT]
26
+ > Currently in alpha, if you have never used my projects before so as to not waste time I conduct testing as I code, once an issue crosses my path it gets fixed immediatly. Your more than welcome to use this, but if you come across an issue before I do, this is why
27
+
28
+ # TOC
29
+
30
+ - [GitHub](#github)
31
+ - [Installing](#installing)
32
+ - [create-project](#create-project)
33
+ - [delete-project](#delete-project)
34
+ - [load-project](#load-project)
35
+ - [save-project](#save-project)
36
+ - [upload-project](#upload-project)
37
+ - [upload-project+](#upload-project+)
38
+ - [upload-project++](#upload-project++)
39
+ - [upload-project+++](#upload-project+++)
40
+ - [add-source](#add-source)
41
+ - [delete-source](#delete-source)
42
+ - [download-source](#download-source)
43
+ - [set-source](#set-source)
44
+ - [sync-source](#sync-source)
45
+ - [create-timeline](#create-timeline)
46
+ - [combine-timelines](#combine-timelines)
47
+ - [delete-timeline](#delete-timeline)
48
+ - [replace-timeline](#replace-timeline)
49
+ - [switch-timeline](#switch-timeline)
50
+ - [view-timeline](#view-timeline)
51
+ - [restore-version](#restore-version)
52
+ - [delete-version](#delete-version)
53
+ - [view-versions](#view-versions)
54
+ - [download-file](#download-file)
55
+ - [download-folder](#download-folder)
56
+ - [BALDR](#baldr)
57
+ - [BIFRÖST](#bifrost)
58
+ - [BIFRÖST PLUGIN](#bifrost-plugin)
59
+ - [MIÐGARÐR](#midgardr)
60
+ - [THOR](#thor)
61
+
62
+ # GitHub
63
+
64
+ ## Overview
65
+
66
+ This library is for you if one of the following is true:
67
+ 1. finds github too complicated
68
+ 2. hates memorizing or having to look up commands whenever you go to use git/github
69
+ 3. can't remember the exact commands or flags needed to run git commands
70
+ 4. no longer wants to use git but doesn't want to actually use another platform for whatever reason
71
+ 5. new to development
72
+ 6. tired of git/github
73
+ 7. would like a resource that handles more than just github
74
+ 8. and the list goes on...
75
+
76
+ While this resource works with more than just github as I have merged my other libraries in with this one, instead of have 9 resources which is dumb...
77
+
78
+ This resource is for anyone who has to continue using github but doesn't actually want to use it, or if your new to development.
79
+
80
+ If your new to development, I urge you to use this library as it will save you from many headaches and time wasting excercises of dealing with github. It's a great platform and a great idea, they just really missed the mark when it comes to implementation and user experience. This is due to the fact that their naming conventions hold no meaning behind them for new people coming into the industry and the required commands to do anything you need to do... simply put, make no sense unless you either created the platform yourself or were one of the unlucky devs, like me, who had to bash their head against the wall in order to learn the platform.
81
+
82
+ For experienced devs, simply put, this will not only save you time but also save you from having to continue memorizing everything which will decrease the cognitive load of whenever you have to deal with github, which we use every day.
83
+
84
+ Either way as you can tell from the toc, the naming convention set forth by github has been replaced with a naming convention that not only makes sense but will actually hold meaning to you whether this is your first day or 10th year.
85
+
86
+ If this is your 10th year, the following breakdown will provide the conversions on the naming convention:
87
+ - project - is your local repo so anything project is referenced its refering to the local representation of your remote repo
88
+ - source - refers to remote, as it is the source of your project
89
+ - timeline - is your branch, timeline was chosen because whether you are new or not timeline immediatly tells someone that it can be temparay, can be deleted or can become the final project
90
+ - version - replacing tags, this name immediatly conveys a versioning system where as tags... simply does not
91
+
92
+ To help with chaotic nature that is github and remove the fear of pushing or pulling of any one thing, a system has been put in place to ease and remove these burdens. If your new and have never used github, just skip this part as you do not need to know about this since the fear I'm talking about only plagues people who have used github.
93
+
94
+ The system that has been put in place is a custom sync sequence that happens before a lot of commands are actually executed, thus removing the pop up prompts like rejected push and other similar prompts telling you that your push or sync has failed. For example, whenever you use upload-project, aka git add *, git commit.. and so on, before running the actual push commands it will first pull/fetch/rebase, merge it with your local, and finally push the local to your repo. This ensures that before any action is taken, whatever branch your currently on, is always up to date so as you will never experience a conflit in refs or heads. If your skeptical about never to experience this again, I don't blame you but to ease this concern in one of my other projects I have an extension that contains a notes and to do app. Simple in nature I know but it uses github as a source of truth, which to be honest I have never seen another dev do before. The notes and to do files are accessible in every single workspace and I can have 4 workspaces open and use the extension in each of them whether or not their are dirty or clean notes in any number of them. This was made 9-10 months ago and not once have I ever had a rejected push. This project will receive the same treatment.
95
+
96
+ The reason I can ensure this, is because I too will be using this resource and do you think that I... want to deal with this crap day in and day out? No... lol, I do not. But before you ask, yes I'm making this entirely for myself and making public so I can access it everywhere. The only reason for the docs is because... I tend to build larger than normal resources, so large that at times I need to refer to my own documentation in order to remember how to use it, seriously. My vscode extension contains 175+ worth of extensions features and functionality. Currently I have 9 npm libraries, and right before creating this github wrapper I was looking at it and said to myself, "this is stupid, why am I creating so many?" and those libraries will be merged with this one. In addition to that, any other idea or need that comes up will also be added to this library. The only reason why I make the docs so descriptive as I don't need this much information in order to remember how to use it is because even in my last career I always went out of my way to help my colleagues and since I'm already making the documentation I might as well make it right so that anyone else can use it too.
97
+
98
+ The only libraries I plan on keeping up are the ones that have seen a lot of use considering, I have never told anyone about any of them, otherwise they will be removed once they have been merged
99
+
100
+
101
+
102
+ > [!NOTE]
103
+ > Flags are not required and when left out it will prompt for the required information
104
+
105
+
106
+ ## create-project
107
+
108
+ ### With no arguments
109
+
110
+ ```sh
111
+ asgard new-project
112
+ ```
113
+
114
+ If you use the above command a series of prompts will be provided inquiring:
115
+ 1. project name
116
+ 2. which package manager you would like to use
117
+ 3. license you would like to use
118
+ 4. confirmation to pre install icons library
119
+ 5. confirmation to pre install components library
120
+
121
+ Silently it will:
122
+ - create the new project folder
123
+ - cd into the project folder
124
+ - create readme.md
125
+ - create license.md
126
+ - create package.json
127
+ - create .env and .dev.env
128
+ - create .gitignore
129
+ - initialize github project
130
+ - create github repo
131
+ - push project to the new repo
132
+ - creates asgard.config with the provided values to be used later
133
+
134
+ Proving just how much easier life will become when using this resource, as this now perfectly sets you up to dive into whatever project you were planning on creating.
135
+
136
+ ### With arguments
137
+
138
+ ```sh
139
+ asgard new-project project-name
140
+ ```
141
+
142
+ Obviously you may replace project-name with whatever you would like to call your project, doing this skips the prompt process with a set of defaults:
143
+ - icons: false
144
+ - ui components: false
145
+ - license: MIT
146
+ - branch: main
147
+ - package manger: pnpm
148
+
149
+ This command will follow the same processs as the previous.
150
+
151
+ ### With config
152
+
153
+ ```sh
154
+ asgard new-project
155
+ ```
156
+
157
+ You may provide your own config with whatever values you would like by first creating the projects folder and then creating the config file 'config.asgard' and running the above command.
158
+
159
+ ### Fallbacks
160
+
161
+ If you have never used github before or using it for the first time on this station there are a few command that will ensure that you have the required values in order to run everything and if you don't currently have them it will start off by asking you to provide username/owner, email and github token. This will trigger before running the following commands:
162
+
163
+ - create-project
164
+ - download-file
165
+ - download-folder
166
+ - download-source
167
+
168
+
169
+ ## delete-project
170
+
171
+ New: Removes saved temporary work that you previously set aside. Think of it like deleting a bookmark of your work in progress.
172
+
173
+ Exp: Removes a stash entry
174
+
175
+ ```sh
176
+ asgard delete-project
177
+ ```
178
+
179
+ ## load-project
180
+
181
+ New: Brings back work you temporarily set aside. Imagine you put some papers in a drawer to work on something else - this takes those papers back out and puts them on your desk.
182
+
183
+ Exp: Restores and removes a stash entry (pop operation)
184
+
185
+ ```sh
186
+ asgard load-project
187
+ ```
188
+
189
+ ## save-project
190
+
191
+ New: Packages up all your current changes, labels them with a note, and sends them to GitHub. It's like saving your video game progress to the cloud.
192
+
193
+ Exp: Stages all changes, commits with message, and pushes to remote
194
+
195
+ ```sh
196
+ asgard save-project
197
+ asgard save-project -m "added login page"
198
+ ```
199
+
200
+ ## upload-project
201
+
202
+ New: Makes sure your local work matches what's on GitHub, then sends your changes up. Prevents conflicts by always checking first.
203
+
204
+ Exp: Syncs local with remote then pushes
205
+
206
+ ```sh
207
+ asgard upload-project
208
+ ```
209
+
210
+ ## upload-project+
211
+
212
+ New: Sends your changes to GitHub and automatically updates your project's version number by one tiny step (like going from 1.0.5 to 1.0.6). Use this for small bug fixes.
213
+
214
+ Exp: Sync, bump patch version, commit, tag, push with tags
215
+
216
+ ```sh
217
+ asgard upload-project+
218
+ ```
219
+
220
+ ## upload-project++
221
+
222
+ New: Sends your changes to GitHub and updates your version number for a new feature (like going from 1.2.0 to 1.3.0). Use this when you add something new but don't break existing features.
223
+
224
+ Exp: Sync, bump minor version, commit, tag, push with tags
225
+
226
+ ```sh
227
+ asgard upload-project++
228
+ ```
229
+
230
+ ## upload-project+++
231
+
232
+ New: Sends your changes to GitHub and updates your version number for major changes (like going from 2.0.0 to 3.0.0). Use this when you make big changes that might break things for people using your code.
233
+
234
+ Exp: Sync, bump major version, commit, tag, push with tags
235
+
236
+ ```sh
237
+ asgard upload-project+++
238
+ ```
239
+
240
+ ## delete-source
241
+
242
+ New: Removes a connection between your local project and a copy stored somewhere online. Like unlinking your phone from a cloud backup.
243
+
244
+ Exp: Removes a remote reference
245
+
246
+ ```sh
247
+ asgard delete-source
248
+ asgard delete-source -n 'backup'
249
+ ```
250
+
251
+ ## download-source
252
+
253
+ New: Makes a complete copy of someone's project from GitHub onto your computer. Like downloading a complete folder from Google Drive.
254
+
255
+ Exp: Clones a repository to local machine
256
+
257
+ ```sh
258
+ asgard download-source
259
+ asgard download-source owner/repo
260
+ asgard download-source -u 'https://github.com/owner/repo'
261
+ asgard download-source -o 'owner' -r 'repo' -d 'my-folder'
262
+ ```
263
+
264
+ ## set-source
265
+
266
+ New: Changes where your project sends and receives updates from. Like changing which cloud storage account your files sync with.
267
+
268
+ Exp: Updates remote URL
269
+
270
+ ```sh
271
+ asgard set-source -u 'https://github.com/newowner/repo.git'
272
+ asgard set-source -r 'main' -u 'https://github.com/newowner/repo.git'
273
+ ```
274
+
275
+ ## sync-source
276
+
277
+ New: Downloads any new changes from GitHub and uploads your changes. Makes sure everyone is working with the same files.
278
+
279
+ Exp: Fetch, pull with rebase, auto-commit if needed, push
280
+
281
+ ```sh
282
+ asgard sync-source
283
+ ```
284
+
285
+ ## create-timeline
286
+
287
+ New: Creates a separate workspace where you can experiment without affecting your main work. Like making a copy of your essay to try different edits.
288
+
289
+ Exp: Creates and checks out new branch after syncing
290
+
291
+ ```sh
292
+ asgard create-timeline
293
+ asgard create-timeline -n 'dark-mode-feature'
294
+ ```
295
+
296
+ ## combine-timelines
297
+
298
+ New: Takes work from one experimental workspace and merges it into your current workspace. Both workspaces still exist after. Like copying chapters from one document into another.
299
+
300
+ Exp: Merges another branch into current branch
301
+
302
+ ```sh
303
+ asgard combine-timelines
304
+ asgard combine-timelines -b 'dark-mode-feature'
305
+ ```
306
+
307
+ ## delete-timeline
308
+
309
+ New: Permanently deletes an experimental workspace. Use this when you're done with it or don't need it anymore.
310
+
311
+ Exp: Deletes a local branch
312
+
313
+ ```sh
314
+ asgard delete-timeline
315
+ asgard delete-timeline -b 'old-experiment'
316
+ ```
317
+
318
+ ## replace-timeline
319
+
320
+ New: Combines an experimental workspace into your main workspace, then deletes the experimental one. Use this when your experiment is successful and you want to make it permanent.
321
+
322
+ Exp: Merges branch into main and deletes source branch
323
+
324
+ ```sh
325
+ asgard replace-timeline
326
+ asgard replace-timeline -b 'finished-feature'
327
+ ```
328
+
329
+ ## switch-timeline
330
+
331
+ New: Moves you from one workspace to another. Like switching between different tabs in your browser - all your work is still there, you're just looking at a different one.
332
+
333
+ Exp: Checks out different branch after syncing
334
+
335
+ ```sh
336
+ asgard switch-timeline
337
+ asgard switch-timeline -b 'dark-mode-feature'
338
+ ```
339
+
340
+ ## view-timeline
341
+
342
+ New: Shows you all the different workspaces you have in your project and which one you're currently in.
343
+
344
+ Exp: Lists all local branches
345
+
346
+ ```sh
347
+ asgard view-timeline
348
+ ```
349
+
350
+ ## restore-version
351
+
352
+ New: Rewinds your entire project back to how it looked at a specific point in the past. Like using "undo" but for your whole project. WARNING: This erases everything after that point.
353
+
354
+ Exp: Hard reset to specific commit
355
+
356
+ ```sh
357
+ asgard restore-version
358
+ asgard restore-version -h 'abc1234'
359
+ ```
360
+
361
+ ## delete-version
362
+
363
+ New: Removes a label you previously put on a specific version of your project. The actual version is still in your history, you're just removing the bookmark.
364
+
365
+ Exp: Deletes a git tag
366
+
367
+ ```sh
368
+ asgard delete-version
369
+ asgard delete-version -t 'v1.0.0'
370
+ ```
371
+
372
+ ## view-versions
373
+
374
+ New: Shows all the labeled versions of your project. These are like bookmarks showing important moments in your project's history.
375
+
376
+ Exp: Lists all git tags
377
+
378
+ ```sh
379
+ asgard view-versions
380
+ ```
381
+
382
+ ## download-file
383
+
384
+ New: Downloads just one specific file from someone's GitHub project instead of the whole thing. Like downloading a single photo from someone's album instead of the entire album.
385
+
386
+ Exp: Downloads single file from repository
387
+
388
+ ```sh
389
+ asgard download-file
390
+ asgard download-file owner/repo src/index.js
391
+ asgard download-file -u 'https://github.com/owner/repo/blob/main/src/index.js'
392
+ asgard download-file -o 'owner' -r 'repo' -p 'src/index.js' -b 'main'
393
+ ```
394
+
395
+ ## download-folder
396
+
397
+ New: Downloads just one folder from someone's GitHub project instead of everything. Like downloading one folder from Dropbox instead of their entire account.
398
+
399
+ Exp: Downloads specific folder from repository using sparse checkout or raw HTTP
400
+
401
+ ```sh
402
+ asgard download-folder
403
+ asgard download-folder owner/repo src/components
404
+ asgard download-folder -u 'https://github.com/owner/repo/tree/main/src/components'
405
+ asgard download-folder -o 'owner' -r 'repo' -p 'src/components' -b 'main'
406
+ asgard download-folder --raw -u 'https://github.com/owner/repo/tree/main/src/components'
407
+ ```
408
+
409
+ ## view-timeline
410
+
411
+ New: Shows you all the different workspaces you have in your project and which one you're currently in.
412
+ Exp: Lists all local branches
413
+
414
+ ```sh
415
+ asgard view-timeline
416
+ ```
417
+
418
+ ## view-versions
419
+
420
+ New: Shows all the labeled versions of your project. These are like bookmarks showing important moments in your project's history.
421
+ Exp: Lists all git tags
422
+
423
+ ```sh
424
+ asgard view-versions
425
+ ```
426
+
427
+
428
+ ## publish-project
429
+
430
+ New: Takes your existing project folder and creates a GitHub repo for it, then sends everything up. Like taking a project you've been working on locally and finally backing it up to the cloud.
431
+
432
+ Exp: Creates GitHub repository for existing local project, initializes git if needed, creates missing files (README, CHANGELOG, LICENSE, config.asgard), and pushes everything
433
+
434
+ ```sh
435
+ asgard publish-project
436
+ ```
437
+
438
+ # BIFRÖST
439
+
440
+ # BIFRÖST PLUGIN
441
+
442
+ # THOR
443
+
444
+ # MIÐGARÐR
445
+
446
+ A comprehensive React component library with 2500+ production-ready components for building modern web applications.
447
+
448
+ ## UPDATE
449
+
450
+ Adding a new line option 'Configure Import Call'. Configures your package.json and tsconfig.json files to allow the use of '#baldr' and '#midgardr' in-place of the traditional '~/components/midgardr' and '@a5gard/baldr'
451
+
452
+ ```javascript
453
+ import { Command, CommandGroup, CommandItem, CommandList, cn } from '#midgardr'
454
+ import { X } from '#baldr'
455
+ ```
456
+ Selecting the full installation will also configure your project for this use as well.
457
+
458
+ ### Quick Start
459
+
460
+ Install a single component:
461
+
462
+ ```bash
463
+ asgard midgardr button
464
+ ```
465
+
466
+ ### Menu
467
+
468
+ ```bash
469
+ asgard midgardr
470
+ ```
471
+
472
+ Then select from the interactive menu:
473
+ - **Full Install** - Components + Libraries + Tailwind + PostCSS
474
+ - **Full Install with Ngin** - Includes 18,000 Tailwind config presets
475
+ - **Components + Libraries** - Install without config files
476
+ - **Configure Tailwind + PostCSS** - Setup only
477
+ - **Configure Tailwind + PostCSS w/ ngin** - Setup with preset that contains 18,000 configurations set with only 3 variables
478
+ - **Select Components** - Choose specific components
479
+ - **Create Config** - Creates config file that can be used in conjuction with the bunx command
480
+
481
+ ### Flags
482
+
483
+ Running the command with flags
484
+ - `full-w-ngin` - installs all, includes preset ngin
485
+ - `full-install` - full install
486
+ - `select-components` - provides a list with toggable items to install
487
+ - `comps-and-libs` - just installs the components and required libraries
488
+ - `create-config` - create config wizard
489
+ - `configure-tailwind-postcss` - installs tailwind v3, postcss and configures each for you
490
+ - `configure-ngin` - before installing ngin, prompts you for 3 values, creating the file with them instead of having to manually editing them
491
+
492
+
493
+ ## Premium Access
494
+
495
+ Unlock the full component library with a premium access key:
496
+
497
+
498
+ Premium features include:
499
+ - Access to all 2000+ components
500
+ - Advanced interactive components
501
+ - Specialized tools and utilities
502
+ - Priority updates
503
+
504
+ ## Component Categories
505
+
506
+ ### Primitives
507
+ Core UI components following modern design patterns:
508
+ - Button, Input, Select, Checkbox, Radio, Switch
509
+ - Dialog, Sheet, Popover, Tooltip
510
+ - Card, Badge, Avatar, Separator
511
+ - Accordion, Tabs, Collapsible
512
+ - And more...
513
+
514
+ ### Forms
515
+ Advanced form components with validation:
516
+ - Input variants (masked, OTP, password)
517
+ - Date pickers and calendars
518
+ - File uploads and dropzone
519
+ - Toggle groups and button groups
520
+
521
+ ### Data Display
522
+ Components for presenting data:
523
+ - Tables with sorting and filtering
524
+ - Charts and data visualizations
525
+ - Timeline and progress indicators
526
+ - Empty states and skeletons
527
+
528
+ ### Navigation
529
+ Navigation and layout components:
530
+ - Menus and navigation bars
531
+ - Breadcrumbs and pagination
532
+ - Sidebars and dual sidebars
533
+ - Command palette
534
+
535
+ ### Feedback
536
+ User feedback components:
537
+ - Alerts and notifications
538
+ - Toast messages
539
+ - Loading spinners
540
+ - Progress indicators
541
+
542
+ ### Interactive
543
+ Advanced interactive elements:
544
+ - Drag and drop
545
+ - Resizable panels
546
+ - Image zoom and crop
547
+ - Code editors with syntax highlighting
548
+
549
+ ### Utilities
550
+ Helper components and hooks:
551
+ - Custom hooks (useTimer, useCopyToClipboard, etc.)
552
+ - Auth utilities
553
+ - Server middleware
554
+ - Context management
555
+
556
+ ## Package Managers
557
+
558
+ Catalyst UI automatically detects and uses your package manager:
559
+ - npm
560
+ - pnpm
561
+ - yarn
562
+
563
+ ## Configuration
564
+
565
+ ### Config File (Optional)
566
+
567
+ Create a `config.midgardr` file in your project root to customize installation behavior:
568
+
569
+ ```bash
570
+ asgard midgardr
571
+ # Select: Create Config File
572
+ ```
573
+
574
+ Or create it manually:
575
+
576
+ ```jsonc
577
+ {
578
+ "theme": "blue", // presetting the theme
579
+ "preset": "MODERN", // presetting the preset
580
+ "font": "Geist", // presetting the font
581
+ "all-components": false, // auto-install all on `asgard midgardr`
582
+ "install-tailwind": true, // install Tailwind dependencies
583
+ "configure-tailwind": true, // create and paste .css file
584
+ "configure-tailwind.config": true, // true, "ngin", or false
585
+ "install-postcss": true, // install PostCSS dependencies
586
+ "configure-postcss": true, // create postcss.config.js
587
+ "css": "app/routes/styles/tailwind.css", // CSS file location
588
+ "components": "app/" // components folder location
589
+ }
590
+ ```
591
+
592
+ ### Config Options Explained
593
+
594
+ | Option | Type | Default | Description |
595
+ |--------|------|---------|-------------|
596
+ | `theme` | string | `"blue"` | Default theme color |
597
+ | `preset` | string | `"MODERN"` | Default preset style |
598
+ | `font` | string | `"Geist"` | Default font family |
599
+ | `all-components` | boolean | `false` | Auto-install all components when running `asgard midgardr` |
600
+ | `install-tailwind` | boolean | `true` | Install Tailwind CSS and related dependencies |
601
+ | `configure-tailwind` | boolean | `true` | Create the tailwind.css file at specified location |
602
+ | `configure-tailwind.config` | boolean\|"ngin" | `true` | `true` for basic config, `"ngin"` for 18k presets, `false` for none |
603
+ | `install-postcss` | boolean | `true` | Install PostCSS dependencies |
604
+ | `configure-postcss` | boolean | `true` | Create postcss.config.js file |
605
+ | `css` | string | `"app/routes/styles/tailwind.css"` | Path and filename for tailwind.css |
606
+ | `components` | string | `"app/"` | Base directory for components folder |
607
+
608
+ ### Auto-Install with Config
609
+
610
+ Once you have a config file with `"all-components": true`, simply run:
611
+
612
+ ```bash
613
+ asgard midgardr
614
+ ```
615
+
616
+ This will automatically:
617
+ 1. Install all components to your specified components directory
618
+ 2. Install required dependencies (if enabled)
619
+ 3. Configure Tailwind CSS (if enabled)
620
+ 4. Configure PostCSS (if enabled)
621
+ 5. Create utils file
622
+
623
+ No menu selection needed!
624
+
625
+ ### Tailwind Setup
626
+
627
+ Catalyst UI includes pre-configured Tailwind setups:
628
+
629
+ **Standard Configuration:**
630
+ ```bash
631
+ asgard midgardr
632
+ # Select: Configure Tailwind + PostCSS
633
+ ```
634
+
635
+ **Ngin Configuration** (18,000 presets):
636
+ ```bash
637
+ asgard midgardr
638
+ # Select: Configure with Ngin
639
+ ```
640
+
641
+ Or set in config:
642
+ ```jsonc
643
+ {
644
+ "configure-tailwind.config": "ngin"
645
+ }
646
+ ```
647
+
648
+ ## Examples
649
+
650
+ ### Installing a Button Component
651
+
652
+ ```bash
653
+ asgard midgardr button
654
+ ```
655
+
656
+ This will:
657
+ 1. Create `/components/midgardr/primitives/button.tsx`
658
+ 2. Install required dependencies (extracted from component imports)
659
+ 3. Create `utils/utils.ts` if it doesn't exist
660
+
661
+ ### Using the Button Component
662
+
663
+ ```tsx
664
+ import { Button } from '~/components/midgardr';
665
+
666
+ export default function MyPage() {
667
+ return (
668
+ <Button
669
+ variant="default"
670
+ size="lg"
671
+ onClick={() => console.log('clicked')}
672
+ >
673
+ Click Me
674
+ </Button>
675
+ );
676
+ }
677
+ ```
678
+
679
+ ### Installing Multiple Components
680
+
681
+ ```bash
682
+ asgard midgardr
683
+ # Select: Select Components
684
+ # Choose from the list
685
+ ```
686
+
687
+ ## Component Import Paths
688
+
689
+ All components use the centralized import path:
690
+
691
+ ```tsx
692
+ import { Button, Card, Dialog } from '~/components/midgardr';
693
+ ```
694
+
695
+ Or import directly from category folders:
696
+
697
+ ```tsx
698
+ import { Button } from '~/components/midgardr/primitives';
699
+ import { useTimer } from '~/components/midgardr/hooks';
700
+ ```
701
+
702
+ If you would rather a much easier import path to use, I have recently adopted the following and can be configured in your project using the flag 'easy-paths'
703
+
704
+ ```tsx
705
+ import { Button, Card, Dialog } from '#midgardr';
706
+ ```
707
+
708
+ ## Features
709
+
710
+ - **TypeScript First** - Full TypeScript support with type definitions
711
+ - **Accessible** - Built with accessibility in mind following WAI-ARIA standards
712
+ - **Customizable** - Highly customizable with Tailwind CSS
713
+ - **Tree-shakeable** - Import only what you need
714
+ - **Dark Mode** - Built-in dark mode support
715
+ - **Responsive** - Mobile-first responsive design
716
+ - **Zero Config** - Works out of the box with sensible defaults
717
+
718
+
719
+ ## File Structure
720
+
721
+ After installation, your project will have:
722
+
723
+ ```
724
+ your-project/
725
+ ├── components/
726
+ │ └── midgardr/
727
+ │ ├── primitives/
728
+ │ ├── forms/
729
+ │ ├── overlays/
730
+ │ ├── hooks/
731
+ │ ├── utils/
732
+ │ │ └── utils.ts
733
+ │ └── index.ts
734
+ └── (optional config files)
735
+ ├── tailwind.config.js
736
+ └── postcss.config.js
737
+ ```
738
+
739
+
740
+ # BALDR ICONS
741
+
742
+ ## React Icon Library
743
+
744
+ This is a programmatically generated React icon library designed for simplicity and accuracy.
745
+
746
+ ### Key Features
747
+
748
+ * **No Website Needed:** Icons are visually similar across libraries, so a dedicated showcase website is omitted.
749
+ * **Script-Generated & Verified:** The entire library is built using scripts. Upon completion, it automatically scans the icon directory to generate the list below, guaranteeing that every listed icon is available.
750
+ * **Two Search Methods:**
751
+ 1. **Browser Search:** Use your browser's find function (`Ctrl+F` / `Cmd+F`) to search the list on this page.
752
+ 2. **VS Code Extension:** Use the "DevStack" extension from the marketplace for a quick-pick search. It inserts the icon component and adds the necessary import automatically.
753
+
754
+ ### Naming Convention
755
+
756
+ Icons are named intuitively, so you don't need to memorize their original names. The structure is:
757
+
758
+ `[Main Theme][Container/Feature][Filled]`
759
+
760
+ * **Main Theme:** The core subject of the icon (e.g., `ExclamationPoint`, `Text`).
761
+ * **Container/Feature:** An encompassing shape or added feature (e.g., `Circle`, `File`, `Wrap`).
762
+ * **Filled:** Appended only if the icon has a filled variant.
763
+
764
+ **Examples:**
765
+ * `ExclamationPointCircle`
766
+ * `TextWrap`
767
+ * `ExclamationPointFile`
768
+ * `QuestionMarkFileFilled`
769
+
770
+ ## Installation
771
+
772
+ ```bash
773
+ npm install @a5gard/baldr
774
+ # or
775
+ pnpm add @a5gard/baldr
776
+ ```
777
+
778
+ ## Usage
779
+
780
+ ```javascript
781
+ import { ArrowBadgeRight } from '@a5gard/baldr'
782
+
783
+ <ArrowBadgeRight />
784
+ ```
785
+
786
+ <!-- icon start -->
787
+
788
+ ## Icons
789
+
790
+ - Abc
791
+ - Ac
792
+ - Ace
793
+ - Aleph
794
+ - Algiz
795
+ - Alien
796
+ - AlignCenter
797
+ - AlignEndVertical
798
+ - AlignJustified
799
+ - AlignJustify
800
+ - AlignLeft
801
+ - AlignRight
802
+ - Alpha
803
+ - Amazon
804
+ - AmericanExpress
805
+ - Android
806
+ - Ansuz
807
+ - Anthropic
808
+ - AppWindow
809
+ - Apple
810
+ - Archive
811
+ - ArchiveX
812
+ - ArrowBadgeDown
813
+ - ArrowBadgeLeft
814
+ - ArrowBadgeRight
815
+ - ArrowBadgeUp
816
+ - ArrowBigDown
817
+ - ArrowBigLeft
818
+ - ArrowBigRight
819
+ - ArrowBigUp
820
+ - ArrowDown
821
+ - ArrowDownFromLine
822
+ - ArrowDownLeft
823
+ - ArrowDownRight
824
+ - ArrowLeft
825
+ - ArrowLeftRight
826
+ - ArrowRight
827
+ - ArrowUp
828
+ - ArrowUpDown
829
+ - ArrowUpFromLine
830
+ - ArrowUpNarrowWide
831
+ - ArrowUpRight
832
+ - Assemblyai
833
+ - Asterisk
834
+ - Astro
835
+ - At
836
+ - AtSign
837
+ - Atari
838
+ - AudioWaveform
839
+ - Award
840
+ - Aws
841
+ - Azure
842
+ - Badge
843
+ - BadgeCheck
844
+ - Ban
845
+ - Banknote
846
+ - BarChart
847
+ - BarChartArea
848
+ - BarChartAreaBig
849
+ - BarChartFile
850
+ - Baseten
851
+ - Bat
852
+ - Bed
853
+ - BeggarsHand
854
+ - Bell
855
+ - Berkano
856
+ - Beta
857
+ - Beth
858
+ - Biohazard
859
+ - Biome
860
+ - Bitcoin
861
+ - Bitcoin2
862
+ - Blackforestlabs
863
+ - Blackforestlabs1
864
+ - Blocks
865
+ - Bluetooth
866
+ - Bmw
867
+ - Bold
868
+ - Book
869
+ - BookOpen
870
+ - BookOpenText
871
+ - Bookmark
872
+ - Bot
873
+ - Bower
874
+ - Box
875
+ - Boxes
876
+ - Braces
877
+ - BracketsAngle
878
+ - Brain
879
+ - BrandAstro
880
+ - Briefcase
881
+ - BrightnessDown
882
+ - BrightnessUp
883
+ - Browser
884
+ - Brush
885
+ - Bug
886
+ - Building
887
+ - Bun
888
+ - Burger
889
+ - C
890
+ - Calc
891
+ - CalcDoubled
892
+ - Calculator
893
+ - Calendar
894
+ - CalendarCheck
895
+ - CalendarCheck2
896
+ - CalendarDays
897
+ - CalendarPlus
898
+ - Camera
899
+ - Capture
900
+ - Car
901
+ - CarFront
902
+ - CaretDown
903
+ - CaretLeft
904
+ - CaretRight
905
+ - CaretUp
906
+ - Cb
907
+ - Cen
908
+ - Cerebras
909
+ - Check
910
+ - CheckCircle
911
+ - CheckSquare
912
+ - Checkbox
913
+ - CheckboxCheckedFilled
914
+ - ChefHat
915
+ - ChevronDown
916
+ - ChevronLeft
917
+ - ChevronRight
918
+ - ChevronUp
919
+ - ChevronsDown
920
+ - ChevronsLeft
921
+ - ChevronsLeftRight
922
+ - ChevronsRight
923
+ - ChevronsUpDown
924
+ - Circle
925
+ - CircleOff
926
+ - CirclePlus
927
+ - Circleci
928
+ - Cirrus
929
+ - Claude
930
+ - Clipboard
931
+ - ClipboardCheck
932
+ - ClipboardData
933
+ - ClipboardText
934
+ - Clock
935
+ - Cloud
936
+ - CloudRain
937
+ - CloudUpload
938
+ - Code
939
+ - Codemirror
940
+ - Coffeescript
941
+ - Cog
942
+ - Cohere
943
+ - ColorPicker
944
+ - ColorSwatch
945
+ - ColoredStar
946
+ - Columns
947
+ - Columns3
948
+ - Columns4
949
+ - Command
950
+ - CommandK
951
+ - Compass
952
+ - Component
953
+ - Component1
954
+ - Computer
955
+ - ComputerChip
956
+ - Construction
957
+ - Cookie
958
+ - Coolermaster
959
+ - Copy
960
+ - CornerUpLeft
961
+ - CornerUpRight
962
+ - Cplusplus
963
+ - Cpu
964
+ - CreditCard
965
+ - Crown
966
+ - Css
967
+ - Cssmodules
968
+ - Cva
969
+ - Cweord
970
+ - Dagaz
971
+ - Dart
972
+ - Dashboard
973
+ - Database
974
+ - Datefns
975
+ - Deepgram
976
+ - Deepinfra
977
+ - Deepmind
978
+ - Deepseek
979
+ - Delete
980
+ - Delta
981
+ - DeviceCode
982
+ - Digamma
983
+ - DirectDebit
984
+ - Discord
985
+ - Discover
986
+ - Docker
987
+ - Docusaurus
988
+ - Dog
989
+ - DollarSign
990
+ - Dot
991
+ - Dotenv
992
+ - Dots
993
+ - DotsVertical
994
+ - Download
995
+ - Droplets
996
+ - EPassport
997
+ - Ear
998
+ - Editorconfig
999
+ - Ehwaz
1000
+ - Electron
1001
+ - Elevenlabs
1002
+ - Embla
1003
+ - Epsilon
1004
+ - Eraser
1005
+ - Eslint
1006
+ - Eta
1007
+ - Etcd
1008
+ - ExclamationPointMessageCircle
1009
+ - ExclamationPointOctagon
1010
+ - ExclamationPointTriangle
1011
+ - Expand
1012
+ - ExternalLink
1013
+ - Eye
1014
+ - EyeClosed
1015
+ - EyeOff
1016
+ - Facebook
1017
+ - Fal
1018
+ - Figma
1019
+ - File
1020
+ - FileCode
1021
+ - FileExport
1022
+ - FileImage
1023
+ - FileInput
1024
+ - FileJson
1025
+ - FileOutput
1026
+ - FilePlay
1027
+ - FilePlus
1028
+ - FileSpreadsheet
1029
+ - FileText
1030
+ - FileTypeBmp
1031
+ - FileTypeCss
1032
+ - FileTypeCsv
1033
+ - FileTypeDoc
1034
+ - FileTypeDocx
1035
+ - FileTypeHtml
1036
+ - FileTypeJpg
1037
+ - FileTypeJs
1038
+ - FileTypeJsx
1039
+ - FileTypePdf
1040
+ - FileTypePhp
1041
+ - FileTypePng
1042
+ - FileTypePpt
1043
+ - FileTypeRs
1044
+ - FileTypeSql
1045
+ - FileTypeSvg
1046
+ - FileTypeTs
1047
+ - FileTypeTsx
1048
+ - FileTypeTxt
1049
+ - FileTypeVue
1050
+ - FileTypeXls
1051
+ - FileTypeXml
1052
+ - FileTypeZip
1053
+ - FileTypography
1054
+ - FileX
1055
+ - Filter
1056
+ - Fireworks
1057
+ - FishBone
1058
+ - Flag
1059
+ - Flame
1060
+ - FloppyDisk
1061
+ - Focus
1062
+ - Folder
1063
+ - FolderCheck
1064
+ - FolderClosed
1065
+ - FolderDown
1066
+ - FolderOpen
1067
+ - FolderPlus
1068
+ - FolderRoot
1069
+ - FolderSearch
1070
+ - FolderTree
1071
+ - FolderUp
1072
+ - FolderUpload
1073
+ - Foobar2000
1074
+ - Footprints
1075
+ - Forward
1076
+ - FourOhFour
1077
+ - Frame
1078
+ - Funnel
1079
+ - FuseJs
1080
+ - GalleryVerticalEnd
1081
+ - Gamepad
1082
+ - Gamepad2
1083
+ - Gamma
1084
+ - Gar
1085
+ - Gatsby
1086
+ - Gauge
1087
+ - Gavel
1088
+ - Gebo
1089
+ - Gem
1090
+ - Gemini
1091
+ - Gemini1
1092
+ - Ger
1093
+ - Ghost
1094
+ - GhostFilled
1095
+ - GhostFloating
1096
+ - GhostFloatingFilled
1097
+ - Gift
1098
+ - GitBranch
1099
+ - GitCommitVertical
1100
+ - Github
1101
+ - Gitignoredotio
1102
+ - Gitlab
1103
+ - Gladia
1104
+ - Globe
1105
+ - GlobeLock
1106
+ - Gnubash
1107
+ - Go
1108
+ - Golang
1109
+ - Google
1110
+ - Googledataproc
1111
+ - Googlegemini
1112
+ - Googlejules
1113
+ - GraduationCap
1114
+ - Graphql
1115
+ - GreekDelta
1116
+ - Grid
1117
+ - Grid3X3
1118
+ - GripVertical
1119
+ - Grok
1120
+ - Grunt
1121
+ - Gulp
1122
+ - H1
1123
+ - H2
1124
+ - H3
1125
+ - H4
1126
+ - H5
1127
+ - H6
1128
+ - Hackaday
1129
+ - Haglaz
1130
+ - Hammer
1131
+ - Handlebarsdotjs
1132
+ - HardDrive
1133
+ - HardHat
1134
+ - Hash
1135
+ - Heading
1136
+ - Headphones
1137
+ - Heart
1138
+ - HeartHandshake
1139
+ - Hexagon
1140
+ - Highlight
1141
+ - Home
1142
+ - Html
1143
+ - Html5
1144
+ - Huggingface
1145
+ - Hume
1146
+ - ICircle
1147
+ - Image
1148
+ - Import
1149
+ - Inbox
1150
+ - IndentDecrease
1151
+ - IndentIncrease
1152
+ - Ingwaz
1153
+ - InputOtp
1154
+ - Instagram
1155
+ - Ior
1156
+ - Isaz
1157
+ - Italic
1158
+ - Iwaz
1159
+ - Jack
1160
+ - Javascript
1161
+ - Jcb
1162
+ - Jest
1163
+ - Json
1164
+ - Kanban
1165
+ - Kaph
1166
+ - Kappa
1167
+ - Key
1168
+ - Keyboard
1169
+ - King
1170
+ - Klarna
1171
+ - Koppa
1172
+ - Kotlin
1173
+ - Lambda
1174
+ - Laptop
1175
+ - Laukaz
1176
+ - Layers
1177
+ - LayoutGrid
1178
+ - Less
1179
+ - LetterCaseLower
1180
+ - LetterCaseToggle
1181
+ - LetterCaseUpper
1182
+ - Lexical
1183
+ - Library
1184
+ - LifeBuoy
1185
+ - Lightbulb
1186
+ - LineDashed
1187
+ - LineHeight
1188
+ - Link
1189
+ - Linkedin
1190
+ - List
1191
+ - ListCheck
1192
+ - ListChecks
1193
+ - ListFilter
1194
+ - ListFilterPlus
1195
+ - ListMusic
1196
+ - ListOrdered
1197
+ - ListRestart
1198
+ - Lmnt
1199
+ - Loader
1200
+ - LoaderCircle
1201
+ - Lock
1202
+ - LockOpen
1203
+ - LogIn
1204
+ - LogOut
1205
+ - Loki
1206
+ - Lota
1207
+ - Lucide
1208
+ - Luma
1209
+ - Maestro
1210
+ - Mail
1211
+ - MailCheck
1212
+ - Mannaz
1213
+ - Map
1214
+ - MapPin
1215
+ - Markdown
1216
+ - Marko
1217
+ - MasterCard
1218
+ - Maximize
1219
+ - Mdx
1220
+ - Megaphone
1221
+ - Mem
1222
+ - Menu
1223
+ - MessageCircle
1224
+ - MessagePlus
1225
+ - MessageSquare
1226
+ - MessagesSquare
1227
+ - Messenger
1228
+ - Mic
1229
+ - MicrochipBoard
1230
+ - Microphone
1231
+ - Microsoft
1232
+ - Microsoft1
1233
+ - Minimize
1234
+ - Mintlify
1235
+ - Minus
1236
+ - Mistralai
1237
+ - Mocha
1238
+ - MonacoEditor
1239
+ - Monitor
1240
+ - MoodBoy
1241
+ - Moon
1242
+ - MousePointer
1243
+ - Move
1244
+ - Mu
1245
+ - Music
1246
+ - Mysql
1247
+ - Naudiz
1248
+ - Navigation
1249
+ - Newspaper
1250
+ - Nextdotjs
1251
+ - Nextjs
1252
+ - Nodejs
1253
+ - NotebookText
1254
+ - NotepadText
1255
+ - Npm
1256
+ - Nu
1257
+ - Number20Small
1258
+ - Nun
1259
+ - Odin
1260
+ - Odin2
1261
+ - Ollama
1262
+ - Omicron
1263
+ - OpenSource
1264
+ - Openai
1265
+ - Os
1266
+ - Othalan
1267
+ - Package
1268
+ - Pacman
1269
+ - Paintbrush
1270
+ - Palette
1271
+ - PanelLeft
1272
+ - PanelLeftClose
1273
+ - PanelLeftOpen
1274
+ - PanelRight
1275
+ - Paperclip
1276
+ - Pause
1277
+ - Paypal
1278
+ - Pdf
1279
+ - Pe
1280
+ - Pen
1281
+ - PenTool
1282
+ - Pencil
1283
+ - PencilCheck
1284
+ - Percent
1285
+ - Perl
1286
+ - Perplexity
1287
+ - Pertho
1288
+ - Phone
1289
+ - Photo
1290
+ - PhotoCircle
1291
+ - Php
1292
+ - Pi
1293
+ - PictureInPicture
1294
+ - PieChart
1295
+ - PiggyBank
1296
+ - Pin
1297
+ - Pipecat
1298
+ - Plane
1299
+ - Platformio
1300
+ - Play
1301
+ - PlayerSkipForward
1302
+ - PlayerTrackNext
1303
+ - PlayerTrackPrev
1304
+ - Playstation
1305
+ - Plus
1306
+ - Pnpm
1307
+ - Pointer
1308
+ - Popcorn
1309
+ - Porsche
1310
+ - Postcss
1311
+ - Power
1312
+ - Powershell
1313
+ - Prescription
1314
+ - Prettier
1315
+ - Printer
1316
+ - Prisma
1317
+ - Pug
1318
+ - PuzzlePiece
1319
+ - Python
1320
+ - Qoph
1321
+ - QrCode
1322
+ - Queen
1323
+ - QuestionMarkCircle
1324
+ - QuestionMarkMessageCircle
1325
+ - Quote
1326
+ - R
1327
+ - Radar
1328
+ - Radio
1329
+ - Radixui
1330
+ - Raido
1331
+ - RatingStar
1332
+ - Razer
1333
+ - React
1334
+ - ReactArea
1335
+ - ReactAria
1336
+ - ReactDayPicker
1337
+ - Readme
1338
+ - Reason
1339
+ - Redis
1340
+ - Redo
1341
+ - RefreshCcw
1342
+ - RefreshCw
1343
+ - Remark
1344
+ - Remix
1345
+ - Repeat
1346
+ - Replicate
1347
+ - Reply
1348
+ - ReplyAll
1349
+ - Res
1350
+ - Revai
1351
+ - Rho
1352
+ - Rive
1353
+ - RobotFace
1354
+ - Rocket
1355
+ - Rollupdotjs
1356
+ - RotateCcw
1357
+ - RotateCw
1358
+ - Ruby
1359
+ - Ruler
1360
+ - Rust
1361
+ - Sade
1362
+ - Samekh
1363
+ - San
1364
+ - Sanity
1365
+ - Sass
1366
+ - Save
1367
+ - Scala
1368
+ - Scale
1369
+ - Scan
1370
+ - ScanLine
1371
+ - Scissors
1372
+ - Search
1373
+ - SearchX
1374
+ - Selector
1375
+ - Send
1376
+ - Sentry
1377
+ - Server
1378
+ - Settings
1379
+ - Shadcnui
1380
+ - Share
1381
+ - Sharp
1382
+ - Shield
1383
+ - Ship
1384
+ - ShoppingBag
1385
+ - ShoppingCart
1386
+ - Sidebar
1387
+ - SidebarRight
1388
+ - Sigel
1389
+ - Sigma
1390
+ - SkipBack
1391
+ - SkipForward
1392
+ - Skype
1393
+ - Slack
1394
+ - SlidersHorizontal
1395
+ - Smartphone
1396
+ - Smile
1397
+ - SmilePlus
1398
+ - Solo
1399
+ - Sony
1400
+ - SortAscending
1401
+ - SortDescending
1402
+ - Sparkles
1403
+ - Split
1404
+ - Spotify
1405
+ - Square
1406
+ - SquareSplitHorizontal
1407
+ - SquareTerminal
1408
+ - Stan
1409
+ - Star
1410
+ - StarOff
1411
+ - Steam
1412
+ - Stopwatch
1413
+ - Store
1414
+ - Storybook
1415
+ - Strikethrough
1416
+ - Stripe
1417
+ - Stylelint
1418
+ - Sublimetext
1419
+ - Subscript
1420
+ - Subtitles
1421
+ - Sun
1422
+ - Superscript
1423
+ - Svelte
1424
+ - Svg
1425
+ - Swift
1426
+ - Switch
1427
+ - Table
1428
+ - TableColumn
1429
+ - TableRow
1430
+ - Tabler
1431
+ - Tablet
1432
+ - Tag
1433
+ - Tailwindcss
1434
+ - Tally1
1435
+ - Tally2
1436
+ - Tally3
1437
+ - Tally4
1438
+ - Tally5
1439
+ - Target
1440
+ - Tau
1441
+ - Terminal
1442
+ - Terminal2
1443
+ - Testinglibrary
1444
+ - TextCursorInput
1445
+ - TextDecrease
1446
+ - TextIncrease
1447
+ - TextSize
1448
+ - TextWrap
1449
+ - TextWrapColumn
1450
+ - TextWrapDisabled
1451
+ - Theodinproject
1452
+ - Theta
1453
+ - ThumbsDown
1454
+ - ThumbsUp
1455
+ - Ticket
1456
+ - Tilde
1457
+ - Timer
1458
+ - Tiwaz
1459
+ - TogetherAi
1460
+ - Toml
1461
+ - Trash
1462
+ - Trash2
1463
+ - TrendingDown
1464
+ - TrendingUp
1465
+ - Trophy
1466
+ - Truck
1467
+ - Tsnode
1468
+ - Tv
1469
+ - Twitch
1470
+ - Twitter
1471
+ - Type
1472
+ - Typescript
1473
+ - Underline
1474
+ - Undo
1475
+ - Upload
1476
+ - Upsilon
1477
+ - Uruz
1478
+ - User
1479
+ - UserCheck
1480
+ - UserCircle
1481
+ - UserDown
1482
+ - UserHeart
1483
+ - UserMinus
1484
+ - UserPlus
1485
+ - UserSettings
1486
+ - UserSquareRounded
1487
+ - UserStar
1488
+ - Users
1489
+ - UsersGroup
1490
+ - Utensils
1491
+ - UtensilsCrossed
1492
+ - Vercel
1493
+ - Vertex
1494
+ - Video
1495
+ - VideoOff
1496
+ - View360
1497
+ - Visa
1498
+ - VisaElectron
1499
+ - Vite
1500
+ - Volume
1501
+ - Volume2
1502
+ - VolumeDown
1503
+ - VolumeOff
1504
+ - VolumeUp
1505
+ - VolumeX
1506
+ - Vue
1507
+ - Vuedotjs
1508
+ - Vulknut
1509
+ - Walk
1510
+ - Wallet
1511
+ - Wallpaper
1512
+ - Wand
1513
+ - Waveform
1514
+ - Waves
1515
+ - Webassembly
1516
+ - WesternUnion
1517
+ - Wifi
1518
+ - Wireshark
1519
+ - World
1520
+ - Wrench
1521
+ - Wunjo
1522
+ - X
1523
+ - XAi
1524
+ - XCircle
1525
+ - Yaml
1526
+ - Yarn
1527
+ - Yodh
1528
+ - Youtube
1529
+ - Yr
1530
+ - Zap
1531
+ - Zeta
1532
+ - ZoomIn
1533
+ - ZoomOut
1534
+
1535
+ <!-- icon end -->
1536
+
1537
+ ## Basic Usage
1538
+
1539
+ ### Import specific icons
1540
+
1541
+ ```tsx
1542
+ import { Home, User } from '@a5gard/baldr';
1543
+
1544
+ function App() {
1545
+ return (
1546
+ <div>
1547
+ <Home className="text-primary" size={24} />
1548
+ <User className="text-gray-500" size={32} strokeWidth={1.5} />
1549
+ </div>
1550
+ );
1551
+ }
1552
+ ```
1553
+
1554
+ ### Dynamic icon rendering
1555
+
1556
+ ```tsx
1557
+ import { Icon, icons } from '@a5gard/baldr';
1558
+
1559
+ function DynamicIcon({ iconName }: { iconName: string }) {
1560
+ return <Icon name={iconName} icons={icons} className="text-blue-500" />;
1561
+ }
1562
+ ```
1563
+
1564
+ ## Props
1565
+
1566
+ All icons accept the following props:
1567
+
1568
+ - `size`: number | string (default: 24) - Size of the icon
1569
+ - `color`: string (default: 'currentColor') - Stroke color
1570
+ - `strokeWidth`: number | string (default: 2) - Width of the stroke
1571
+ - `className`: string - CSS classes (works with Tailwind!)
1572
+ - All standard SVG attributes
1573
+
1574
+ ## Tailwind CSS Integration
1575
+
1576
+ Works seamlessly with Tailwind:
1577
+
1578
+ ```tsx
1579
+ <Home className="w-6 h-6 text-blue-500 hover:text-blue-700" />
1580
+ <User className="text-primary dark:text-primary-dark" size={20} />
1581
+ ```
1582
+
1583
+
1584
+
1585
+
1586
+
1587
+
1588
+
1589
+
1590
+
1591
+
1592
+
1593
+
1594
+
1595
+
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+
1602
+
1603
+
1604
+
1605
+
1606
+
1607
+
1608
+
1609
+
1610
+
1611
+
1612
+