User Guide

First run? Budget about 10 minutes for Getting Started (longer only if you need to install Java). Problems? See FAQ.
Table of Contents
-
Table of Contents
- About CatPals
- Getting Started
- A Quick Tour of the Interface
-
Features
- Viewing help :
help - Adding a cat:
add - Attaching a cat photo:
attach - Listing all cats:
list - Updating a cat profile :
update - Locating cats by name, location, traits or health status :
find - Deleting a cat :
delete - Exporting the cat list :
export - Clearing all entries :
clear - Undo the previous action :
undo - Exiting the program :
exit - Saving the data
- Editing the data file
- Archiving data files
[coming in v2.0]
- Viewing help :
- FAQ
- Known issues
- Command summary
About CatPals
What is CatPals?
CatPals is a desktop app for NUS Cat Café volunteers to manage stray-cat records on campus. It keeps names, locations, traits, health status, and photos all in one place, instead of scattered notes or group chats.
Why is this app needed?
With so many cats spread across campus, details can easily get lost in messages or forgotten over time. CatPals gives volunteers one organised record they can search, update, and export whenever they need to coordinate care.
Who are the target users?
- NUS Cat Café CCA members tracking many campus cats
- People who prefer a desktop tool with keyboard-first workflows
- Anyone comfortable typing short commands (no coding knowledge required)
How do users interact with CatPals?
Type commands in the command box at the top (e.g. add, find, update). The list on the left and detail panel on the right update as you work. Use ↑ / ↓ to change the selected cat. When the app opens, the splash screen asks you to press Space to continue.
What value does CatPals provide?
CatPals offers fast lookup, consistent fields, HTML export, and offline use. It is not a vet system, shelter operations tool, or public registry, it is simply a practical notebook for volunteers.
Where can you find more information?
Visit the CatPals project site for releases, documentation, and team details.
Getting Started
Rough time: About 10 minutes if Java 17+ is already installed. Add roughly 5 to 10 minutes if you need to install Java first. All you need is a normal desktop computer and the steps below, no developer setup required.
1. Install Java 17 or newer
CatPals requires Java 17 or higher. Java is the standard runtime that CatPals runs on — you only need to install it once, and you do not need to configure anything else.
Check what you have:
-
Windows: Start menu, type
cmd, press Enter, then runjava -version -
Mac: press
Cmd + Space, search for Terminal, open it, then runjava -version
You should see a version number of 17 or higher (e.g. 17.0.x). If the command is not recognised or the major version is below 17, install a current JDK:
-
Recommended: Eclipse Temurin 17 (or newer), pick your OS, run the installer, then open a new command window and run
java -versionagain to confirm. - Alternative: Oracle Java downloads
2. Download CatPals and make a folder
- Download the latest
catpals.jarfrom the latest release. - Create a folder (e.g.
CatPalson your Desktop) and move the.jarfile into it.
3. Open a command window and navigate to that folder
-
Windows: Press
Win + R, typecmd, press Enter. Then navigate to your folder, e.g.cd C:\Users\YourName\Desktop\CatPals -
Mac / Linux: Open the Terminal app and navigate, e.g.
cd ~/Desktop/CatPals
Use the actual path where your .jar file is saved.
4. Run the app
Type the following command after you navigate to the folder where catpals.jar is (as stated in step 3) and press Enter:
java -jar catpals.jar
You have to run this command after following the step 3 above, otherwise unexpected behaviors will affect your app experience.
Note: The file you downloaded should be named catpals.jar. If it was saved with a version number in the filename (e.g. catpals-1.4.jar), either rename it to catpals.jar or replace catpals.jar in the command above with the actual filename.
You should see the splash screen first, then press Space to open the main window (tour below).
5. First commands
Try help in the command box. Other quick examples:
-
list— show all cats -
add n/Bowie t/Orange l/Utown h/Vaccinated— add a cat -
delete 3— delete the 3rd cat in the current list -
clear— remove every cat (with confirmation) -
exit— quit
Full syntax is in the Features section.
A Quick Tour of the Interface
CatPals uses a warm, keyboard-friendly layout: commands at the top, list on the left, full profile on the right.
Splash screen
On launch, you will see the welcome screen. Simply press Space to continue.
Welcome screen. Simply press Space to open the main window.
Main window
Main window: command row, result line, cat list (left), profile and photo (right), data path (footer).
| Area | What it does |
|---|---|
| Header | App title and branding |
| Command field | Type commands; press Enter to run |
| Result line | Message from the last command (success or error) |
| Cat list (left) | Numbered cats; ↑ / ↓ changes selection |
| Detail panel (right) | Name, location, traits, health, photo or placeholder |
| Footer | Path to your data file (inside the data folder next to the app) |
Navigating the cat list
Use ↑ and ↓ to move the selection (works even when the cursor is in the command box). The detail panel updates automatically. Clicking list rows does not select. Instead, use the arrow keys. You can still scroll the list with the mouse wheel.
Confirmation dialogs
For update, delete, clear, undo, and export (when overwriting an existing file), a dialog will ask you to confirm. Press Enter to confirm or Esc to cancel. No mouse required. See Update and Delete for examples.
Features
Notes about the command format:
- Words in
UPPER_CASEare the parameters to be supplied by the user.
e.g. inadd n/NAME,NAMEis a parameter which can be used asadd n/Snowy. - Items in square brackets are optional.
e.g.n/NAME t/TRAIT [h/HEALTH_STATUS]can be used asn/Snowy t/white h/vaccinatedor asn/Snowy t/white. - Items with
…after them can be used multiple times (>= 1).
e.g.[t/TRAIT]…can be used ast/white,t/white t/smalletc. - Extraneous parameters for commands that do not take in parameters (such as
help,list,exitandclear) will be ignored.
e.g. if the command specifieshelp 123, it will be interpreted ashelp. - If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
- The command box is cleared after every command, including invalid ones. This is intentional, as it encourages users to type each command fresh and avoids confusion from partially-corrected input lingering on screen. If you make a mistake, simply retype the corrected command. For long or repetitive commands, consider drafting them in a text editor first and pasting when ready.
Viewing help : help
Shows a message explaining how to access the help page.
Format: help
Adding a cat: add
Adds a cat profile to the cat notebook.
Format: add n/NAME t/TRAIT [t/MORE_TRAITS]… l/LOCATION [h/HEALTH_STATUS]
Tip:
A cat can have up to 3 traits. Duplicate traits are not allowed. Health status is optional and defaults to Unknown if not provided.
To attach a photo after adding, use the attach command.
Caution: Input trimming and character limits
All input fields (name, trait, location, health status) are automatically trimmed before being stored — leading/trailing spaces are removed and consecutive spaces within a value are collapsed into a single space. Character limits are counted after this trimming (i.e., based on the cleaned-up value that is actually stored). This applies to all commands that accept these fields (e.g., add, update).
For example: t/long tail is stored as t/long tail (9 characters, not 13). So t/long tail and t/long tail are treated as the same trait. Similarly, l/Utown Residence and l/Utown Residence refer to the same location. However, l/Utown Residence and l/U town Residence are different because the words themselves differ.
Like many CLI applications, if multiple fields are invalid at the same time, CatPals only reports the first error it encounters. Fields are validated in this order: Name → Location → Trait → Health Status. Fix the reported field, re-run the command, and the next invalid field (if any) will then be flagged. For example, if both the name and location exceed their limits, you will only see the name error first. After fixing the name, re-running the command will then show the location error.
-
n/NAME,t/TRAIT, andl/LOCATIONare required. - Duplicate names are checked case-insensitively — for example, you cannot add
Bowieifbowiealready exists. -
NAMEmust contain at least one letter. It can be a mix of letters and numbers (e.g.R2D2), but it cannot be only numbers (e.g.123), because number-only names are ambiguous with index-based commands likeupdateanddelete. Names can only contain letters, numbers, and spaces — symbols such as apostrophes ('), hyphens (-), and slashes (/) are not allowed. If a cat’s name contains these characters, please omit them (e.g., useOMalleyinstead ofO'Malley,Xiao Baiinstead ofXiao-Bai,SO Sujithinstead ofS/O Sujith). Maximum 30 characters (counted after trimming).
Caution:
Additionally, if a name contains a word starting with n/, t/, l/, or h/, the command will be parsed incorrectly as these are reserved command prefixes. For example, add n/Kitty t/friendly l/Home would work, but add n/Kitty t/friendly t/lover l/Home is fine too — however, a name like Tommy t/he Cat would cause t/he Cat to be misinterpreted as a trait. If a cat’s name contains such a sequence, please omit the /.
-
t/TRAIT— you can specify up to 3 traits, but duplicate traits are not allowed. Maximum 50 characters per trait (counted after trimming). -
l/LOCATION— maximum 50 characters (counted after trimming). -
h/HEALTH_STATUSis optional. Common values includeVaccinated,Neutered,Vaccinated and Neutered,Injured, orHealthy. Defaults toUnknownif theh/prefix is omitted entirely. Ifh/is provided with an empty value (e.g.,h/), the health status will be stored as blank. Maximum 50 characters (counted after trimming).
Examples:
add n/Bowie t/Orange l/Utown h/Vaccinatedadd n/Whiskers t/Fluffy t/Playful l/Science h/Neutered
Running add n/Whiskers t/Fluffy t/Playful l/Science adds Whiskers to the cat list.
Attaching a cat photo: attach
CatPals can display a photo on each cat’s card. Photos are loaded from image files stored on your computer.
Folder setup
Your CatPals folder must be structured as follows:
CatPals/
├── catpals.jar
├── data/
│ └── addressbook.json
└── images/
├── bowie.png
└── whiskers.jpg
- Inside your
CatPalsfolder (the same folder that containscatpals.jar), create a subfolder namedimages. - Copy your cat photos into the
imagesfolder.
Naming your image files
- Use simple filenames with no spaces, e.g. prefer
snowy_cat.jpgoversnowy cat.jpg. - Supported formats:
.png,.jpg,.jpeg. -
Case sensitivity depends on your operating system. Linux and macOS treat
Bowie.pngandbowie.pngas different files; Windows does not. To avoid surprises, always match capitalisation exactly.
iPhone / HEIC photos: Photos taken on an iPhone are often saved in HEIC format (.heic), which CatPals does not support. Before using an iPhone photo, convert it to .jpg or .png first. You can do this by opening the photo on a Windows PC and using Photos > Save as, or on a Mac by opening it in Preview and choosing File > Export and selecting JPEG or PNG.
Option 1 — Auto-detection (recommended)
Place the image file in the images/ folder with no attach command needed. CatPals automatically searches for it when the cat’s card is displayed.
For a cat named Bowie, CatPals checks these filenames in this exact order, stopping at the first match:
images/Bowie.pngimages/bowie.pngimages/Bowie.jpgimages/bowie.jpgimages/Bowie.jpegimages/bowie.jpeg
Only the cat’s exact name and its all-lowercase form are tried. On Linux and macOS (case-sensitive filesystems), no other capitalisation variants (e.g. BOWIE.png or Bowie.PNG) will be found. On Windows (case-insensitive), any capitalisation variant such as BOWIE.PNG will also be matched because the OS itself ignores case when looking up files.
| Cat name in CatPals | Files that will be found automatically |
|---|---|
Bowie |
Bowie.png, bowie.png, Bowie.jpg, bowie.jpg, etc. |
Snowy |
Snowy.png, snowy.png, Snowy.jpg, snowy.jpg, etc. |
Option 2 — Manual path with attach (for custom filenames)
Use the attach command to explicitly link any image file to a cat:
Format: attach INDEX IMAGE_PATH or attach CAT_NAME IMAGE_PATH
attach 1 images/my_cat_photo.png
attach Bowie images/bowie.png
attach Snowy White images/snowy.png
The path you type is stored exactly as-is. CatPals does not modify or normalise it. Whether the file is found on each launch depends on your operating system’s case sensitivity — on Linux/macOS, images/Bowie.png and images/bowie.png are different files; on Windows they are treated as the same.
Caution:
CatPals must be launched from the command window inside your CatPals folder (i.e. using java -jar catpals.jar) for relative image paths to work correctly. Double-clicking the .jar file may cause images not to load.
If the image file cannot be found at the given path, or the image file does not have the correct format, the attach command will fail fast with an error message.
Resetting to auto-detection
If you previously used attach to set a custom image path and want to go back to auto-detection, use --reset:
Format: attach INDEX --reset or attach CAT_NAME --reset
attach 1 --reset
attach Bowie --reset
attach Snowy White --reset
After a reset, CatPals will look for the image automatically in images/ by cat name (see Option 1 above), as if attach had never been used for that cat.
Running attach Whiskers images/Whiskers.png links a custom photo to Whisker's profile.
Listing all cats: list
Shows a list of all cats in the app.
By default, CatPals displays your list of cats in the left panel. You can use the keyboard up arrow
or down arrow
to browse through your cats.
Format: list
Updating a cat profile : update
Updates an existing cat in the app.
Format: update INDEX [n/NAME] [t/TRAIT]… [l/LOCATION] [h/HEALTH_STATUS] or update CURRENT_NAME [n/NAME] [t/TRAIT]… [l/LOCATION] [h/HEALTH_STATUS]
| Parameter | Prefix | Description |
|---|---|---|
| Name | n/ | Updates the cat’s name |
| Trait(s) | t/ | Updates the cat’s traits (up to 3, no duplicates). Uset/ alone to clear all traits |
| Location | l/ | Updates the cat’s location |
| Health Status | h/ | Updates the cat’s health status |
- Updates the cat at the specified
INDEXorCURRENT_NAME(case-insensitive). The index refers to the index number shown in the displayed cat list. The index must be a positive integer 1, 2, 3, … - At least one field must be provided.
- Updating a trait will replace all currently existing traits, so if you just want to add a new one, make sure your command include the old traits.
- Existing values will be updated to the input values; fields not specified are kept unchanged.
- To change a cat’s photo, use the
attachcommand instead. -
NAMEmust contain at least one letter. It can be a mix of letters and numbers (e.g.R2D2), but it cannot be only numbers (e.g.123). Names can only contain letters, numbers, and spaces — symbols such as apostrophes ('), hyphens (-), and slashes (/) are not allowed. If a cat’s name contains these characters, please omit them (e.g., useOMalleyinstead ofO'Malley,Xiao Baiinstead ofXiao-Bai,SO Sujithinstead ofS/O Sujith). Maximum 30 characters (counted after trimming). -
t/TRAIT— you can specify up to 3 traits, but duplicate traits are not allowed. Maximum 50 characters per trait (counted after trimming). -
l/LOCATION— maximum 50 characters (counted after trimming). -
h/HEALTH_STATUS— common values includeVaccinated,Neutered,Vaccinated and Neutered,Injured, orHealthy. Providingh/with an empty value (e.g.,update 1 h/) will reset the health status toUnknown. Maximum 50 characters (counted after trimming).
Caution:
If a name contains a word starting with n/, t/, l/, or h/, the command will be parsed incorrectly as these are reserved command prefixes. For example, a name like Tommy t/he Cat would cause t/he Cat to be misinterpreted as a trait. If a cat’s name contains such a sequence, please omit the /.
Caution: Input trimming and character limits
All input fields (name, trait, location, health status) are automatically trimmed before being stored — leading/trailing spaces are removed and consecutive spaces within a value are collapsed into a single space. Character limits are counted after this trimming (i.e., based on the cleaned-up value that is actually stored). This applies to all commands that accept these fields (e.g., add, update).
For example: t/long tail is stored as t/long tail (9 characters, not 13). So t/long tail and t/long tail are treated as the same trait. Similarly, l/Utown Residence and l/Utown Residence refer to the same location. However, l/Utown Residence and l/U town Residence are different because the words themselves differ.
Character limits — Name: 30, Trait: 50, Location: 50, Health Status: 50.
Like many CLI applications, if multiple fields are invalid at the same time, CatPals only reports the first error it encounters. Fields are validated in this order: Name → Location → Health Status → Trait. Fix the reported field, re-run the command, and the next invalid field (if any) will then be flagged. For example, if both the name and location exceed their limits, you will only see the name error first. After fixing the name, re-running the command will then show the location error.
Examples:
-
update 1 n/Brownie t/Brown— Updates the name and trait of the 1st cat. -
update Browie n/Brownie t/Brown— Updates the name of the cat with current nameBrowietoBrownie. -
update 2 h/Vaccinated and Neutered— Updates the health status of the 2nd cat.
Before any changes are applied, CatPals will show a confirmation dialog. Press Enter to confirm or Esc to cancel.
CatPals asks for confirmation before applying any changes.
After confirming, the cat formerly named Browie is updated to Brownie
Locating cats by name, location, traits or health status : find
The find command lets you quickly filter the CatPals database. You can search for cats by Name, Location, Traits, or Health Status.
Format: find n/CAT_NAME, find l/LOCATION, find t/TRAIT, or find h/HEALTH_STATUS
How it works:
- The
findcommand is case-insensitive (e.g.find,Find, andFINDare all acceptable). - The search is case-insensitive. For example,
snowywill matchSnowy. - The identifier flags (
n/,l/,t/,h/) are all case-insensitive. For example,find N/Snowyandfind n/Snowyare both valid. - The keyword can match any part of the name (Except for health status. See point below). For example,
find n/nowwill matchSnowy,find l/COMwill matchCOM4,COM3,COM2andCOM1,find t/stripwill matchStriped. - There is no partial matching for health status. For example,
find h/healthywill only match cats with health statushealthy. - The order of the keywords does not matter. For example, both
find t/friendly l/COM3andfind l/COM3 t/friendlyare accepted. - Cats matching all keywords will be returned.
- e.g.
find l/COM3 t/friendlywill return all cats that are atCOM3and have the traitfriendly.
- e.g.
- Names can only contain letters, numbers, and spaces — symbols such as apostrophes (
'), hyphens (-), and slashes (/) are not allowed. Maximum 30 characters (counted after trimming).
Examples:
| Category | Prefix | Example Command | Expected Result |
|---|---|---|---|
| Name | n/ | find n/Snowy | Shows cats with the wordSnowy in their name |
| Location | l/ | find l/COM3 | Shows all cats that are atCOM3
|
| Traits | t/ | find t/Striped | Shows all cats that have the traitStriped
|
| Health Status | h/ | find h/healthy | Shows all cats that are tagged ashealthy
|
More examples: find t/Friendly t/Playful (either trait), find n/Alex n/Li (either keyword in the name field), find l/COM3 t/Fluffy (location and trait).
Caution:
Ensure there is an identifier flag before each keyword if multiple are used. For example, use t/friendly t/white,
not t/friendly white.
Running find n/happy shows cats named happy.
Deleting a cat : delete
Deletes the specified cat from the current list that is in display (Either a full list or a list filtered by “find” command).
Format: delete INDEX or delete NAME
- Deletes the cat at the specified
INDEXor with the specific nameNAME(case-insensitive). - The index refers to the index number shown in the displayed cat list.
- The index must be a positive integer 1, 2, 3, …
Examples:
-
listfollowed bydelete 2deletes the 2nd cat in the current list. -
find n/Betsyfollowed bydelete 1deletes the 1st cat in the results of thefindcommand. -
delete Browniedeletes the cat with the specific name “Brownie”.
Before the cat is removed, CatPals will show a confirmation dialog. Press Enter to confirm or Esc to cancel.
CatPals asks for confirmation before deleting the cat.
After confirming, Brownie is removed from the list.
Exporting the cat list : export
Exports the currently displayed cat list to an HTML file. Open it in any browser to view a formatted list with cat photos.
Format: export [FILENAME]
-
FILENAMEis optional. If omitted, the file is saved asexport.htmlwith the heading “Cat List”. - If a filename is provided, spaces are automatically converted to hyphens (e.g.,
utown cats→utown-cats.html), and the heading of the HTML file matches the filename you typed. - The file is saved in the same folder as
catpals.jar. - Filenames must not contain any of these characters:
\ / : * ? " < > | - Exports whatever is currently shown. Use
findfirst to export a filtered subset, orlistto export everything. - Images are embedded using the same paths stored in the app, so they appear correctly as long as the
images/folder is in the same location.
Examples:
-
listfollowed byexport— exports all cats toexport.html. -
find l/Utownfollowed byexport utown cats— exports only cats at Utown toutown-cats.html. -
export semester 1— exports the current list tosemester-1.htmlwith the heading “semester 1”.
Running export saves a list of cats to export.html.
Clearing all entries : clear
Clears all entries from the app.
Format: clear
Because this action permanently removes all your cat data, CatPals will show a confirmation dialog before proceeding. Press Enter to confirm or Esc to cancel.
CatPals asks for confirmation before clearing all entries.
After confirming, all cat entries are removed and the list is empty.
Undo the previous action : undo
Reverses the most recent data-changing command, restoring the notebook to its previous state.
Format: undo
Caution:
The undo command ignores any extra input after the keyword. For example, undo 2 behaves exactly the same as undo — it only reverses one most recent data-changing command. Multi-step undo is not supported.
| Recent command | What undo does |
|---|---|
add |
Removes the added cat entry |
delete |
Restores the deleted cat entry |
update |
Restores the previously saved fields |
attach |
Removes the photo path reference from the cat entry. The original image file on disk is not affected. |
help, list, find
|
No change — these are read-only commands |
export, clear
|
No change — these commands are not undoable; cleared data cannot be recovered with undo
|
undo again |
No effect |
Rules:
-
undoreverses the most recent data-changing command (see the table above for which commands are undoable). Read-only commands such aslistandfinddo not affect the undo state, so you can still undo even after running them. - Only one level of undo is supported. Once you undo, the saved state is consumed and you cannot undo again until another undoable command is executed.
- Running
clearalso clears the undo state, so a previous action cannot be recovered after aclear. - Exported files remain on disk even if you
undoanother command afterward. - A confirmation dialog will appear before the undo is applied, showing the exact command that will be undone. Press Enter to confirm or Esc to cancel.
Example:
- You run
add n/Mochi t/Calico l/UTown— Mochi is added. - You run
update Mochi l/PGPR— Mochi’s location changes to PGPR. - You run
find n/Mochi— this is read-only, so the undo state is not affected. - You run
undo— the confirmation dialog shows: “Are you sure you want to undo the following command? > update Mochi l/PGPR”. After confirming, Mochi’s location reverts to UTown. - You run
undoagain — nothing to undo, because the saved state was already consumed in step 4.
Exiting the program : exit
Exits the program.
Format: exit
Saving the data
CatPals saves your data to disk automatically after any command that changes it. You do not need a separate Save action.
Editing the data file
Data is stored as JSON at [folder containing catpals.jar]/data/addressbook.json. Advanced users may edit this file directly; everyone else can ignore it.
Caution:
Invalid JSON or unsupported values can make CatPals drop all data and start empty on the next launch. Back up addressbook.json before editing. Only edit the file if you know the expected format.
Archiving data files [coming in v2.0]
Details coming soon …
FAQ
Q: How do I move CatPals to another computer?
A: Install Java 17+ on the new machine. Copy your whole CatPals folder (the .jar, the data folder, and optionally images). On the new computer, open a command window in that folder and run java -jar catpals.jar as usual.
Q: The app says it needs Java / java is not recognised.
A: Install JDK 17 or newer (e.g. from Adoptium). Close and reopen your command window, then run java -version. You must see 17 or higher.
Q: Double-clicking the .jar does nothing or errors.
A: Open a command window, navigate to the folder with catpals.jar, then run java -jar catpals.jar. This is the supported way to launch the app and also ensures that relative paths for attach and photos work correctly.
Q: I’m stuck on the yellow welcome screen. A: Press the Space bar once to enter the main window.
Q: Where is my data stored?
A: In data/addressbook.json next to catpals.jar. Back up that file if you care about your records.
Q: A command failed or said invalid format.
A: Check spelling and prefixes (n/, l/, t/, h/). Use help for an overview. See the Features section for exact formats.
Q: Cat photos do not show / attach cannot find the file.
A: Put images under an images folder beside the .jar, use paths relative to where you run the app, and launch with java -jar from that folder (see Attaching a cat photo). If your photo is from an iPhone, convert it from HEIC to JPG or PNG first.
Q: Can I use CatPals on my phone? A: No. It is a desktop Java application for Windows, macOS, or Linux.
Q: Does CatPals send my data online? A: No. Everything stays in local files on your computer unless you copy or export them yourself.
Known issues
-
When using multiple screens, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the
preferences.jsonfile created by the application before running the application again. -
If you minimise the Help Window and then run the
helpcommand (or use theHelpmenu, or the keyboard shortcutF1) again, the original Help Window will remain minimised, and no new Help Window will appear. The remedy is to manually restore the minimised Help Window. -
If you launch CatPals by double-clicking the
.jarfile, cat photos may fail to load even if theimages/folder is set up correctly. This happens because the working directory may not be set to the CatPals folder when launching by double-click. Always launch usingjava -jar catpals.jarfrom a command window opened inside the CatPals folder.
Command summary
| Command | Format | Examples |
|---|---|---|
| Add a cat | add n/NAME t/TRAIT... l/LOCATION [h/HEALTH_STATUS] |
add n/Bowie t/Orange l/Utown h/Vaccinated |
| Attach a photo to a cat |
attach INDEX IMAGE_PATH or attach CAT_NAME IMAGE_PATH
|
attach 1 images/bowie.png or attach Bowie images/bowie.png
|
| Reset Attach to a cat |
attach INDEX --reset or attach CAT_NAME --reset
|
attach 1 --reset or attach Bowie --reset
|
| Delete a cat by name or index |
delete CAT_NAME or delete CAT_NUMBER
|
delete Snowy or delete 3
|
| Update a cat by name or index | update NAME/INDEX [n/NAME] [t/TRAIT] [l/LOCATION] [h/HEALTH] |
update Snowy l/utown or update 3 l/PGPR
|
| Find cats |
find n/NAME or find l/LOCATION or find t/TRAIT or find h/HEALTH_STATUS
|
find n/Mochi or find t/Striped or find l/COM3 or find h/Sick
|
| Export the cat list to HTML | export [FILENAME] |
export or export utown cats
|
| Clear all cats | clear |
clear |
| List all cats | list |
list |
| Help | help |
help |
| Exit | exit |
exit |
| Undo | undo |
undo |
Thank you for using CatPals
We hope CatPals makes it a little easier to look after the cats on campus. Every record you keep helps volunteers stay informed and coordinate care more effectively.
If you run into a bug or have a suggestion, feel free to open an issue on our GitHub page. We would love to hear from you.
Happy cat-tracking!