oh-my-customcode 0.12.1 → 0.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +8 -11
  2. package/dist/cli/index.js +137 -336
  3. package/dist/index.js +99 -260
  4. package/package.json +2 -4
  5. package/templates/.claude/skills/codex-exec/SKILL.md +123 -0
  6. package/templates/.claude/skills/codex-exec/scripts/codex-wrapper.cjs +413 -0
  7. package/templates/CLAUDE.md.en +1 -0
  8. package/templates/CLAUDE.md.ko +1 -0
  9. package/templates/.codex/agents/arch-documenter.md +0 -33
  10. package/templates/.codex/agents/arch-speckit-agent.md +0 -47
  11. package/templates/.codex/agents/be-express-expert.md +0 -30
  12. package/templates/.codex/agents/be-fastapi-expert.md +0 -43
  13. package/templates/.codex/agents/be-go-backend-expert.md +0 -43
  14. package/templates/.codex/agents/be-nestjs-expert.md +0 -28
  15. package/templates/.codex/agents/be-springboot-expert.md +0 -40
  16. package/templates/.codex/agents/db-postgres-expert.md +0 -36
  17. package/templates/.codex/agents/db-redis-expert.md +0 -36
  18. package/templates/.codex/agents/db-supabase-expert.md +0 -35
  19. package/templates/.codex/agents/de-airflow-expert.md +0 -34
  20. package/templates/.codex/agents/de-dbt-expert.md +0 -34
  21. package/templates/.codex/agents/de-kafka-expert.md +0 -81
  22. package/templates/.codex/agents/de-pipeline-expert.md +0 -32
  23. package/templates/.codex/agents/de-snowflake-expert.md +0 -36
  24. package/templates/.codex/agents/de-spark-expert.md +0 -36
  25. package/templates/.codex/agents/fe-svelte-agent.md +0 -29
  26. package/templates/.codex/agents/fe-vercel-agent.md +0 -37
  27. package/templates/.codex/agents/fe-vuejs-agent.md +0 -30
  28. package/templates/.codex/agents/infra-aws-expert.md +0 -47
  29. package/templates/.codex/agents/infra-docker-expert.md +0 -47
  30. package/templates/.codex/agents/lang-golang-expert.md +0 -43
  31. package/templates/.codex/agents/lang-java21-expert.md +0 -39
  32. package/templates/.codex/agents/lang-kotlin-expert.md +0 -43
  33. package/templates/.codex/agents/lang-python-expert.md +0 -43
  34. package/templates/.codex/agents/lang-rust-expert.md +0 -43
  35. package/templates/.codex/agents/lang-typescript-expert.md +0 -43
  36. package/templates/.codex/agents/mgr-claude-code-bible.md +0 -58
  37. package/templates/.codex/agents/mgr-creator.md +0 -39
  38. package/templates/.codex/agents/mgr-gitnerd.md +0 -45
  39. package/templates/.codex/agents/mgr-sauron.md +0 -161
  40. package/templates/.codex/agents/mgr-supplier.md +0 -35
  41. package/templates/.codex/agents/mgr-sync-checker.md +0 -38
  42. package/templates/.codex/agents/mgr-updater.md +0 -33
  43. package/templates/.codex/agents/qa-engineer.md +0 -32
  44. package/templates/.codex/agents/qa-planner.md +0 -73
  45. package/templates/.codex/agents/qa-writer.md +0 -27
  46. package/templates/.codex/agents/sys-memory-keeper.md +0 -43
  47. package/templates/.codex/agents/sys-naggy.md +0 -37
  48. package/templates/.codex/agents/tool-bun-expert.md +0 -26
  49. package/templates/.codex/agents/tool-npm-expert.md +0 -30
  50. package/templates/.codex/agents/tool-optimizer.md +0 -34
  51. package/templates/.codex/codex-native-hash.txt +0 -1
  52. package/templates/.codex/contexts/dev.md +0 -20
  53. package/templates/.codex/contexts/ecomode.md +0 -63
  54. package/templates/.codex/contexts/index.yaml +0 -41
  55. package/templates/.codex/contexts/research.md +0 -28
  56. package/templates/.codex/contexts/review.md +0 -23
  57. package/templates/.codex/hooks/hooks.json +0 -150
  58. package/templates/.codex/install-hooks.sh +0 -100
  59. package/templates/.codex/rules/MAY-optimization.md +0 -29
  60. package/templates/.codex/rules/MUST-agent-design.md +0 -57
  61. package/templates/.codex/rules/MUST-agent-identification.md +0 -29
  62. package/templates/.codex/rules/MUST-continuous-improvement.md +0 -25
  63. package/templates/.codex/rules/MUST-intent-transparency.md +0 -42
  64. package/templates/.codex/rules/MUST-language-policy.md +0 -27
  65. package/templates/.codex/rules/MUST-orchestrator-coordination.md +0 -128
  66. package/templates/.codex/rules/MUST-parallel-execution.md +0 -97
  67. package/templates/.codex/rules/MUST-permissions.md +0 -30
  68. package/templates/.codex/rules/MUST-safety.md +0 -23
  69. package/templates/.codex/rules/MUST-sync-verification.md +0 -125
  70. package/templates/.codex/rules/MUST-tool-identification.md +0 -82
  71. package/templates/.codex/rules/SHOULD-agent-teams.md +0 -39
  72. package/templates/.codex/rules/SHOULD-ecomode.md +0 -37
  73. package/templates/.codex/rules/SHOULD-error-handling.md +0 -33
  74. package/templates/.codex/rules/SHOULD-hud-statusline.md +0 -32
  75. package/templates/.codex/rules/SHOULD-interaction.md +0 -34
  76. package/templates/.codex/rules/SHOULD-memory-integration.md +0 -39
  77. package/templates/.codex/rules/index.yaml +0 -141
  78. package/templates/.codex/skills/airflow-best-practices/SKILL.md +0 -56
  79. package/templates/.codex/skills/audit-agents/SKILL.md +0 -116
  80. package/templates/.codex/skills/aws-best-practices/SKILL.md +0 -280
  81. package/templates/.codex/skills/claude-code-bible/SKILL.md +0 -100
  82. package/templates/.codex/skills/claude-code-bible/scripts/fetch-docs.js +0 -272
  83. package/templates/.codex/skills/create-agent/SKILL.md +0 -91
  84. package/templates/.codex/skills/dbt-best-practices/SKILL.md +0 -54
  85. package/templates/.codex/skills/de-lead-routing/SKILL.md +0 -243
  86. package/templates/.codex/skills/dev-lead-routing/SKILL.md +0 -94
  87. package/templates/.codex/skills/dev-refactor/SKILL.md +0 -123
  88. package/templates/.codex/skills/dev-review/SKILL.md +0 -81
  89. package/templates/.codex/skills/docker-best-practices/SKILL.md +0 -275
  90. package/templates/.codex/skills/fastapi-best-practices/SKILL.md +0 -270
  91. package/templates/.codex/skills/fix-refs/SKILL.md +0 -107
  92. package/templates/.codex/skills/go-backend-best-practices/SKILL.md +0 -338
  93. package/templates/.codex/skills/go-best-practices/SKILL.md +0 -203
  94. package/templates/.codex/skills/help/SKILL.md +0 -125
  95. package/templates/.codex/skills/intent-detection/SKILL.md +0 -215
  96. package/templates/.codex/skills/intent-detection/patterns/agent-triggers.yaml +0 -349
  97. package/templates/.codex/skills/kafka-best-practices/SKILL.md +0 -52
  98. package/templates/.codex/skills/kotlin-best-practices/SKILL.md +0 -256
  99. package/templates/.codex/skills/lists/SKILL.md +0 -78
  100. package/templates/.codex/skills/memory-management/SKILL.md +0 -195
  101. package/templates/.codex/skills/memory-recall/SKILL.md +0 -152
  102. package/templates/.codex/skills/memory-save/SKILL.md +0 -126
  103. package/templates/.codex/skills/monitoring-setup/SKILL.md +0 -115
  104. package/templates/.codex/skills/npm-audit/SKILL.md +0 -72
  105. package/templates/.codex/skills/npm-publish/SKILL.md +0 -63
  106. package/templates/.codex/skills/npm-version/SKILL.md +0 -75
  107. package/templates/.codex/skills/optimize-analyze/SKILL.md +0 -55
  108. package/templates/.codex/skills/optimize-bundle/SKILL.md +0 -67
  109. package/templates/.codex/skills/optimize-report/SKILL.md +0 -74
  110. package/templates/.codex/skills/pipeline-architecture-patterns/SKILL.md +0 -83
  111. package/templates/.codex/skills/postgres-best-practices/SKILL.md +0 -66
  112. package/templates/.codex/skills/python-best-practices/SKILL.md +0 -222
  113. package/templates/.codex/skills/qa-lead-routing/SKILL.md +0 -290
  114. package/templates/.codex/skills/react-best-practices/SKILL.md +0 -101
  115. package/templates/.codex/skills/redis-best-practices/SKILL.md +0 -83
  116. package/templates/.codex/skills/result-aggregation/SKILL.md +0 -164
  117. package/templates/.codex/skills/rust-best-practices/SKILL.md +0 -267
  118. package/templates/.codex/skills/sauron-watch/SKILL.md +0 -144
  119. package/templates/.codex/skills/secretary-routing/SKILL.md +0 -203
  120. package/templates/.codex/skills/snowflake-best-practices/SKILL.md +0 -65
  121. package/templates/.codex/skills/spark-best-practices/SKILL.md +0 -52
  122. package/templates/.codex/skills/springboot-best-practices/SKILL.md +0 -218
  123. package/templates/.codex/skills/status/SKILL.md +0 -153
  124. package/templates/.codex/skills/supabase-postgres-best-practices/SKILL.md +0 -99
  125. package/templates/.codex/skills/typescript-best-practices/SKILL.md +0 -321
  126. package/templates/.codex/skills/update-docs/SKILL.md +0 -140
  127. package/templates/.codex/skills/update-external/SKILL.md +0 -149
  128. package/templates/.codex/skills/vercel-deploy/SKILL.md +0 -73
  129. package/templates/.codex/skills/web-design-guidelines/SKILL.md +0 -118
  130. package/templates/.codex/skills/writing-clearly-and-concisely/SKILL.md +0 -64
  131. package/templates/.codex/uninstall-hooks.sh +0 -52
  132. package/templates/AGENTS.md.en +0 -39
  133. package/templates/AGENTS.md.ko +0 -39
  134. package/templates/manifest.codex.json +0 -43
@@ -1,72 +0,0 @@
1
- ---
2
- name: npm-audit
3
- description: Audit npm dependencies for security and updates
4
- argument-hint: "[--fix] [--production]"
5
- ---
6
-
7
- # NPM Audit Skill
8
-
9
- Audit npm dependencies for security vulnerabilities and outdated packages.
10
-
11
- ## Options
12
-
13
- ```
14
- --fix Automatically fix vulnerabilities where possible
15
- --production Only audit production dependencies
16
- --json Output in JSON format
17
- ```
18
-
19
- ## Workflow
20
-
21
- ```
22
- 1. Run npm audit for security vulnerabilities
23
- 2. Analyze vulnerability severity
24
- 3. Check for outdated dependencies
25
- 4. Generate health report
26
- 5. Suggest remediation steps
27
- ```
28
-
29
- ## Output Format
30
-
31
- ### Success
32
- ```
33
- [NPM Audit] package-name
34
-
35
- Security:
36
- Critical: 0
37
- High: 0
38
- Moderate: 2
39
- Low: 1
40
-
41
- Outdated:
42
- Major updates: 3
43
- Minor updates: 5
44
- Patch updates: 12
45
-
46
- Status: Needs attention (2 moderate vulnerabilities)
47
-
48
- Recommendations:
49
- 1. npm update lodash
50
- 2. npm update axios
51
- ```
52
-
53
- ### Failure
54
- ```
55
- [NPM Audit] Failed
56
-
57
- Error: {error_message}
58
- Hint: Ensure package-lock.json exists
59
- ```
60
-
61
- ## Examples
62
-
63
- ```bash
64
- # Full dependency audit with report
65
- npm-audit
66
-
67
- # Audit and fix vulnerabilities
68
- npm-audit --fix
69
-
70
- # Audit only production dependencies
71
- npm-audit --production
72
- ```
@@ -1,63 +0,0 @@
1
- ---
2
- name: npm-publish
3
- description: Publish package to npm registry with pre-checks
4
- argument-hint: "[--tag <tag>] [--dry-run]"
5
- disable-model-invocation: true
6
- ---
7
-
8
- # NPM Publish Skill
9
-
10
- Publish package to npm registry with comprehensive pre-publish checks and validation.
11
-
12
- ## Options
13
-
14
- ```
15
- --tag npm dist-tag (default: latest)
16
- --dry-run Run all checks without publishing
17
- --skip-tests Skip test execution
18
- ```
19
-
20
- ## Workflow
21
-
22
- ```
23
- 1. Validate package.json configuration
24
- 2. Check version against registry
25
- 3. Run pre-publish checks (tests, lint, build)
26
- 4. Execute npm pack (dry-run)
27
- 5. Publish with appropriate tag
28
- 6. Verify publication success
29
- ```
30
-
31
- ## Output Format
32
-
33
- ### Success
34
- ```
35
- [NPM Publish] package-name@1.2.3
36
-
37
- Pre-checks: All passed
38
- Registry: https://registry.npmjs.org
39
- Tag: latest
40
-
41
- Package published successfully.
42
- ```
43
-
44
- ### Failure
45
- ```
46
- [NPM Publish] Failed
47
-
48
- Error: {error_message}
49
- Suggested fix: {fix_suggestion}
50
- ```
51
-
52
- ## Examples
53
-
54
- ```bash
55
- # Publish to npm with all checks
56
- npm-publish
57
-
58
- # Publish to beta tag
59
- npm-publish --tag beta
60
-
61
- # Validate without publishing
62
- npm-publish --dry-run
63
- ```
@@ -1,75 +0,0 @@
1
- ---
2
- name: npm-version
3
- description: Manage semantic versions for npm packages
4
- argument-hint: "<major|minor|patch> [--no-tag] [--no-commit]"
5
- disable-model-invocation: true
6
- ---
7
-
8
- # NPM Version Management Skill
9
-
10
- Manage semantic versions for npm packages with automatic changelog and git integration.
11
-
12
- ## Arguments
13
-
14
- ```
15
- major Bump major version (x.0.0)
16
- minor Bump minor version (0.x.0)
17
- patch Bump patch version (0.0.x)
18
- ```
19
-
20
- ## Options
21
-
22
- ```
23
- --no-tag Skip git tag creation
24
- --no-commit Skip commit creation (only update files)
25
- ```
26
-
27
- ## Workflow
28
-
29
- ```
30
- 1. Analyze current version from package.json
31
- 2. Determine version bump type
32
- 3. Update package.json version field
33
- 4. Update CHANGELOG.md if exists
34
- 5. Create version commit
35
- 6. Create git tag (optional)
36
- ```
37
-
38
- ## Output Format
39
-
40
- ### Success
41
- ```
42
- [NPM Version] package-name
43
-
44
- Previous: 1.2.3
45
- Current: 1.2.4
46
-
47
- Changes:
48
- - package.json updated
49
- - Commit: "chore: bump version to 1.2.4"
50
- - Tag: v1.2.4
51
- ```
52
-
53
- ### Failure
54
- ```
55
- [NPM Version] Failed
56
-
57
- Error: {error_message}
58
- Hint: Ensure clean git working directory
59
- ```
60
-
61
- ## Examples
62
-
63
- ```bash
64
- # Bump patch version (1.2.3 -> 1.2.4)
65
- npm-version patch
66
-
67
- # Bump minor version (1.2.3 -> 1.3.0)
68
- npm-version minor
69
-
70
- # Bump major version (1.2.3 -> 2.0.0)
71
- npm-version major
72
-
73
- # Update version without creating git tag
74
- npm-version patch --no-tag
75
- ```
@@ -1,55 +0,0 @@
1
- ---
2
- name: optimize-analyze
3
- description: Analyze bundle size and performance metrics
4
- argument-hint: "[target] [--verbose]"
5
- ---
6
-
7
- # Bundle Analysis Skill
8
-
9
- Analyze bundle size and performance metrics for web applications.
10
-
11
- ## Arguments
12
-
13
- ```
14
- target Build output path or project root (optional, auto-detects)
15
- ```
16
-
17
- ## Options
18
-
19
- ```
20
- --verbose, -v Show detailed analysis
21
- ```
22
-
23
- ## Workflow
24
-
25
- ```
26
- 1. Identify build tool (webpack, vite, rollup, esbuild)
27
- 2. Locate build output
28
- 3. Analyze bundle composition
29
- 4. Calculate size metrics
30
- 5. Identify large dependencies
31
- 6. Detect unused code/exports
32
- 7. Generate analysis report
33
- ```
34
-
35
- ## Output
36
-
37
- - Total bundle size
38
- - Size breakdown by chunk/module
39
- - Top dependencies by size
40
- - Tree-shaking status
41
- - Dead code detection
42
- - Optimization recommendations
43
-
44
- ## Examples
45
-
46
- ```bash
47
- # Analyze current project
48
- optimize-analyze
49
-
50
- # Analyze specific output directory
51
- optimize-analyze ./dist
52
-
53
- # Verbose analysis
54
- optimize-analyze --verbose
55
- ```
@@ -1,67 +0,0 @@
1
- ---
2
- name: optimize-bundle
3
- description: Apply bundle size optimizations
4
- argument-hint: "[--dry-run] [--safe]"
5
- disable-model-invocation: true
6
- ---
7
-
8
- # Bundle Optimization Skill
9
-
10
- Apply bundle size optimizations to reduce build output and improve performance.
11
-
12
- ## Options
13
-
14
- ```
15
- --dry-run Show what would be changed without applying
16
- --safe Only apply safe, reversible optimizations
17
- ```
18
-
19
- ## Workflow
20
-
21
- ```
22
- 1. Run full bundle analysis
23
- 2. Identify optimization opportunities
24
- 3. Prioritize by impact and risk
25
- 4. Apply recommended changes (or show dry-run)
26
- 5. Rebuild if changes applied
27
- 6. Verify improvements
28
- 7. Report before/after metrics
29
- ```
30
-
31
- ## Optimization Levels
32
-
33
- ### Safe
34
- - Configure code splitting
35
- - Enable tree-shaking for ESM
36
- - Add terser/minification
37
- - Configure chunk optimization
38
-
39
- ### Moderate
40
- - Replace heavy dependencies with lighter alternatives
41
- - Add dynamic imports for routes
42
- - Configure asset optimization
43
-
44
- ### Aggressive
45
- - Remove unused dependencies
46
- - Inline small modules
47
- - Configure aggressive minification
48
-
49
- ## Output
50
-
51
- - Applied changes list
52
- - Before/after size comparison
53
- - Build time comparison
54
- - Risk assessment for each change
55
-
56
- ## Examples
57
-
58
- ```bash
59
- # Apply all safe optimizations
60
- optimize-bundle
61
-
62
- # Preview changes without applying
63
- optimize-bundle --dry-run
64
-
65
- # Only apply safe optimizations
66
- optimize-bundle --safe
67
- ```
@@ -1,74 +0,0 @@
1
- ---
2
- name: optimize-report
3
- description: Generate comprehensive optimization report
4
- argument-hint: "[--baseline <file>] [--format <format>]"
5
- ---
6
-
7
- # Optimization Report Skill
8
-
9
- Generate comprehensive optimization report with analysis, metrics, and recommendations.
10
-
11
- ## Options
12
-
13
- ```
14
- --baseline Compare against previous report
15
- --format Output format (text, json, markdown)
16
- Default: text
17
- ```
18
-
19
- ## Workflow
20
-
21
- ```
22
- 1. Run full analysis
23
- 2. Collect all metrics
24
- 3. Compare against baseline (if provided)
25
- 4. Calculate performance scores
26
- 5. Generate recommendations
27
- 6. Format report
28
- ```
29
-
30
- ## Report Sections
31
-
32
- ### Bundle Analysis
33
- - Total size (raw and gzipped)
34
- - Chunk breakdown
35
- - Dependency tree
36
-
37
- ### Performance Metrics
38
- - Estimated load times
39
- - Core Web Vitals impact
40
- - Build performance
41
-
42
- ### Code Quality
43
- - Tree-shaking effectiveness
44
- - Dead code percentage
45
- - Duplicate code detection
46
-
47
- ### Recommendations
48
- - High impact optimizations
49
- - Quick wins
50
- - Long-term improvements
51
-
52
- ### Comparison (if baseline)
53
- - Size delta
54
- - Performance delta
55
- - Trend analysis
56
-
57
- ## Output
58
-
59
- - Formatted report in requested format
60
- - Performance grade (A-F)
61
- - Priority action items
62
-
63
- ## Examples
64
-
65
- ```bash
66
- # Generate current report
67
- optimize-report
68
-
69
- # Compare against previous report
70
- optimize-report --baseline ./previous-report.json
71
-
72
- # Generate markdown report
73
- optimize-report --format markdown
74
- ```
@@ -1,83 +0,0 @@
1
- ---
2
- name: pipeline-architecture-patterns
3
- description: Data pipeline architecture patterns for ETL/ELT design, orchestration, and data quality frameworks
4
- user-invocable: false
5
- ---
6
-
7
- # Data Pipeline Architecture Patterns
8
-
9
- ## Pipeline Architectures
10
-
11
- ### ETL vs ELT (CRITICAL)
12
- - **ETL**: Extract → Transform (staging) → Load
13
- - Traditional, on-premise data warehouses
14
- - Pre-aggregation, complex transformations
15
- - **ELT**: Extract → Load (raw) → Transform (in warehouse)
16
- - Cloud warehouses (Snowflake, BigQuery)
17
- - Leverage warehouse compute power
18
-
19
- ### Lambda Architecture
20
- - Batch layer: historical data processing
21
- - Speed layer: real-time stream processing
22
- - Serving layer: merge batch + real-time views
23
- - Complexity: maintain two codebases
24
-
25
- ### Kappa Architecture
26
- - Stream-only processing
27
- - Single codebase for batch + real-time
28
- - Reprocessing via replay
29
- - Simpler than Lambda
30
-
31
- ### Medallion Architecture
32
- - **Bronze**: Raw data (append-only)
33
- - **Silver**: Cleaned, conformed data
34
- - **Gold**: Business-level aggregations
35
- - Databricks pattern
36
-
37
- ## Orchestration Patterns
38
-
39
- ### DAG-Based Orchestration
40
- - Airflow, Prefect, Dagster
41
- - Task dependencies as DAG
42
- - Retries, backfills, scheduling
43
-
44
- ### Event-Driven Orchestration
45
- - Kafka, Pub/Sub triggers
46
- - Real-time, low-latency
47
- - Decoupled producers/consumers
48
-
49
- ### Hybrid Orchestration
50
- - Scheduled batch + event-driven streams
51
- - Example: Airflow DAG triggered by Kafka event
52
-
53
- ## Data Quality Frameworks
54
-
55
- ### Data Contracts (CRITICAL)
56
- - Define schema, freshness, volume expectations
57
- - Producer-consumer agreement
58
- - Break build on violation
59
-
60
- ### Validation Frameworks
61
- - **Great Expectations**: Python-based expectations
62
- - **dbt tests**: SQL-based tests
63
- - **Soda**: YAML-based checks
64
-
65
- ### Data Lineage
66
- - Track data origin and transformations
67
- - Debug data quality issues
68
- - Compliance and auditing
69
-
70
- ## Idempotency Patterns
71
-
72
- ### Idempotent Design (CRITICAL)
73
- - Same input → same output (no side effects)
74
- - Upserts instead of inserts
75
- - Partition replacement instead of append
76
-
77
- ### Deduplication
78
- - Use unique keys
79
- - Window-based deduplication
80
- - Consumer group offset management
81
-
82
- ## References
83
- - [Data Engineering Design Patterns](https://www.oreilly.com/library/view/data-engineering-design/9781098130725/)
@@ -1,66 +0,0 @@
1
- ---
2
- name: postgres-best-practices
3
- description: PostgreSQL best practices for database design, query optimization, and performance tuning
4
- user-invocable: false
5
- ---
6
-
7
- # PostgreSQL Best Practices
8
-
9
- ## Query Optimization
10
-
11
- ### EXPLAIN ANALYZE (CRITICAL)
12
- - Use `EXPLAIN ANALYZE` to understand query plans
13
- - Identify slow operations: Seq Scan, Nested Loop
14
- - Check row estimates vs actual rows
15
- - Monitor buffers: shared hit vs read
16
-
17
- ### Indexing (CRITICAL)
18
- - B-tree: default, most use cases
19
- - GIN: JSONB, arrays, full-text search
20
- - GiST: geometry, range types
21
- - BRIN: large sequential tables (time-series)
22
- - Partial indexes: filtered queries
23
- - Covering indexes (INCLUDE): avoid heap fetches
24
-
25
- ### Index Maintenance
26
- - Create indexes concurrently: `CREATE INDEX CONCURRENTLY`
27
- - Monitor usage: `pg_stat_user_indexes`
28
- - Remove unused indexes
29
- - Reindex bloated indexes
30
-
31
- ## Table Design
32
-
33
- ### Partitioning (HIGH)
34
- - Range partitioning: time-series data
35
- - List partitioning: categorical data
36
- - Hash partitioning: even distribution
37
- - Declarative partitioning (PG 10+)
38
-
39
- ### Data Types
40
- - Use appropriate types (int vs bigint, varchar vs text)
41
- - JSONB for semi-structured data
42
- - Arrays for multi-value columns
43
- - UUIDs for distributed IDs
44
-
45
- ## Performance Tuning
46
-
47
- ### Vacuum and Autovacuum
48
- - Autovacuum: default enabled
49
- - Monitor bloat: `pg_stat_user_tables`
50
- - Tune autovacuum thresholds
51
- - Manual VACUUM for large updates
52
-
53
- ### Connection Pooling
54
- - Use pgBouncer or PgPool
55
- - Transaction pooling for short transactions
56
- - Session pooling for long transactions
57
- - Max connections: tune based on workload
58
-
59
- ### Configuration
60
- - `shared_buffers`: 25% of RAM
61
- - `work_mem`: per operation, tune carefully
62
- - `effective_cache_size`: 50-75% of RAM
63
- - `random_page_cost`: 1.1 for SSD
64
-
65
- ## References
66
- - [PostgreSQL Performance Optimization](https://wiki.postgresql.org/wiki/Performance_Optimization)