/ Home

Kiro Spec

Steering - always.md

Location: .kiro/steering/always.md

---
inclusion: always
---

# General Rules

## Custom
- don't hardcode anything as a fallback when you get exception. It's dangerous and misleading
- when I say reqs or REQS, I mean requirements.txt
- if you see file name called .ant, consider it is my custom "admin notes" file where I keep some notes for admin purposes. It is not related to anything in Java. It's pure local custom notes.
- when you deal with prompts in python, keep the prompts separated in "prompts/*.txt". It should not be attached with python code. It should be always in .txt file.


## Random Data Maker
- When you are asked to use random city or such things, use "randum" python library from https://pypi.org/project/randum/1.0.9/. Also, refer the documentation of `randum` library here: https://deepwiki.com/kactlabs/randum.

## Documentation
- Never add any new .md/.txt file for documenting anything.
- If any documention, update README.md

## Acronym
- SS - Screenshots; when I type SS, assume I am talking about screenshots
- reqs/REQs/REQS - requirements.txt

Steering - ui-guidelines.md

Location: .kiro/streeting/ui-guidelines.md

---
inclusion: manual
---

# General Rules

## Documentation

Never add any new .md file for documenting anything.

# UI Guidelines

## Modal vs Alert

When a page has any popup option, use modal instead of `js-alert` (JavaScript alert dialogs).

**Why:** Modals provide better UX with custom styling, accessibility, and control over the interaction flow.

## Notifications

For notifications and user feedback, use a top-right toaster component instead of alerts.

**Implementation:**
- Display toaster notifications in the top-right corner of the viewport
- Use appropriate toast types: success, error, warning, info
- Auto-dismiss after appropriate duration (typically 3-5 seconds)
- Allow manual dismissal via close button

Steering - Python Environment

Location: .kiro/streeting/python-environment.md

# Python Environment

Always use the conda `test12` environment Python for all operations:

- Python binary: `/opt/miniconda3/envs/test12/bin/python`
- Pip: `/opt/miniconda3/envs/test12/bin/pip`
- All CLI tools (alembic, uvicorn, etc.) should be run via `/opt/miniconda3/envs/test12/bin/<tool>` or prefixed with `/opt/miniconda3/envs/test12/bin/python -m <module>`

Do NOT use the system Python (`/Users/csp/.local/bin/python`) — it is uv-managed and will reject package installs.