Kobold 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 4c742718fdab33d2dcf4ca03749e3df35e57a3ffbf988f2ba2a58904ce3414c3
4
+ data.tar.gz: abd99306ceb78dde69e0dcb504670c2cd9bcb54f9c792ffee570b74e4c9ee07c
5
+ SHA512:
6
+ metadata.gz: 5e654583ded3e1113c5c427c32547414ee020290401ac27c43bc7de77e948f9d1314f0ed3dd8272f55627e592277001f0ec776ff6175198232457c6cb0af47cf
7
+ data.tar.gz: e75b81edfe86a795b9fdfcf64a04f03611b5adedcaf32d9772047f141cca651b12f6b7706b69738d28fd7b57f4270d6848b95feb92743e2e76a7ba4edffaac03
data/.kobold ADDED
@@ -0,0 +1,6 @@
1
+ [kobold_config]
2
+ format_version = 0.1.0
3
+
4
+ [raysan5/raylib]
5
+ source = https://github.com
6
+ dir = external/
data/.rubocop.yml ADDED
@@ -0,0 +1,13 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.6
3
+
4
+ Style/StringLiterals:
5
+ Enabled: true
6
+ EnforcedStyle: double_quotes
7
+
8
+ Style/StringLiteralsInInterpolation:
9
+ Enabled: true
10
+ EnforcedStyle: double_quotes
11
+
12
+ Layout/LineLength:
13
+ Max: 120
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ ## [Unreleased]
2
+
3
+ ## [0.1.0] - 2023-07-29
4
+
5
+ - Initial release
@@ -0,0 +1 @@
1
+ {}
@@ -0,0 +1,3 @@
1
+ {
2
+ "accentColor": ""
3
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "file-explorer": true,
3
+ "global-search": true,
4
+ "switcher": true,
5
+ "graph": true,
6
+ "backlink": true,
7
+ "canvas": true,
8
+ "outgoing-link": true,
9
+ "tag-pane": true,
10
+ "page-preview": true,
11
+ "daily-notes": true,
12
+ "templates": true,
13
+ "note-composer": true,
14
+ "command-palette": true,
15
+ "slash-command": false,
16
+ "editor-status": true,
17
+ "bookmarks": true,
18
+ "markdown-importer": false,
19
+ "zk-prefixer": false,
20
+ "random-note": false,
21
+ "outline": true,
22
+ "word-count": true,
23
+ "slides": false,
24
+ "audio-recorder": false,
25
+ "workspaces": false,
26
+ "file-recovery": true,
27
+ "publish": false,
28
+ "sync": false
29
+ }
@@ -0,0 +1,20 @@
1
+ [
2
+ "file-explorer",
3
+ "global-search",
4
+ "switcher",
5
+ "graph",
6
+ "backlink",
7
+ "canvas",
8
+ "outgoing-link",
9
+ "tag-pane",
10
+ "page-preview",
11
+ "daily-notes",
12
+ "templates",
13
+ "note-composer",
14
+ "command-palette",
15
+ "editor-status",
16
+ "bookmarks",
17
+ "outline",
18
+ "word-count",
19
+ "file-recovery"
20
+ ]
@@ -0,0 +1 @@
1
+ {}
@@ -0,0 +1,162 @@
1
+ {
2
+ "main": {
3
+ "id": "5422061b414d1e2a",
4
+ "type": "split",
5
+ "children": [
6
+ {
7
+ "id": "f567d0ab9597eb71",
8
+ "type": "tabs",
9
+ "children": [
10
+ {
11
+ "id": "8554a048f54c7320",
12
+ "type": "leaf",
13
+ "state": {
14
+ "type": "empty",
15
+ "state": {}
16
+ }
17
+ },
18
+ {
19
+ "id": "0e51fda68d9f108a",
20
+ "type": "leaf",
21
+ "state": {
22
+ "type": "markdown",
23
+ "state": {
24
+ "file": "General Ideas.md",
25
+ "mode": "source",
26
+ "source": false
27
+ }
28
+ }
29
+ }
30
+ ],
31
+ "currentTab": 1
32
+ }
33
+ ],
34
+ "direction": "vertical"
35
+ },
36
+ "left": {
37
+ "id": "e54b05da02751d32",
38
+ "type": "split",
39
+ "children": [
40
+ {
41
+ "id": "35c86de1fc80d7a1",
42
+ "type": "tabs",
43
+ "children": [
44
+ {
45
+ "id": "22bd69a70bad8717",
46
+ "type": "leaf",
47
+ "state": {
48
+ "type": "file-explorer",
49
+ "state": {
50
+ "sortOrder": "alphabetical"
51
+ }
52
+ }
53
+ },
54
+ {
55
+ "id": "8a6b70c9f718daf1",
56
+ "type": "leaf",
57
+ "state": {
58
+ "type": "search",
59
+ "state": {
60
+ "query": "",
61
+ "matchingCase": false,
62
+ "explainSearch": false,
63
+ "collapseAll": false,
64
+ "extraContext": false,
65
+ "sortOrder": "alphabetical"
66
+ }
67
+ }
68
+ },
69
+ {
70
+ "id": "8dba3b002ae94b22",
71
+ "type": "leaf",
72
+ "state": {
73
+ "type": "bookmarks",
74
+ "state": {}
75
+ }
76
+ }
77
+ ]
78
+ }
79
+ ],
80
+ "direction": "horizontal",
81
+ "width": 300
82
+ },
83
+ "right": {
84
+ "id": "5c09ef4d04b4ee08",
85
+ "type": "split",
86
+ "children": [
87
+ {
88
+ "id": "c86109892f424702",
89
+ "type": "tabs",
90
+ "children": [
91
+ {
92
+ "id": "7fb8763097237e69",
93
+ "type": "leaf",
94
+ "state": {
95
+ "type": "backlink",
96
+ "state": {
97
+ "file": "General Ideas.md",
98
+ "collapseAll": false,
99
+ "extraContext": false,
100
+ "sortOrder": "alphabetical",
101
+ "showSearch": false,
102
+ "searchQuery": "",
103
+ "backlinkCollapsed": false,
104
+ "unlinkedCollapsed": true
105
+ }
106
+ }
107
+ },
108
+ {
109
+ "id": "193ef813d254966e",
110
+ "type": "leaf",
111
+ "state": {
112
+ "type": "outgoing-link",
113
+ "state": {
114
+ "file": "General Ideas.md",
115
+ "linksCollapsed": false,
116
+ "unlinkedCollapsed": true
117
+ }
118
+ }
119
+ },
120
+ {
121
+ "id": "993c3c57c478504d",
122
+ "type": "leaf",
123
+ "state": {
124
+ "type": "tag",
125
+ "state": {
126
+ "sortOrder": "frequency",
127
+ "useHierarchy": true
128
+ }
129
+ }
130
+ },
131
+ {
132
+ "id": "e3fd5e246b9761bc",
133
+ "type": "leaf",
134
+ "state": {
135
+ "type": "outline",
136
+ "state": {
137
+ "file": "General Ideas.md"
138
+ }
139
+ }
140
+ }
141
+ ]
142
+ }
143
+ ],
144
+ "direction": "horizontal",
145
+ "width": 300,
146
+ "collapsed": true
147
+ },
148
+ "left-ribbon": {
149
+ "hiddenItems": {
150
+ "switcher:Open quick switcher": false,
151
+ "graph:Open graph view": false,
152
+ "canvas:Create new canvas": false,
153
+ "daily-notes:Open today's daily note": false,
154
+ "templates:Insert template": false,
155
+ "command-palette:Open command palette": false
156
+ }
157
+ },
158
+ "active": "0e51fda68d9f108a",
159
+ "lastOpenFiles": [
160
+ "General Ideas.md"
161
+ ]
162
+ }
@@ -0,0 +1,78 @@
1
+ <details>
2
+ <summary>Collapsible header...</summary>
3
+ I want a system for managing C and C++ library versions for me. It would be able to seamlessly switch between versions as well as download specific versions by hooking into github. Maybe look into how asdf works.
4
+
5
+ Will probably have to interface with specific shells so should probably build an easy way to interface with the ones I might want(dash, bash, zsh, elvish)
6
+
7
+ No build system abstraction, it will be strictly for managing and installing versions at the moment. Having some kind of build system integrated should be a separate project built on top as a separate program.
8
+
9
+ This would also be flexible enough to allow version management of things such as ruby or other programs
10
+
11
+ Having a nice TUI would be great, maybe using something like the Ruby TUI kit to build it out.
12
+
13
+ ---
14
+
15
+ - Shell interface/hook
16
+ - Directory system that holds the packages
17
+ - Install directory -> this is where the git/build files/etc are
18
+ - Build directory -> this is where build targets are moved to. E.g raylib lets you build for linux but also web and windows. Having those built versions in different directories would be very nice
19
+ - Shim that activates or deactivates certain versions. This would also modify the build dirs.
20
+ - Packages are called Knapsacks, they are tarballs that contain configuration files used to install or download the software.
21
+ - A configuration file
22
+ - A .rb installation file
23
+ If a package requires to download from a remote repo then it should be a `remote.knapsack`
24
+ If a package is a version manager then it should be a `manager.knapsack`
25
+ If it is a single version and doesnt depend on downloading things(other package dependencies are an exception) then it is just a ``.knapsack`
26
+
27
+ ---
28
+
29
+ First test project: making raylib into a remote package with which I can add into and use for a C project.
30
+
31
+ it will need to keep track of how to:
32
+ - "install" raylib files into kobold
33
+ - treat dynamic and static as seperate "versions"
34
+ - allow setting a raylib version inside my C project
35
+
36
+ Kobold will -> read the kobold file -> download raylib from github -> checkout correct version
37
+ When it checks out it should place it into a specific custom orphaned branch.
38
+ For now, it should be built and managed manually by the user.
39
+ Allow user to name give an extra tag to the version(e.g if they want to build using web it should be a different "version" then the one used for linux)
40
+ Allow kobold to manage shims that will exist inside the project directory where the project can build and utilize them.
41
+
42
+ The benefit of this is automatic setup of the correct version of a dependency, allowing for reuse of the same dependency across the system automatically if desired but if required it can also use a specific custom version separate from the rest of the dependencies(i.e if you need your specific project to have custom compile flags)
43
+ </details>
44
+
45
+
46
+ ---
47
+
48
+ May need to look into Git Worktrees as they potentially do what I need: https://git-scm.com/docs/git-worktree and https://stackoverflow.com/a/62018137
49
+
50
+ Here is a very long but promising explanation of how Rbenv manages shims: https://www.impostorsguides.com/rbenv/how-shims-work
51
+
52
+ ---
53
+
54
+ Need to have a shims directory like RBENV. -> /home/username/.rbenv/shims
55
+
56
+ Directory for how RBENV sets up shims: rbenv/libexec/rbenv-shims
57
+
58
+ ---
59
+
60
+ [File class doc](https://rubydoc.info/stdlib/core/File)
61
+
62
+ `.symlink(old_name, new_name) ⇒ 0`
63
+
64
+ Creates a symbolic link called new_name for the existing file old_name.
65
+
66
+ `.symlink?(file_name) ⇒ Boolean`
67
+
68
+ Returns true if the named file is a symbolic link.
69
+
70
+ `.realpath(pathname[, dir_string]) ⇒ Object`
71
+
72
+ Returns the real (absolute) pathname of pathname in the actual filesystem not containing symlinks or useless dots.
73
+
74
+ ---
75
+
76
+ [Ruby Git Gem](https://github.com/ruby-git/ruby-git)
77
+
78
+ [Ruby Command Line Option Parser](https://github.com/piotrmurach/tty-option)
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 CatsAtTheRodeo
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # Kobold
2
+
3
+ TODO: Delete this and the text below, and describe your gem
4
+
5
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/Kobold`. To experiment with that code, run `bin/console` for an interactive prompt.
6
+
7
+ ## Installation
8
+
9
+ TODO: Replace `UPDATE_WITH_YOUR_GEM_NAME_PRIOR_TO_RELEASE_TO_RUBYGEMS_ORG` with your gem name right after releasing it to RubyGems.org. Please do not do it earlier due to security reasons. Alternatively, replace this section with instructions to install your gem from git if you don't plan to release to RubyGems.org.
10
+
11
+ Install the gem and add to the application's Gemfile by executing:
12
+
13
+ $ bundle add UPDATE_WITH_YOUR_GEM_NAME_PRIOR_TO_RELEASE_TO_RUBYGEMS_ORG
14
+
15
+ If bundler is not being used to manage dependencies, install the gem by executing:
16
+
17
+ $ gem install UPDATE_WITH_YOUR_GEM_NAME_PRIOR_TO_RELEASE_TO_RUBYGEMS_ORG
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Development
24
+
25
+ After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
26
+
27
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
28
+
29
+ ## Contributing
30
+
31
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/Kobold.
32
+
33
+ ## License
34
+
35
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "rubocop/rake_task"
5
+
6
+ RuboCop::RakeTask.new
7
+
8
+ task default: :rubocop
data/exe/kobold ADDED
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'Kobold'
4
+ require 'tty-option'
5
+ require 'pry'
6
+
7
+ module Kobold
8
+ class Command
9
+ include TTY::Option
10
+
11
+ usage do
12
+ program "kobold"
13
+
14
+ command "init"
15
+
16
+ desc "Initializes empty Kobold configuration file"
17
+ end
18
+
19
+ argument :command do
20
+ optional
21
+ desc "askjd"
22
+ end
23
+
24
+ flag :help do
25
+ short "-h"
26
+ long "--help"
27
+ desc "Print usage"
28
+ end
29
+
30
+ flag :init do
31
+ desc "initialize"
32
+ end
33
+
34
+ def run
35
+ if params[:help]
36
+ print help
37
+ elsif params.errors.any?
38
+ puts params.errors.summary
39
+ else
40
+ pp params.to_h
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+
47
+ cmd = Kobold::Command.new
48
+ parse = cmd.parse
49
+ run = cmd.run
50
+
51
+ if cmd.params[:command] == nil || cmd.params == "invoke"
52
+ Kobold.invoke
53
+ elsif cmd.params[:command] == "init"
54
+ Kobold.init
55
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kobold
4
+ VERSION = "0.1.0"
5
+ FORMAT_VERSION = "0.1.0"
6
+ end
data/lib/Kobold.rb ADDED
@@ -0,0 +1,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "Kobold/version"
4
+ require "tty-config"
5
+ require 'fileutils'
6
+ require 'git'
7
+
8
+ module Kobold
9
+ KOBOLD_DIR = "#{Dir.home}/.local/share/Kobold"
10
+ class << self
11
+
12
+ # read configuration file
13
+ # for each item:
14
+ # 1. check if repo exists
15
+ # ~2. check if correct version exists~
16
+ # 3. check if symlink is correct
17
+
18
+ def invoke
19
+ first_time_setup if !File.directory? "#{KOBOLD_DIR}/repo_cache"
20
+ config = TTY::Config.new
21
+ config.append_path Dir.pwd
22
+ settings = config.read ".kobold", format: :ini
23
+
24
+ puts Kobold::FORMAT_VERSION + " " + settings["kobold_config"]["format_version"]
25
+ if Kobold::FORMAT_VERSION == settings["kobold_config"]["format_version"]
26
+ settings.delete "kobold_config"
27
+
28
+ # iterate over all dependencies
29
+ settings.each do |key, value|
30
+ puts "key:#{key}"
31
+ repo_dir = "#{KOBOLD_DIR}/repo_cache/#{key.gsub('/', '-')}"
32
+
33
+ master_repo = nil;
34
+ # check if master exists
35
+ if !Dir.exist? "#{repo_dir}/master" # TODO: make this properly check for git repo
36
+ # if it doesnt, make it
37
+ FileUtils.mkdir_p "#{repo_dir}/master"
38
+ FileUtils.mkdir_p "#{repo_dir}/worktrees"
39
+ puts "#{value["source"]}/#{key}.git", "#{repo_dir}/master"
40
+ master_repo = Git.clone "#{value["source"]}/#{key}.git", "#{repo_dir}/master"
41
+ else
42
+ master_repo = Git.open("#{repo_dir}/master")
43
+ end
44
+
45
+ target_symlink = nil
46
+ # check if requested version exists
47
+ if value["tag"]
48
+ dir_name = value["tag"].to_s.gsub("/","-")
49
+ # TODO make the thing
50
+ else # use hash as name
51
+ if value["commit"]
52
+ # use given commit name, also check it exists
53
+ begin # git errors when it does not find the hash
54
+ if value["commit"].is_a? Float
55
+ value["commit"] = value["commit"].to_i.to_s
56
+ end
57
+ commit_sha = master_repo.object(value["commit"].to_s.delete_prefix('"').delete_suffix('"').delete_prefix("'").delete_suffix("'")).sha;
58
+ if commit_sha
59
+ target_symlink = "#{repo_dir}/worktrees/#{commit_sha}"
60
+ if !Dir.exist? target_symlink
61
+ # make it
62
+ master_repo.worktree(target_symlink, commit_sha).add
63
+ end
64
+ else
65
+ raise "Cannot find commit"
66
+ end
67
+ rescue # we catch this error here
68
+ raise "Cannot find commit"
69
+ end
70
+ else
71
+ raise "No commit given for #{key}"
72
+ end
73
+ end
74
+
75
+ # build the symlink
76
+ if value["dir"].end_with? "/"
77
+ FileUtils.mkdir_p value["dir"]
78
+ File.symlink target_symlink, "#{value['dir']}/#{key.split('/').last}"
79
+ else
80
+ dir_components = value["dir"].split "/"
81
+ dir_components.pop
82
+ dir_components = dir_components.join "/"
83
+ FileUtils.mkdir_p dir_components
84
+ File.symlink target_symlink, value["dir"]
85
+ end
86
+
87
+ end
88
+
89
+ else
90
+ raise "Wrong format version"
91
+ end
92
+
93
+ end
94
+
95
+ def first_time_setup
96
+ FileUtils.mkdir_p "#{KOBOLD_DIR}/repo_cache"
97
+ end
98
+
99
+ # create empty file with current
100
+ # file version in current dir
101
+ def init
102
+ kobold_config = TTY::Config.new
103
+ kobold_config.filename = ".kobold"
104
+ kobold_config.extname = ".ini"
105
+ kobold_config.set "kobold_config", "format_version", value: Kobold::FORMAT_VERSION
106
+ kobold_config.write
107
+ File.rename ".kobold.ini", ".kobold"
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,2 @@
1
+ external
2
+ external/raylib
@@ -0,0 +1,7 @@
1
+ [kobold_config]
2
+ format_version = 0.1.0
3
+
4
+ [raysan5/raylib]
5
+ source = https://github.com
6
+ dir = external/
7
+ commit = '0851960'
@@ -0,0 +1,4 @@
1
+ # 1. invoke kobold
2
+ # 2. build raylib
3
+ # 3. build main.c
4
+ # 4. run app
@@ -0,0 +1,67 @@
1
+ /*******************************************************************************************
2
+ *
3
+ * raylib [core] example - Basic window
4
+ *
5
+ * Welcome to raylib!
6
+ *
7
+ * To test examples, just press F6 and execute raylib_compile_execute script
8
+ * Note that compiled executable is placed in the same folder as .c file
9
+ *
10
+ * You can find all basic examples on C:\raylib\raylib\examples folder or
11
+ * raylib official webpage: www.raylib.com
12
+ *
13
+ * Enjoy using raylib. :)
14
+ *
15
+ * Example originally created with raylib 1.0, last time updated with raylib 1.0
16
+ *
17
+ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified,
18
+ * BSD-like license that allows static linking with closed source software
19
+ *
20
+ * Copyright (c) 2013-2023 Ramon Santamaria (@raysan5)
21
+ *
22
+ ********************************************************************************************/
23
+
24
+ #include "raylib.h"
25
+
26
+ //------------------------------------------------------------------------------------
27
+ // Program main entry point
28
+ //------------------------------------------------------------------------------------
29
+ int main(void)
30
+ {
31
+ // Initialization
32
+ //--------------------------------------------------------------------------------------
33
+ const int screenWidth = 800;
34
+ const int screenHeight = 450;
35
+
36
+ InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window");
37
+
38
+ SetTargetFPS(60); // Set our game to run at 60 frames-per-second
39
+ //--------------------------------------------------------------------------------------
40
+
41
+ // Main game loop
42
+ while (!WindowShouldClose()) // Detect window close button or ESC key
43
+ {
44
+ // Update
45
+ //----------------------------------------------------------------------------------
46
+ // TODO: Update your variables here
47
+ //----------------------------------------------------------------------------------
48
+
49
+ // Draw
50
+ //----------------------------------------------------------------------------------
51
+ BeginDrawing();
52
+
53
+ ClearBackground(RAYWHITE);
54
+
55
+ DrawText("Congrats! You created your first window!", 190, 200, 20, LIGHTGRAY);
56
+
57
+ EndDrawing();
58
+ //----------------------------------------------------------------------------------
59
+ }
60
+
61
+ // De-Initialization
62
+ //--------------------------------------------------------------------------------------
63
+ CloseWindow(); // Close window and OpenGL context
64
+ //--------------------------------------------------------------------------------------
65
+
66
+ return 0;
67
+ }
@@ -0,0 +1,30 @@
1
+ ; Kobold Version File
2
+ [kobold_config]
3
+ version=0.1.0
4
+
5
+ [raysan5/raylib]
6
+ source=https://github.com
7
+ branch=master
8
+ commit=12345asdf
9
+ ; If leading slash: place git repo in that directory
10
+ ; If no leading slash: name git repo as that
11
+ dir=external/
12
+ ; Optional
13
+ config_name=jpg
14
+ ; Optional
15
+ config_version=1.0
16
+
17
+ [raysan5/raygui]
18
+ source=https://github.com
19
+ branch=master
20
+ commit=asdf12234
21
+ dir=external/
22
+
23
+ [my/prototype_repo]
24
+ source=https://github.com
25
+ branch=master
26
+ ; Set commit to dev to edit branch directly
27
+ ; You must have a config_name to do this
28
+ commit=dev
29
+ dir=external/prototype
30
+ config_name=development
data/sig/Kobold.rbs ADDED
@@ -0,0 +1,4 @@
1
+ module Kobold
2
+ VERSION: String
3
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
+ end
metadata ADDED
@@ -0,0 +1,67 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: Kobold
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - CatsAtTheRodeo
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2023-07-30 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description:
14
+ email:
15
+ - contact@tradam.dev
16
+ executables:
17
+ - kobold
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - ".kobold"
22
+ - ".rubocop.yml"
23
+ - CHANGELOG.md
24
+ - Kobold Notes/.obsidian/app.json
25
+ - Kobold Notes/.obsidian/appearance.json
26
+ - Kobold Notes/.obsidian/core-plugins-migration.json
27
+ - Kobold Notes/.obsidian/core-plugins.json
28
+ - Kobold Notes/.obsidian/hotkeys.json
29
+ - Kobold Notes/.obsidian/workspace.json
30
+ - Kobold Notes/General Ideas.md
31
+ - LICENSE
32
+ - README.md
33
+ - Rakefile
34
+ - exe/kobold
35
+ - lib/Kobold.rb
36
+ - lib/Kobold/version.rb
37
+ - prototyping/.gitignore
38
+ - prototyping/.kobold
39
+ - prototyping/Makefile
40
+ - prototyping/main.c
41
+ - sample-project-ideas/.kobold
42
+ - sig/Kobold.rbs
43
+ homepage:
44
+ licenses:
45
+ - MIT
46
+ metadata:
47
+ source_code_uri: https://github.com/CatsAtTheRodeo/Kobold
48
+ post_install_message:
49
+ rdoc_options: []
50
+ require_paths:
51
+ - lib
52
+ required_ruby_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 2.7.2
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ requirements: []
63
+ rubygems_version: 3.4.7
64
+ signing_key:
65
+ specification_version: 4
66
+ summary: Version manager for various libraries and projects.
67
+ test_files: []