This project is a full-stack application featuring an Angular/React frontend and a Python backend. It serves as a recipe platform or cookbook application ("tasteslikegoodtheangularsvegancookbook").
Jira Project Tracking (all on tasteslikegood.atlassian.net — the only site for work items):
- Recipe app (Vegan Genius Chef):
KAN(tasks/bugs),RCP(releases) — the ONLY projects this repo's tooling may touch (enforced byscripts/pm/_atlassian_guard.py) - Plaza game (different repo — do not touch from here):
PLZG(software),TO(business/creative); Confluence spacePLZA tasteslikegood-dev.atlassian.netis a service-site shell; its formerTOproject is frozen asTOSVC("SERVICE-HOLD — do not use")
PM Automation:
- Scripts for syncing Jira and Confluence are located in
scripts/pm/. scripts/pm/pm_daemon.py- Background sync of planning docs (MCP server). One daemon spawns per agent session (that's correct — each needs its own MCP stdio pipes), but the file watcher is a singleton elected by an exclusiveflockon.claude/pm-daemon-watcher.lock; non-holders serve MCP tools only. Don't kill extra daemons — it breaks those sessions' tools. Seedocs/PM_TOOLING.md.scripts/pm/sync_jira_confluence_status.py- Fetches live project status.
Key Technologies:
- Frontend: Angular 22 SPA (TypeScript,
angular.json,index.tsx) with Angular Router (lazy loading), Signals API, Tailwind CSS (tailwind.config.js), Vitest (vitest.config.ts), ESLint. - Backend: Python (
Backend/app.py), managed withuvandpyproject.toml/uv.lock. - Infrastructure: Docker (
Dockerfile,Backend/Dockerfile), Google Cloud Build (cloudbuild.yaml), GitHub Actions. - Code Quality: Qodana (
qodana.yaml), Prettier (.prettierrc). - Agents/Skills: Uses custom Gemini CLI and Claude skills (located in
alirez-claude-skills/).
- Install dependencies:
npm install(implied bypackage.jsonandpackage-lock.json) - Run development server:
npm startorng serve(checkpackage.jsonscripts) - Run tests:
npm test(using Vitest) - Linting:
npm run lint(using ESLint)
- Setup Environment:
cd Backend uv sync - Database Setup:
bash init_database.sh - Run Server:
python app.pyor through the provided shell scripts (e.g.,run_debug.sh). - Tests/CI:
bash run_ci_checks.sh
- Version Control: Follow guidelines in
BRANCHING_STRATEGY.mdandCONTRIBUTING.md. ALWAYS create a new branch offdevbefore making any changes — do not commit directly todevormain. - CI/CD: PRs and commits are checked via GitHub Actions and Qodana. Ensure all tests pass before submitting a PR.
- Code Style: Enforced by ESLint (frontend), Flake8 (backend -
.flake8), and Prettier. - Documentation: Review
START_HERE.mdandAPI.md(in Backend) for detailed onboarding.
To install gemstack for this project, run the following:
git submodule update --init --recursive
cd gemstack && ./setupUse the /browse skill from gemstack for all web browsing, never use mcp__claude-in-chrome__* tools.
Available skills: /office-hours, /plan-ceo-review, /plan-eng-review, /plan-design-review, /design-consultation, /review, /ship, /browse, /qa, /qa-only, /design-review, /setup-browser-cookies, /retro, /investigate, /document-release, /codex, /careful, /freeze, /guard, /unfreeze, /gemstack-upgrade.