{"owner":"porsager","repo":"postgres","hasSkills":true,"totalSkillsCount":1,"totalTokensCount":312,"categories":["cursor-rule"],"hasMcp":false,"mcpConfig":null,"found":[".cursorrules (postgresql.mdc)"],"skills":{".cursorrules (postgresql.mdc)":"---\ndescription: \"PostgreSQL production rules. Safe migrations, parameterized queries, TIMESTAMPTZ, proper indexing strategy.\"\nglobs: **/*.sql, **/migrations/**/*.sql, **/schema.sql, **/seed.sql\nalwaysApply: false\n---\n# PostgreSQL Rules\n\nExpert PostgreSQL developer. Safe migrations, parameterized queries, proper indexing.\n\n## Schema\n- TIMESTAMPTZ for all timestamps (not TIMESTAMP without timezone)\n- UUID for public IDs, BIGSERIAL for internal keys\n- NOT NULL by default — nullable only when intentional\n- FK with explicit ON DELETE behavior\n- Check constraints for domain invariants\n\n## Queries\n- Parameterized always — never string interpolation\n- SELECT explicit columns, never SELECT *\n- LIMIT on all potentially large result sets\n- EXPLAIN ANALYZE before shipping complex queries\n\n## Indexes\n- Index every FK column\n- CREATE INDEX CONCURRENTLY for live tables (non-blocking)\n- Partial indexes for frequently filtered subsets\n- Remove unused indexes\n\n## Migrations\n- Versioned files: V001__create_table.sql\n- Large column additions: multi-step with backfill\n- Test rollback before deploying\n\n## Transactions\n- Explicit BEGIN/COMMIT for multi-statement changes\n- statement_timeout to prevent runaway queries\n- SELECT ... FOR UPDATE for row locking\n\n## Forbidden\n- No SELECT *\n- No string-interpolated SQL\n- No schema changes during peak traffic\n- No plaintext passwords in DB\n- No TRUNCATE in app code\n"},"files":{".cursorrules (postgresql.mdc)":"---\ndescription: \"PostgreSQL production rules. Safe migrations, parameterized queries, TIMESTAMPTZ, proper indexing strategy.\"\nglobs: **/*.sql, **/migrations/**/*.sql, **/schema.sql, **/seed.sql\nalwaysApply: false\n---\n# PostgreSQL Rules\n\nExpert PostgreSQL developer. Safe migrations, parameterized queries, proper indexing.\n\n## Schema\n- TIMESTAMPTZ for all timestamps (not TIMESTAMP without timezone)\n- UUID for public IDs, BIGSERIAL for internal keys\n- NOT NULL by default — nullable only when intentional\n- FK with explicit ON DELETE behavior\n- Check constraints for domain invariants\n\n## Queries\n- Parameterized always — never string interpolation\n- SELECT explicit columns, never SELECT *\n- LIMIT on all potentially large result sets\n- EXPLAIN ANALYZE before shipping complex queries\n\n## Indexes\n- Index every FK column\n- CREATE INDEX CONCURRENTLY for live tables (non-blocking)\n- Partial indexes for frequently filtered subsets\n- Remove unused indexes\n\n## Migrations\n- Versioned files: V001__create_table.sql\n- Large column additions: multi-step with backfill\n- Test rollback before deploying\n\n## Transactions\n- Explicit BEGIN/COMMIT for multi-statement changes\n- statement_timeout to prevent runaway queries\n- SELECT ... FOR UPDATE for row locking\n\n## Forbidden\n- No SELECT *\n- No string-interpolated SQL\n- No schema changes during peak traffic\n- No plaintext passwords in DB\n- No TRUNCATE in app code\n"},"items":[{"name":".cursorrules","path":".cursorrules (postgresql.mdc)","rawUrl":"https://raw.githubusercontent.com/PatrickJS/awesome-cursorrules/main/rules/postgresql.mdc","title":"Awesome Cursorrules: postgresql","category":"cursor-rule","format":"markdown","content":"---\ndescription: \"PostgreSQL production rules. Safe migrations, parameterized queries, TIMESTAMPTZ, proper indexing strategy.\"\nglobs: **/*.sql, **/migrations/**/*.sql, **/schema.sql, **/seed.sql\nalwaysApply: false\n---\n# PostgreSQL Rules\n\nExpert PostgreSQL developer. Safe migrations, parameterized queries, proper indexing.\n\n## Schema\n- TIMESTAMPTZ for all timestamps (not TIMESTAMP without timezone)\n- UUID for public IDs, BIGSERIAL for internal keys\n- NOT NULL by default — nullable only when intentional\n- FK with explicit ON DELETE behavior\n- Check constraints for domain invariants\n\n## Queries\n- Parameterized always — never string interpolation\n- SELECT explicit columns, never SELECT *\n- LIMIT on all potentially large result sets\n- EXPLAIN ANALYZE before shipping complex queries\n\n## Indexes\n- Index every FK column\n- CREATE INDEX CONCURRENTLY for live tables (non-blocking)\n- Partial indexes for frequently filtered subsets\n- Remove unused indexes\n\n## Migrations\n- Versioned files: V001__create_table.sql\n- Large column additions: multi-step with backfill\n- Test rollback before deploying\n\n## Transactions\n- Explicit BEGIN/COMMIT for multi-statement changes\n- statement_timeout to prevent runaway queries\n- SELECT ... FOR UPDATE for row locking\n\n## Forbidden\n- No SELECT *\n- No string-interpolated SQL\n- No schema changes during peak traffic\n- No plaintext passwords in DB\n- No TRUNCATE in app code\n","tokens":312,"sizeBytes":1412}],"systemPromptSnippet":"<yakaai_skills repo=\"porsager/postgres\">\n<!-- File: .cursorrules (postgresql.mdc) (Tokens: ~312 | Category: cursor-rule) -->\n---\ndescription: \"PostgreSQL production rules. Safe migrations, parameterized queries, TIMESTAMPTZ, proper indexing strategy.\"\nglobs: **/*.sql, **/migrations/**/*.sql, **/schema.sql, **/seed.sql\nalwaysApply: false\n---\n# PostgreSQL Rules\n\nExpert PostgreSQL developer. Safe migrations, parameterized queries, proper indexing.\n\n## Schema\n- TIMESTAMPTZ for all timestamps (not TIMESTAMP without timezone)\n- UUID for public IDs, BIGSERIAL for internal keys\n- NOT NULL by default — nullable only when intentional\n- FK with explicit ON DELETE behavior\n- Check constraints for domain invariants\n\n## Queries\n- Parameterized always — never string interpolation\n- SELECT explicit columns, never SELECT *\n- LIMIT on all potentially large result sets\n- EXPLAIN ANALYZE before shipping complex queries\n\n## Indexes\n- Index every FK column\n- CREATE INDEX CONCURRENTLY for live tables (non-blocking)\n- Partial indexes for frequently filtered subsets\n- Remove unused indexes\n\n## Migrations\n- Versioned files: V001__create_table.sql\n- Large column additions: multi-step with backfill\n- Test rollback before deploying\n\n## Transactions\n- Explicit BEGIN/COMMIT for multi-statement changes\n- statement_timeout to prevent runaway queries\n- SELECT ... FOR UPDATE for row locking\n\n## Forbidden\n- No SELECT *\n- No string-interpolated SQL\n- No schema changes during peak traffic\n- No plaintext passwords in DB\n- No TRUNCATE in app code\n</yakaai_skills>"}