v0.1.0
Important
The first release of the Waku CLI! 🥳
(yes, we have rebranded!)
Cross-Platform
We are available on the following platforms
- Linux (through the AUR)
- MacOs (through homebrew)
- Windows (through choco) [once waku gets reviewed and approved]
- All (through our release downloads)
Install
You can find installation documentation at https://github.com/caffeine-addictt/waku/blob/main/docs/install.md.
Features
- d281da1: feat: A simple CLI implementation (#81) (@caffeine-addictt)
- 981a8ba: feat: Account for non * regex in ignore rules (@caffeine-addictt)
- 3e5a2a2: feat: Add "new repo" command alias for "new" (@caffeine-addictt)
- c92e9b3: feat: Add Regex cleaned string (@caffeine-addictt)
- 50ccbc9: feat: Add Set type (@caffeine-addictt)
- 4c38382: feat: Add accessibility flag (@caffeine-addictt)
- b86e18e: feat: Add basic template.json file (@caffeine-addictt)
- ab1841a: feat: Add branch option (@caffeine-addictt)
- a84da38: feat: Add caching dir and resolving option (#82) (@caffeine-addictt)
- 1462733: feat: Add check command (@caffeine-addictt)
- 259c468: feat: Add cleanString type helper (@caffeine-addictt)
- b3a5b2b: feat: Add cloning repository to tmp (@caffeine-addictt)
- d844e0f: feat: Add configuration structs (@caffeine-addictt)
- 3e080ef: feat: Add dir option (@caffeine-addictt)
- f2c4594: feat: Add docker (@caffeine-addictt)
- 24d450f: feat: Add hex color type (@caffeine-addictt)
- f7bc95d: feat: Add install scripts (@caffeine-addictt)
- c5bdfb8: feat: Add isExecutable check (@caffeine-addictt)
- 1c3a020: feat: Add isFile utility (@caffeine-addictt)
- 0557ace: feat: Add json schema (@caffeine-addictt)
- 9ad49ed: feat: Add license and style flags (@caffeine-addictt)
- 11d2474: feat: Add license fetching (@caffeine-addictt)
- 029e5fc: feat: Add logging helper (@caffeine-addictt)
- 667f909: feat: Add man command (@caffeine-addictt)
- d64f54d: feat: Add multiline stirng utility (@caffeine-addictt)
- 12a9b27: feat: Add name field (@caffeine-addictt)
- 12fafd4: feat: Add name flag to new cmd (@caffeine-addictt)
- 0ee1d93: feat: Add new command (@caffeine-addictt)
- e5c1776: feat: Add options (@caffeine-addictt)
- 96e1fcc: feat: Add prompts to templatejson (@caffeine-addictt)
- f88f71a: feat: Add root command (@caffeine-addictt)
- 22eb44e: feat: Add short and long desc to version cmd (@caffeine-addictt)
- 758dee1: feat: Add some logs (@caffeine-addictt)
- 44b8866: feat: Add string starts with utility (@caffeine-addictt)
- 23526e9: feat: Add value guarded struct (@caffeine-addictt)
- 921f0ca: feat: Add verbose flag (@caffeine-addictt)
- 95eee32: feat: Add version command (conforming to semver) (@caffeine-addictt)
- aa48c5f: feat: Ask for project name (@caffeine-addictt)
- 0199289: feat: Ask to license and project name together (@caffeine-addictt)
- 7b9daa9: feat: Basic implementation (@caffeine-addictt)
- 69ebe65: feat: Clean filepath for check cmd (@caffeine-addictt)
- e96028d: feat: Cleanup javascript stuff (#77) (@caffeine-addictt)
- 234aad0: feat: Create project directory (@caffeine-addictt)
- 832eb30: feat: Do not allow same dir to be used (@caffeine-addictt)
- 957ac7d: feat: Fetch file paths in "new" command (@caffeine-addictt)
- b4e7711: feat: Golang CLI (template -> Waku) (MIT -> AGPL3.0) (#80) (@caffeine-addictt)
- b1a7128: feat: Handle extra prompts (from templatejson) (@caffeine-addictt)
- fe63467: feat: Handle ignored paths in "new" command (@caffeine-addictt)
- 60f8c3d: feat: Handle ignores (@caffeine-addictt)
- f22b69b: feat: Handle license prompts (from gh API) (@caffeine-addictt)
- 0db923e: feat: Handle parsing json template (@caffeine-addictt)
- 733a0ba: feat: Handle resolving style to use (@caffeine-addictt)
- d1622da: feat: Ignore setup scripts by default too (@caffeine-addictt)
- 5e02903: feat: Implement Set.Copy() (@caffeine-addictt)
- bf6a2f2: feat: Implement binary search (@caffeine-addictt)
- b5fc203: feat: Implement prompting for license (@caffeine-addictt)
- 1bbcc41: feat: Implement prompting for style (@caffeine-addictt)
- 162822c: feat: Implement quicksort (@caffeine-addictt)
- 3de406a: feat: Implement recursive walking directory (@caffeine-addictt)
- 488298c: feat: Implement resolving file paths to include (@caffeine-addictt)
- a23f944: feat: Implement templater (@caffeine-addictt)
- 99274e9: feat: Implement writing files concurrently/parallel (@caffeine-addictt)
- f178a89: feat: Improve check cmd help msg (@caffeine-addictt)
- 662bbe3: feat: Improve default repo and dir setting (@caffeine-addictt)
- 1e73765: feat: Improve string cleaning to strip esc chars (@caffeine-addictt)
- 20e2617: feat: Make name illegal if styles is provided (@caffeine-addictt)
- 5c283fe: feat: Make valueguard jsonify-able (@caffeine-addictt)
- 1715b03: feat: Move current style into simple-github (@caffeine-addictt)
- 620b2fd: feat: Only require root "name" if no "styles" (@caffeine-addictt)
- baf825d: feat: Provide automatic comps in PKGBUILD (@caffeine-addictt)
- 7b58f79: feat: Provide automatic man pages (@caffeine-addictt)
- a90fc58: feat: Provide default values for repo and dir (@caffeine-addictt)
- fbdf1b9: feat: Remove javascript (@caffeine-addictt)
- 7bedcbc: feat: Require a style name (@caffeine-addictt)
- f8cbe98: feat: Require parsed path to be subtree local (@caffeine-addictt)
- 2433301: feat: Separate struct from map[string]T (@caffeine-addictt)
- d172682: feat: Show cmd stdOut and stdErr on verbose/debug (@caffeine-addictt)
- a4e0cdc: feat: Update releaser configs (#97) (@caffeine-addictt)
- c93b085: feat: Update styles struct (@caffeine-addictt)
- 92e8386: feat: Use context for handling cancellations (@caffeine-addictt)
- 7c4faed: feat: Use goreleaser (@caffeine-addictt)
- 949aad6: feat: Use set (@caffeine-addictt)
Bug fixes
- 9798d62: fix: CWE-276 write files with owner-only perms (@caffeine-addictt)
- eefc497: fix: Dokerfile build failing (@caffeine-addictt)
- a6c4d2a: fix: Error message describing wrongly (@caffeine-addictt)
- b91577c: fix: File/Dir perms issue (@caffeine-addictt)
- 2f17419: fix: Force / paths (@caffeine-addictt)
- 7aa9e24: fix: Generated files are root only (@caffeine-addictt)
- cbbacc0: fix: Have errors exit with status 1 (@caffeine-addictt)
- 33f1463: fix: Ignore directoried (@caffeine-addictt)
- e3fba19: fix: Missing check for exec perms (@caffeine-addictt)
- 525f7f7: fix: Name change artifacts (#96) (@caffeine-addictt)
- 9dddc8b: fix: Pass file path instead of dir path (@caffeine-addictt)
- c8fc2f0: fix: Resolve spinner import (@caffeine-addictt)
- f5330d8: fix: Running regex on wrong varaible (@caffeine-addictt)
- a92ac02: fix: Set repo value if empty (@caffeine-addictt)
- b5933b8: fix: Testing command in goreleaser (@caffeine-addictt)
- fdf441b: fix: Validation logic error (@caffeine-addictt)
- 3e4bb14: fix: Walk rootDir (tmp) instead of proj (new) (@caffeine-addictt)
- 101f2d4: fix: os.Exit() not running deferred funcs (@caffeine-addictt)
Improvements
- 8517a7c: docs: Add docker img disclaimer (@caffeine-addictt)
- 412cd9d: docs: Add docs page with default md file (@caffeine-addictt)
- 59a3da9: docs: Add documentation link (@caffeine-addictt)
- 4d07d17: docs: Add go report badge (@caffeine-addictt)
- acada08: docs: Add install docs (@caffeine-addictt)
- dba9614: docs: Add templating docs (@caffeine-addictt)
- ccbfb0f: docs: Update description (@caffeine-addictt)
- 8535ef4: docs: Update getting started section (@caffeine-addictt)
- 4e8f18c: docs: Update project logos (#98) (@caffeine-addictt)
- 18a41cf: refactor: Abstract typeString text (@caffeine-addictt)
- 7c08781: refactor: Abstract unmarshalling (@caffeine-addictt)
- 77a68cf: refactor: Make print start with lowercase (@caffeine-addictt)
- eeae4f3: refactor: Mark options as non persistent (@caffeine-addictt)
- 0d2c202: refactor: Move option init into struct declaration (@caffeine-addictt)
- 2189b8e: refactor: Move repo and cache to new command (@caffeine-addictt)
- a4f0c05: refactor: Remove cache in favor of tmp dirs (@caffeine-addictt)
- e304906: refactor: Remove state and return huh.Input (@caffeine-addictt)
- 4ea3586: refactor: Rename Options -> GlobalOptions (@caffeine-addictt)
- 4917177: refactor: Update flag descriptions (@caffeine-addictt)
- 455a552: refactor: Use a new variable instead of mutating (@caffeine-addictt)
- 1a7bb48: style: Command flags should start with lowercase (@caffeine-addictt)
- f424159: style: Errors should start with lowercase (@caffeine-addictt)
- 20a33df: style: Fix formatting (@caffeine-addictt)
- 7ef7163: style: Fix linting (@caffeine-addictt)
- ec61a72: style: Fix styling (@caffeine-addictt)
- 6855521: style: Only long desc should start with uppercase (@caffeine-addictt)
- 0ff08c3: style: Standardize string casing (#84) (@caffeine-addictt)
- 6d82eec: style: Tidying up code (@caffeine-addictt)
- 2a3e57e: test: Add hex color test (@caffeine-addictt)
- 0454da8: test: Add testing helpers (@caffeine-addictt)
- 33757f2: test: Make tests verbose (@caffeine-addictt)
- f9248b3: test: Use asserts instead of t.Fatalf (@caffeine-addictt)
Security issues
- a53c12e: security: Clean filepath before open() call (@caffeine-addictt)
- 72a5f4b: security: Ensure that git args is sanitized (@caffeine-addictt)
Others
- a4ba349: chore!: License template under AGpl-3.0 (@caffeine-addictt)
- 8a4a959: chore(deps): Add cobra (@caffeine-addictt)
- 1b5d7cd: chore(deps): Add huh (@caffeine-addictt)
- 9fb966a: chore(deps): Add testify (@caffeine-addictt)
- a63cb49: chore(deps): Bump alpine from 3.20.2 to 3.20.3 (#92) (@dependabot[bot])
- 510baea: chore(deps): Bump github.com/charmbracelet/huh from 0.5.3 to 0.6.0 (#95) (@dependabot[bot])
- d29d0d8: chore(deps): Bump golang from 1.23.0 to 1.23.1 (#93) (@dependabot[bot])
- 9fa7f32: chore(deps): Bump goreleaser/goreleaser-action from 5 to 6 (#91) (@dependabot[bot])
- e12e47b: chore(deps): Bump tj-actions/changed-files from 44 to 45 (#90) (@dependabot[bot])
- bac3dc6: chore(deps): Remove eslint (@caffeine-addictt)
- b5389df: chore(deps-dev): Bump prettier from 3.2.5 to 3.3.3 (#94) (@dependabot[bot])
- e5a1874: chore: Add "make bench" helper (@caffeine-addictt)
- fbe1a60: chore: Add AUR to goreleaser (@caffeine-addictt)
- 1dee763: chore: Add built waku bin to ignore list (@caffeine-addictt)
- 722cf0f: chore: Add more choco tags (@caffeine-addictt)
- 9d10f83: chore: Cleanup npm stuff (@caffeine-addictt)
- 6cf7b5b: chore: Create Makefile (@caffeine-addictt)
- ccd0de8: chore: Explitly use version 2 (@caffeine-addictt)
- 54323a4: chore: Remove citation cff (@caffeine-addictt)
- 470f8a3: chore: Remove explicit license and readme to arch (@caffeine-addictt)
- 6677dee: chore: Remove settings.yml (@caffeine-addictt)
- e05e539: chore: Tidy mod file (@caffeine-addictt)
- b3de589: chore: Un-skip uploads (@caffeine-addictt)
- 5099e87: chore: Update Makefile (@caffeine-addictt)
- f76dd30: chore: Update configs (#79) (@caffeine-addictt)
- f5fdfd6: chore: Update editorconfig (@caffeine-addictt)
- 3dfc3d7: chore: Update license (@caffeine-addictt)
- 7996e23: chore: Update project name template -> waku (@caffeine-addictt)
- 9162482: chore: Update regex for release drafting (@caffeine-addictt)
- 819a28e: chore: bump version to 0.1.0 (#99) (@caffeine-addictt)
- 7aff476: ci: Add AUR key (@caffeine-addictt)
- 5c5a299: ci: Add docker releases (@caffeine-addictt)
- fcb1c6e: ci: Fix field name language-version -> go-version (#83) (@caffeine-addictt)
- 9788543: ci: Improve CI (@caffeine-addictt)
- dbbbdcb: ci: Install choco in CI (#100) (@caffeine-addictt)
- 270a1be: ci: Only run linting and test on main or PR (@caffeine-addictt)
- da89c5d: ci: Remote template syncing (@caffeine-addictt)
- c66ca7e: ci: Remove dist/ check (@caffeine-addictt)
- 1885bd5: ci: Temporary ci patch (@caffeine-addictt)
- 7c0bd8d: ci: Update dependabot (@caffeine-addictt)
- 237b4f1: ci: Use PAT for logging into ghcr (#101) (@caffeine-addictt)
- f04ccad: ci: Use golang latest in CI (@caffeine-addictt)
- b27bc91: revert: No spinner when git cloning (@caffeine-addictt)
- 300ce6d: revert: Remove "[default: false]" text (@caffeine-addictt)
- e3cf455: revert: Remove release drafter (@caffeine-addictt)
- a7d5cbe: revert: Remove skip from templatejson (@caffeine-addictt)
- 12db103: revert: Style name is the key value (@caffeine-addictt)