the signals and their derived score are provisional and subject to change.
validate manually before sharing.
03b7c8300dace77bec40424ab0183cd76f7f22ea8681d6a6499a2 months agoCo-authored-by: Cursor <cursoragent@cursor.com>0c11954d945e6 months agocopilot-swe-agent[bot]cd84e451f8036 months agocopilot-swe-agent[bot]7c58fcc9603d6 months agocopilot-swe-agent[bot]d9c1c1c44ed89 months agonoreply@anthropic.com79db8e41e2dc10 months agonoreply@anthropic.com97dae02e77c611 months agonoreply@anthropic.com# Firmowid agent's instructions
This document contains instructions for AI agents working on this codebase.
This is an Elixir LiveView app. It is focused on invoicing, bank accounts synchronization,
and other tasks related to company management, like payroll or client's billing.
## Development server
When running, assume that the whole application - with all required services -
is properly running. We use `wt` (`worktrunk`) to maintain each worktree.
Parallel worktrees are running on the same host, so w{
"$schema": "https://opencode.ai/config.json",
"permission": {
"sentry_*": "deny",
"posthog_*": "deny"
},
"agent": {
"sentry": {
"mode": "subagent",
"permission": {
"sentry_*": "allow"
},
"description": "An agent that has access to Sentry's MCP to check issue details",
"prompt": "Your goal is to access Sentry and provide information about issues"
},
"posthog": {
"mode": "subagent",
"permission": {
"posthog_*": "allow"
---
name: infisical-secrets
description: Use an already-migrated Alergeek Infisical setup safely during local development, scripts, curl requests, debugging, and deployments without exposing secrets in logs or chat.
---
# Infisical Secrets Usage
Use this skill when working in a repository that has already been migrated to the Alergeek Infisical setup.
This skill is for day-to-day usage, not migration. For migration, use `commands/av-infisicalize-migrate.md`.
## Core Rules
- Treat every value from Infis---
name: phoenix-liveview-testing
description: Write and review Phoenix LiveView tests using Phoenix.LiveViewTest. Use for rendering, user interactions, forms, components, navigation, uploads, async assigns, hooks, and resilient selector/assertion strategy.
---
# Testing LiveView
Use this skill when working on Phoenix LiveView tests.
## Core rules
- Test behavior from the user's perspective.
- Prefer exercising rendered HTML over sending events directly.
- Prefer scoped assertions over broad HTML strin---
name: polish-quantity
description: Polish pluralization and count labels using PolishQuantity.quantity/4. Use when adding or changing Polish user-facing text that combines an integer with a declined noun.
---
# Polish Quantity Labels
Use this skill when adding or changing a Polish user-facing quantity label,
such as a count of invoices, accounts, transactions, employees, or plan limits.
## Shared Utility
Use `FirmowidWeb.Infrastructure.Utilities.PolishQuantity.quantity/4`:
```elixir
alias FirmowidW---
name: polish-user-facing-urls
description: Rules about our nomenclature regarding URLs, pathnames, query
params and so on. Use always when adding, changing or removing one of these.
---
# Polish User-Facing URLs
## When to use
Use this skill whenever you touch:
- Phoenix routes exposed to users
- LiveView URL state (`push_patch`, `push_navigate`, `handle_params`)
- query-param parsing or encoding
- public/download links
- navigation helpers and canonical paths
## Core rules
1. User-facing pathname---
name: ash-policies
description: Project specific rules for creating and maintaining Ash authorization policies. Use this skill instead of searching in docs, whenever you touching policies in a resource
---
# Ash Policies
## Core Model
1. A policy has:
- conditions (when the policy applies)
- checks (how the policy decides)
2. Check results are `:authorized`, `:forbidden`, or `:unknown`.
3. Within a policy, checks are evaluated in logical top-to-bottom order; the first check that decides (`:authnone