-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
44857f1
commit 56deac1
Showing
1 changed file
with
15 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,15 @@ | ||
# workshop | ||
# Building Modern CLI Applications in Go | ||
|
||
This workshop is designed to teach developers the complete process of designing, building, and testing a modern Command Line Interface (CLI) application. Students will learn how to build a lightweight CLI application from scratch and then explore the benefits of using the Cobra framework to increase development proficiency. They will also gain insights into building applications for different operating systems, using build tags for feature sets, and releasing and distributing applications across Unix, Linux, and Windows operating systems via popular package managers such as Homebrew and GoFish. | ||
|
||
## To prepare for this workshop, please install the following applications: | ||
- [Golang](https://go.dev/doc/install) | ||
- [VSCode](https://code.visualstudio.com/download) or any other IDE. | ||
- [Cobra CLI](https://github.com/spf13/cobra#usage) | ||
- [GoReleaser](https://goreleaser.com/install/) | ||
|
||
Also, please make sure to have a [GitHub](https://github.com/) account for Session 4. | ||
|
||
## Examples: | ||
- [Example 1 - Build a CLI using the Go standard library “hello world!”](session1/examples/example1) | ||
- [Example 2 - Create a CLI that takes in a file input, reads in the file, then outputs the content](session1/examples/example2) |