Add random ASCII art cats and short-form CLI options - #3
Open
SpaceTrucker2196 with Copilot wants to merge 7 commits into
Open
Add random ASCII art cats and short-form CLI options#3SpaceTrucker2196 with Copilot wants to merge 7 commits into
SpaceTrucker2196 with Copilot wants to merge 7 commits into
Conversation
Co-authored-by: SpaceTrucker2196 <641430+SpaceTrucker2196@users.noreply.github.com>
Co-authored-by: SpaceTrucker2196 <641430+SpaceTrucker2196@users.noreply.github.com>
Co-authored-by: SpaceTrucker2196 <641430+SpaceTrucker2196@users.noreply.github.com>
Co-authored-by: SpaceTrucker2196 <641430+SpaceTrucker2196@users.noreply.github.com>
Co-authored-by: SpaceTrucker2196 <641430+SpaceTrucker2196@users.noreply.github.com>
Co-authored-by: SpaceTrucker2196 <641430+SpaceTrucker2196@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add ASCII art cat generation and update CLI handling
Add random ASCII art cats and short-form CLI options
Feb 17, 2026
SpaceTrucker2196
marked this pull request as ready for review
July 3, 2026 12:55
There was a problem hiding this comment.
Pull request overview
This PR updates MeowPassword’s CLI UX by adding a randomized cat-themed banner on each run and introducing short-form CLI flags that map to existing long options, while also updating the README and ignoring generated build artifacts.
Changes:
- Replaced the single static banner with a
getRandomCatArt()selector over a small in-source collection. - Extended argument parsing to accept short options (
-n,-s,-m,-t,-c,-h) alongside long options. - Updated README usage/docs and added a
.gitignorefor generated artifacts.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Documents randomized cat banner and short-form CLI options with examples and option table updates. |
| main.swift | Implements randomized banner selection and expands CLI parsing/help output. |
| .gitignore | Adds ignore rules for build outputs and generated Swift artifacts. |
| meowpass_production.swift | Removed large production-combined Swift source artifact from the repo. |
| embedded_production.swift | Removed large embedded production names artifact from the repo. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ## Features | ||
|
|
||
| - **🎨 Random ASCII Art Cats** - Displays a different adorable cat on each run for a delightful experience |
Comment on lines
+53
to
+55
| Each run displays a random ASCII art cat! The program will: | ||
| 1. Show a random cat ASCII art (6 different cats available) | ||
| 2. Generate 5 password candidates using cat names |
Comment on lines
+97
to
+99
| ## ASCII Art Feature | ||
|
|
||
| MeowPassword includes 6 different ASCII art cats that are randomly displayed each time you run the program: |
Comment on lines
+12
to
+15
| /** | ||
| * Collection of ASCII art cats for randomized display | ||
| * Each run selects a random cat to display, adding variety to the user experience | ||
| */ |
Comment on lines
+89
to
+92
| /** | ||
| * Get a random ASCII art cat from the collection | ||
| * @return A randomly selected ASCII art string | ||
| */ |
Comment on lines
+578
to
+579
| combined with Kolmogorov complexity analysis. Each run displays a | ||
| random ASCII art cat for a delightful experience! |
Comment on lines
+128
to
138
| case "--numbers", "-n": | ||
| if i + 1 < arguments.count, let value = Int(arguments[i + 1]) { | ||
| numNumbers = max(1, min(10, value)) // Clamp between 1-10 | ||
| if value >= 1 && value <= 10 { | ||
| numNumbers = value | ||
| i += 1 // Skip next argument (the value) | ||
| } else { | ||
| print("Warning: --numbers/-n must be between 1-10. Using default: random 1-4") | ||
| } | ||
| } else { | ||
| print("Warning: --numbers/-n requires a numeric value. Using default: random 1-4") | ||
| } |
Comment on lines
+140
to
150
| case "--symbols", "-s": | ||
| if i + 1 < arguments.count, let value = Int(arguments[i + 1]) { | ||
| numSymbols = max(1, min(10, value)) // Clamp between 1-10 | ||
| if value >= 1 && value <= 10 { | ||
| numSymbols = value | ||
| i += 1 // Skip next argument (the value) | ||
| } else { | ||
| print("Warning: --symbols/-s must be between 1-10. Using default: 2") | ||
| } | ||
| } else { | ||
| print("Warning: --symbols/-s requires a numeric value. Using default: 2") | ||
| } |
Comment on lines
+152
to
162
| case "--max-length", "-m": | ||
| if i + 1 < arguments.count, let value = Int(arguments[i + 1]) { | ||
| maxLength = max(15, min(50, value)) // Clamp between 15-50 | ||
| if value >= 15 && value <= 50 { | ||
| maxLength = value | ||
| i += 1 // Skip next argument (the value) | ||
| } else { | ||
| print("Warning: --max-length/-m must be between 15-50. Using default: 25") | ||
| } | ||
| } else { | ||
| print("Warning: --max-length/-m requires a numeric value. Using default: 25") | ||
| } |
|
|
||
| | Long Option | Short | Description | Default | | ||
| |-------------|-------|-------------|---------| | ||
| | `--numbers N` | `-n N` | Number of random numbers to insert (1-10) | 1-4 (random) | |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enhances user experience with randomized ASCII art and adds ergonomic short-form CLI options alongside existing long-form options.
Changes
ASCII Art Randomization
getRandomCatArt()function replaces staticlolcatArtconstantCLI Enhancements
-n,-s,-m,-t,-c,-h(map to existing--numbers,--symbols, etc.)meowpass -n 5 -s 3 -m 30equivalent tomeowpass --numbers 5 --symbols 3 --max-length 30Documentation
Code Quality
.gitignorefor build artifacts (meowpassbinary, generated Swift files)All existing functionality preserved; backward compatible.
Original prompt
This pull request was created from Copilot chat.
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.