<FromGitter>
<andrewc910> Questions are the PR. If those can be answered for me, I can finish the PR and open a PR on the docs about how to create/work with plugins. Once those are out of the way, I can go about making mochi an authentication plugin & create a graphql one :)
<FromGitter>
<drujensen> @andrewc910
<FromGitter>
<eliasjpr> WOOA! Graphq 😍
<FromGitter>
<eliasjpr> @andrewc910 @drujensen @damianham @elorest would you guys be willing to hop on a hangout to discuss and get alignment plugins PR? - I feel that a quick 20 minute hangout we can sort the differences
<FromGitter>
<eliasjpr> Also @andrewc910 `src/plugins/{plugin_name}` is a destination directory? I was under the impression that we were going to use shards to install the plugins
<FromGitter>
<andrewc910> @eliasjpr I am open anytime. Just let me know.
<FromGitter>
<andrewc910> From what I understand, shards will be used to fetch the plugin/shard from the remote repo. Then `amber install plugin_name` can be ran to move/process the files into the users actual project directory.
<FromGitter>
<andrewc910> I say plugin/shard because it will always technically be a shard since we plan on using shards to fetch. However, I imagine some plugins will be a full shard + plugin while others will just be a plugin (bridge). An example for both: for my authentication shard, I plan on putting the plugin section directly in the main shard. Mochi is specifically tailored for amber so no sense in making a separate plugin shard.
<FromGitter>
... However, the crystal-graphql is made to be generic. Instead of putting the plugin boilerplate into that shard, I'll create a new shard thats specifically made to be an amber plugin.
<FromGitter>
<drujensen> Ok. I misunderstood. So the amber install doesn’t update the local shard.yml and install the shard for you?
<FromGitter>
<andrewc910> @drujensen this is what you said a month ago:
<FromGitter>
<drujensen> Oh no
<FromGitter>
<andrewc910> Thanks for this @andrewc910! I always disliked fetching the repository instead of using the shards built-in support. Also happy to see the recursive symlink removed. 💯
<FromGitter>
<drujensen> Right. Whew. You scared me. Lol
<FromGitter>
<andrewc910> Maybe I misunderstood. But I thought "using the shards built-in support" meant use shards to fetch the remote repo
<FromGitter>
<andrewc910> If I misunderstood, please let me know. However, I think a hangouts/zoom call would be best 😅
<FromGitter>
<drujensen> Yes. I was still expecting the amber install to add the shard to the shard.yml for you
<FromGitter>
<drujensen> Instead of a manual step.
<FromGitter>
<andrewc910> OHH! I see.
<FromGitter>
<drujensen> Maybe that is not possible
<FromGitter>
<andrewc910> I think it is? Can't we just use crystal to run a bash command?
<FromGitter>
<andrewc910> I, the user, run "amber install andrewc910/mochi", in our cli plugin code, we take the argument and run "shards install argument", then run the plugin specific code.
<FromGitter>
<andrewc910> Oh wait, you can't do "shards install user:repo". So we would have to manually edit the shard.yml and then run "shards install"? That seems error prone
<FromGitter>
<andrewc910> I was thinking the flow would be something more akin to rails. Rails you do: ⏎ Add gem to gemfile, run bundler, run rails cli for the plugin. ⏎ ⏎ So that would be, add shard to shard.yml, install, run amber cli. Again, maybe i am not fully understanding the approach. [https://gitter.im/amberframework/amber?at=5f32b03fe20413052e7e800b]
<FromGitter>
<drujensen> Yeah, no worries. It can be added later. Or maybe we can add it to the shards project? I like the shards install command better.
<FromGitter>
<andrewc910> I believe a user should be able to do "shards install user:repo" but that is a conversation for another day. ⏎ ⏎ I think we should go with the rails flow for a few reasons: ⏎ ⏎ 1) the concept seems to work fine for the rails community ... [https://gitter.im/amberframework/amber?at=5f32b1149231d665df6e8c04]
alexherbo2 has quit [Ping timeout: 240 seconds]
alexherbo2 has joined #amber
alexherbo2 has quit [Ping timeout: 240 seconds]
alexherbo2 has joined #amber
alexherbo2 has quit [Quit: Ping timeout (120 seconds)]
alexherbo2 has joined #amber
alexherbo2 has quit [Ping timeout: 256 seconds]
alexherbo2 has joined #amber
<FromGitter>
<eliasjpr> Dru I think as the first pass let’s keep it as a manual step to add the plugin first to the shards.yaml it will be easier to add later if it is found not convenient enough