superkit-mcp-server 1.2.4 → 1.2.5

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 (161) hide show
  1. package/ARCHITECTURE.md +102 -102
  2. package/README.md +71 -71
  3. package/SUPERKIT.md +168 -168
  4. package/agents/code-archaeologist.md +106 -106
  5. package/agents/coder.md +90 -90
  6. package/agents/data-engineer.md +28 -28
  7. package/agents/devops-engineer.md +242 -242
  8. package/agents/git-manager.md +203 -203
  9. package/agents/orchestrator.md +420 -420
  10. package/agents/penetration-tester.md +188 -188
  11. package/agents/performance-optimizer.md +187 -187
  12. package/agents/planner.md +270 -270
  13. package/agents/qa-automation-engineer.md +103 -103
  14. package/agents/quant-developer.md +32 -32
  15. package/agents/reviewer.md +100 -100
  16. package/agents/scout.md +222 -222
  17. package/agents/tester.md +274 -274
  18. package/agents/ui-designer.md +208 -208
  19. package/build/index.js +88 -45
  20. package/build/tools/todoTools.js +39 -39
  21. package/build/tools/validators/__tests__/apiSchema.test.js +23 -23
  22. package/build/tools/validators/__tests__/convertRules.test.js +5 -5
  23. package/build/tools/validators/__tests__/frontendDesign.test.js +12 -12
  24. package/build/tools/validators/__tests__/geoChecker.test.js +19 -19
  25. package/build/tools/validators/__tests__/mobileAudit.test.js +12 -12
  26. package/build/tools/validators/__tests__/reactPerformanceChecker.test.js +17 -17
  27. package/build/tools/validators/__tests__/securityScan.test.js +6 -6
  28. package/build/tools/validators/__tests__/seoChecker.test.js +16 -16
  29. package/build/tools/validators/__tests__/typeCoverage.test.js +14 -14
  30. package/commands/README.md +122 -122
  31. package/commands/ask.toml +72 -72
  32. package/commands/brainstorm.toml +119 -119
  33. package/commands/chat.toml +77 -77
  34. package/commands/code-preview.toml +37 -37
  35. package/commands/code.toml +28 -28
  36. package/commands/content.toml +200 -200
  37. package/commands/cook.toml +77 -77
  38. package/commands/copywrite.toml +131 -131
  39. package/commands/db.toml +192 -192
  40. package/commands/debug.toml +166 -166
  41. package/commands/design.toml +158 -158
  42. package/commands/dev-rules.toml +14 -14
  43. package/commands/do.toml +117 -117
  44. package/commands/doc-rules.toml +14 -14
  45. package/commands/docs.toml +148 -148
  46. package/commands/fix.toml +440 -440
  47. package/commands/fullstack.toml +175 -175
  48. package/commands/git.toml +235 -235
  49. package/commands/help.toml +84 -84
  50. package/commands/integrate.toml +127 -127
  51. package/commands/journal.toml +136 -136
  52. package/commands/kit-setup.toml +40 -40
  53. package/commands/mcp.toml +183 -183
  54. package/commands/orchestration.toml +15 -15
  55. package/commands/plan.toml +206 -172
  56. package/commands/pm.toml +148 -148
  57. package/commands/pr.toml +50 -50
  58. package/commands/project.toml +32 -32
  59. package/commands/research.toml +117 -117
  60. package/commands/review-pr.toml +63 -63
  61. package/commands/review.toml +190 -190
  62. package/commands/scout-ext.toml +97 -97
  63. package/commands/scout.toml +79 -79
  64. package/commands/screenshot.toml +65 -65
  65. package/commands/session.toml +102 -102
  66. package/commands/skill.toml +384 -384
  67. package/commands/status.toml +22 -22
  68. package/commands/team.toml +56 -56
  69. package/commands/test.toml +164 -164
  70. package/commands/ticket.toml +70 -70
  71. package/commands/use.toml +106 -106
  72. package/commands/video.toml +83 -83
  73. package/commands/watzup.toml +71 -71
  74. package/commands/workflow.toml +14 -14
  75. package/package.json +35 -35
  76. package/skills/meta/README.md +30 -30
  77. package/skills/meta/api-design/SKILL.md +134 -134
  78. package/skills/meta/code-review/SKILL.md +44 -44
  79. package/skills/meta/code-review/checklists/pre-merge.md +25 -25
  80. package/skills/meta/code-review/workflows/architecture-pass.md +26 -26
  81. package/skills/meta/code-review/workflows/performance-pass.md +27 -27
  82. package/skills/meta/code-review/workflows/security-pass.md +29 -29
  83. package/skills/meta/compound-docs/SKILL.md +133 -133
  84. package/skills/meta/debug/SKILL.md +40 -40
  85. package/skills/meta/debug/templates/bug-report.template.md +31 -31
  86. package/skills/meta/debug/workflows/reproduce-issue.md +20 -20
  87. package/skills/meta/docker/SKILL.md +126 -126
  88. package/skills/meta/examples/supabase/SKILL.md +46 -46
  89. package/skills/meta/examples/supabase/references/best-practices.md +319 -319
  90. package/skills/meta/examples/supabase/references/common-patterns.md +373 -373
  91. package/skills/meta/examples/supabase/templates/migration-template.sql +49 -49
  92. package/skills/meta/examples/supabase/templates/rls-policy-template.sql +77 -77
  93. package/skills/meta/examples/supabase/workflows/debugging.md +260 -260
  94. package/skills/meta/examples/supabase/workflows/migration-workflow.md +211 -211
  95. package/skills/meta/examples/supabase/workflows/rls-policies.md +244 -244
  96. package/skills/meta/examples/supabase/workflows/schema-design.md +321 -321
  97. package/skills/meta/file-todos/SKILL.md +88 -88
  98. package/skills/meta/mobile/SKILL.md +140 -140
  99. package/skills/meta/nextjs/SKILL.md +101 -101
  100. package/skills/meta/performance/SKILL.md +130 -130
  101. package/skills/meta/react-patterns/SKILL.md +83 -83
  102. package/skills/meta/security/SKILL.md +114 -114
  103. package/skills/meta/session-resume/SKILL.md +96 -96
  104. package/skills/meta/tailwind/SKILL.md +139 -139
  105. package/skills/meta/testing/SKILL.md +43 -43
  106. package/skills/meta/testing/references/vitest-patterns.md +45 -45
  107. package/skills/meta/testing/templates/component-test.template.tsx +37 -37
  108. package/skills/tech/alpha-vantage/SKILL.md +142 -142
  109. package/skills/tech/alpha-vantage/references/commodities.md +153 -153
  110. package/skills/tech/alpha-vantage/references/economic-indicators.md +158 -158
  111. package/skills/tech/alpha-vantage/references/forex-crypto.md +154 -154
  112. package/skills/tech/alpha-vantage/references/fundamentals.md +223 -223
  113. package/skills/tech/alpha-vantage/references/intelligence.md +138 -138
  114. package/skills/tech/alpha-vantage/references/options.md +93 -93
  115. package/skills/tech/alpha-vantage/references/technical-indicators.md +374 -374
  116. package/skills/tech/alpha-vantage/references/time-series.md +157 -157
  117. package/skills/tech/financial-modeling/SKILL.md +18 -18
  118. package/skills/tech/financial-modeling/skills/3-statements/SKILL.md +368 -368
  119. package/skills/tech/financial-modeling/skills/3-statements/references/formatting.md +118 -118
  120. package/skills/tech/financial-modeling/skills/3-statements/references/formulas.md +292 -292
  121. package/skills/tech/financial-modeling/skills/3-statements/references/sec-filings.md +125 -125
  122. package/skills/tech/financial-modeling/skills/dcf-model/SKILL.md +1210 -1210
  123. package/skills/tech/financial-modeling/skills/dcf-model/TROUBLESHOOTING.md +40 -40
  124. package/skills/tech/financial-modeling/skills/dcf-model/requirements.txt +8 -8
  125. package/skills/tech/financial-modeling/skills/dcf-model/scripts/validate_dcf.py +292 -292
  126. package/skills/tech/financial-modeling/skills/lbo-model/SKILL.md +236 -236
  127. package/skills/tech/financial-modeling/skills/merger-model/SKILL.md +108 -108
  128. package/skills/workflows/README.md +203 -203
  129. package/skills/workflows/adr.md +174 -174
  130. package/skills/workflows/changelog.md +74 -74
  131. package/skills/workflows/compound.md +323 -323
  132. package/skills/workflows/compound_health.md +74 -74
  133. package/skills/workflows/create-agent-skill.md +138 -138
  134. package/skills/workflows/cycle.md +144 -144
  135. package/skills/workflows/deploy-docs.md +84 -84
  136. package/skills/workflows/development-rules.md +42 -42
  137. package/skills/workflows/doc.md +95 -95
  138. package/skills/workflows/documentation-management.md +34 -34
  139. package/skills/workflows/explore.md +146 -146
  140. package/skills/workflows/generate_command.md +106 -106
  141. package/skills/workflows/heal-skill.md +97 -97
  142. package/skills/workflows/housekeeping.md +229 -229
  143. package/skills/workflows/kit-setup.md +102 -102
  144. package/skills/workflows/map-codebase.md +78 -78
  145. package/skills/workflows/orchestration-protocol.md +43 -43
  146. package/skills/workflows/plan-compound.md +439 -439
  147. package/skills/workflows/plan_review.md +269 -269
  148. package/skills/workflows/primary-workflow.md +37 -37
  149. package/skills/workflows/promote_pattern.md +86 -86
  150. package/skills/workflows/release-docs.md +82 -82
  151. package/skills/workflows/report-bug.md +135 -135
  152. package/skills/workflows/reproduce-bug.md +118 -118
  153. package/skills/workflows/resolve_pr.md +133 -133
  154. package/skills/workflows/resolve_todo.md +128 -128
  155. package/skills/workflows/review-compound.md +376 -376
  156. package/skills/workflows/skill-review.md +127 -127
  157. package/skills/workflows/specs.md +257 -257
  158. package/skills/workflows/triage-sprint.md +102 -102
  159. package/skills/workflows/triage.md +152 -152
  160. package/skills/workflows/work.md +399 -399
  161. package/skills/workflows/xcode-test.md +93 -93
@@ -1,223 +1,223 @@
1
- # Fundamental Data APIs
2
-
3
- ## OVERVIEW — Company Overview
4
-
5
- Returns key company information, valuation metrics, and financial ratios.
6
-
7
- **Required:** `symbol`
8
-
9
- ```python
10
- data = av_get("OVERVIEW", symbol="AAPL")
11
-
12
- # Key fields returned:
13
- # "Symbol", "AssetType", "Name", "Description", "Exchange", "Currency"
14
- # "Country", "Sector", "Industry", "Address"
15
- # "MarketCapitalization", "EBITDA", "PERatio", "PEGRatio"
16
- # "BookValue", "DividendPerShare", "DividendYield", "EPS"
17
- # "RevenuePerShareTTM", "ProfitMargin", "OperatingMarginTTM"
18
- # "ReturnOnAssetsTTM", "ReturnOnEquityTTM"
19
- # "RevenueTTM", "GrossProfitTTM", "DilutedEPSTTM"
20
- # "QuarterlyEarningsGrowthYOY", "QuarterlyRevenueGrowthYOY"
21
- # "AnalystTargetPrice", "AnalystRatingStrongBuy", "AnalystRatingBuy",
22
- # "AnalystRatingHold", "AnalystRatingSell", "AnalystRatingStrongSell"
23
- # "TrailingPE", "ForwardPE", "PriceToSalesRatioTTM"
24
- # "PriceToBookRatio", "EVToRevenue", "EVToEBITDA"
25
- # "Beta", "52WeekHigh", "52WeekLow", "50DayMovingAverage", "200DayMovingAverage"
26
- # "SharesOutstanding", "DividendDate", "ExDividendDate", "FiscalYearEnd"
27
-
28
- print(data["MarketCapitalization"]) # "2850000000000"
29
- print(data["PERatio"]) # "29.50"
30
- print(data["Sector"]) # "TECHNOLOGY"
31
- ```
32
-
33
- ## ETF_PROFILE — ETF Profile & Holdings
34
-
35
- **Required:** `symbol`
36
-
37
- ```python
38
- data = av_get("ETF_PROFILE", symbol="QQQ")
39
- # Fields: "net_assets", "nav", "inception_date", "description",
40
- # "asset_allocation" (stocks/bonds/cash/etc.)
41
- # "sectors" (list of sector weights)
42
- # "holdings" (top holdings list)
43
- for h in data["holdings"][:5]:
44
- print(h["symbol"], h["description"], h["weight"])
45
- ```
46
-
47
- ## DIVIDENDS — Corporate Dividend History
48
-
49
- **Required:** `symbol`
50
-
51
- ```python
52
- data = av_get("DIVIDENDS", symbol="IBM")
53
- divs = data["data"]
54
- for d in divs:
55
- print(d["ex_dividend_date"], d["amount"])
56
- # Fields per record: "ex_dividend_date", "declaration_date",
57
- # "record_date", "payment_date", "amount"
58
- ```
59
-
60
- ## SPLITS — Stock Split History
61
-
62
- **Required:** `symbol`
63
-
64
- ```python
65
- data = av_get("SPLITS", symbol="AAPL")
66
- splits = data["data"]
67
- for s in splits:
68
- print(s["effective_date"], s["split_factor"])
69
- # Fields: "effective_date", "split_factor" (e.g., "4/1" for 4-for-1 split)
70
- ```
71
-
72
- ## INCOME_STATEMENT — Income Statement
73
-
74
- Returns annual and quarterly income statements.
75
-
76
- **Required:** `symbol`
77
-
78
- ```python
79
- data = av_get("INCOME_STATEMENT", symbol="IBM")
80
- annual = data["annualReports"] # list, most recent first
81
- quarterly = data["quarterlyReports"] # list, most recent first
82
-
83
- yr = annual[0] # Most recent fiscal year
84
- print(yr["fiscalDateEnding"]) # "2023-12-31"
85
- print(yr["totalRevenue"]) # "61860000000"
86
- print(yr["grossProfit"]) # "32688000000"
87
- print(yr["operatingIncome"]) # "..."
88
- print(yr["netIncome"]) # "..."
89
- print(yr["ebitda"]) # "..."
90
- # Other keys: "reportedCurrency", "costOfRevenue", "costofGoodsAndServicesSold",
91
- # "sellingGeneralAndAdministrative", "researchAndDevelopment",
92
- # "operatingExpenses", "investmentIncomeNet", "netInterestIncome",
93
- # "interestIncome", "interestExpense", "nonInterestIncome",
94
- # "otherNonOperatingIncome", "depreciation",
95
- # "depreciationAndAmortization", "incomeBeforeTax",
96
- # "incomeTaxExpense", "interestAndDebtExpense",
97
- # "netIncomeFromContinuingOperations", "comprehensiveIncomeNetOfTax",
98
- # "ebit", "dilutedEPS", "basicEPS"
99
- ```
100
-
101
- ## BALANCE_SHEET — Balance Sheet
102
-
103
- **Required:** `symbol`
104
-
105
- ```python
106
- data = av_get("BALANCE_SHEET", symbol="IBM")
107
- annual = data["annualReports"]
108
-
109
- yr = annual[0]
110
- print(yr["totalAssets"]) # "..."
111
- print(yr["totalLiabilities"]) # "..."
112
- print(yr["totalShareholderEquity"]) # "..."
113
- # Other keys: "reportedCurrency", "fiscalDateEnding",
114
- # "cashAndCashEquivalentsAtCarryingValue", "cashAndShortTermInvestments",
115
- # "inventory", "currentNetReceivables", "totalCurrentAssets",
116
- # "propertyPlantEquipmentNet", "intangibleAssets",
117
- # "intangibleAssetsExcludingGoodwill", "goodwill", "investments",
118
- # "longTermInvestments", "shortTermInvestments", "otherCurrentAssets",
119
- # "otherNonCurrrentAssets", "currentAccountsPayable", "deferredRevenue",
120
- # "currentDebt", "shortTermDebt", "totalCurrentLiabilities",
121
- # "capitalLeaseObligations", "longTermDebt", "currentLongTermDebt",
122
- # "longTermDebtNoncurrent", "shortLongTermDebtTotal",
123
- # "otherCurrentLiabilities", "otherNonCurrentLiabilities",
124
- # "totalNonCurrentLiabilities", "retainedEarnings",
125
- # "additionalPaidInCapital", "commonStockSharesOutstanding"
126
- ```
127
-
128
- ## CASH_FLOW — Cash Flow Statement
129
-
130
- **Required:** `symbol`
131
-
132
- ```python
133
- data = av_get("CASH_FLOW", symbol="IBM")
134
- annual = data["annualReports"]
135
-
136
- yr = annual[0]
137
- print(yr["operatingCashflow"]) # "..."
138
- print(yr["capitalExpenditures"]) # "..."
139
- print(yr["cashflowFromInvestment"]) # "..."
140
- print(yr["cashflowFromFinancing"]) # "..."
141
- # Other keys: "reportedCurrency", "fiscalDateEnding",
142
- # "paymentsForRepurchaseOfCommonStock", "dividendPayout",
143
- # "dividendPayoutCommonStock", "dividendPayoutPreferredStock",
144
- # "proceedsFromIssuanceOfCommonStock", "changeInOperatingLiabilities",
145
- # "changeInOperatingAssets", "depreciationDepletionAndAmortization",
146
- # "capitalExpenditures", "changeInReceivables", "changeInInventory",
147
- # "profitLoss", "netIncomeFromContinuingOperations"
148
- ```
149
-
150
- ## SHARES_OUTSTANDING — Shares Outstanding History
151
-
152
- **Required:** `symbol`
153
-
154
- ```python
155
- data = av_get("SHARES_OUTSTANDING", symbol="AAPL")
156
- shares = data["data"]
157
- for s in shares[:5]:
158
- print(s["date"], s["reportedShares"])
159
- ```
160
-
161
- ## EARNINGS — Earnings History (EPS)
162
-
163
- Returns annual and quarterly EPS + surprise data.
164
-
165
- **Required:** `symbol`
166
-
167
- ```python
168
- data = av_get("EARNINGS", symbol="IBM")
169
- annual = data["annualEarnings"]
170
- quarterly = data["quarterlyEarnings"]
171
-
172
- # Annual: "fiscalDateEnding", "reportedEPS"
173
- # Quarterly: "fiscalDateEnding", "reportedDate", "reportedEPS",
174
- # "estimatedEPS", "surprise", "surprisePercentage"
175
- q = quarterly[0]
176
- print(q["reportedEPS"], q["estimatedEPS"], q["surprisePercentage"])
177
- ```
178
-
179
- ## EARNINGS_CALENDAR — Upcoming Earnings Dates
180
-
181
- Returns earnings release schedule for the next 3-12 months.
182
-
183
- **Optional:** `symbol` (if omitted, returns all companies), `horizon` (`3month`, `6month`, `12month`)
184
-
185
- ```python
186
- # Returns CSV format - use requests directly
187
- import requests, csv, io, os
188
- resp = requests.get(
189
- "https://www.alphavantage.co/query",
190
- params={"function": "EARNINGS_CALENDAR", "symbol": "IBM", "apikey": os.environ["ALPHAVANTAGE_API_KEY"]}
191
- )
192
- reader = csv.DictReader(io.StringIO(resp.text))
193
- for row in reader:
194
- print(row["symbol"], row["name"], row["reportDate"], row["estimate"])
195
- ```
196
-
197
- ## LISTING_STATUS — Listed/Delisted Tickers
198
-
199
- **Optional:** `date` (format `YYYY-MM-DD`), `state` (`active` or `delisted`)
200
-
201
- ```python
202
- # Returns CSV
203
- resp = requests.get(
204
- "https://www.alphavantage.co/query",
205
- params={"function": "LISTING_STATUS", "state": "active", "apikey": API_KEY}
206
- )
207
- reader = csv.DictReader(io.StringIO(resp.text))
208
- # Fields: "symbol", "name", "exchange", "assetType", "ipoDate",
209
- # "delistingDate", "status"
210
- ```
211
-
212
- ## IPO_CALENDAR — Upcoming IPOs
213
-
214
- ```python
215
- # Returns CSV
216
- resp = requests.get(
217
- "https://www.alphavantage.co/query",
218
- params={"function": "IPO_CALENDAR", "apikey": API_KEY}
219
- )
220
- reader = csv.DictReader(io.StringIO(resp.text))
221
- for row in reader:
222
- print(row["symbol"], row["name"], row["ipoDate"], row["priceRangeLow"], row["priceRangeHigh"])
223
- ```
1
+ # Fundamental Data APIs
2
+
3
+ ## OVERVIEW — Company Overview
4
+
5
+ Returns key company information, valuation metrics, and financial ratios.
6
+
7
+ **Required:** `symbol`
8
+
9
+ ```python
10
+ data = av_get("OVERVIEW", symbol="AAPL")
11
+
12
+ # Key fields returned:
13
+ # "Symbol", "AssetType", "Name", "Description", "Exchange", "Currency"
14
+ # "Country", "Sector", "Industry", "Address"
15
+ # "MarketCapitalization", "EBITDA", "PERatio", "PEGRatio"
16
+ # "BookValue", "DividendPerShare", "DividendYield", "EPS"
17
+ # "RevenuePerShareTTM", "ProfitMargin", "OperatingMarginTTM"
18
+ # "ReturnOnAssetsTTM", "ReturnOnEquityTTM"
19
+ # "RevenueTTM", "GrossProfitTTM", "DilutedEPSTTM"
20
+ # "QuarterlyEarningsGrowthYOY", "QuarterlyRevenueGrowthYOY"
21
+ # "AnalystTargetPrice", "AnalystRatingStrongBuy", "AnalystRatingBuy",
22
+ # "AnalystRatingHold", "AnalystRatingSell", "AnalystRatingStrongSell"
23
+ # "TrailingPE", "ForwardPE", "PriceToSalesRatioTTM"
24
+ # "PriceToBookRatio", "EVToRevenue", "EVToEBITDA"
25
+ # "Beta", "52WeekHigh", "52WeekLow", "50DayMovingAverage", "200DayMovingAverage"
26
+ # "SharesOutstanding", "DividendDate", "ExDividendDate", "FiscalYearEnd"
27
+
28
+ print(data["MarketCapitalization"]) # "2850000000000"
29
+ print(data["PERatio"]) # "29.50"
30
+ print(data["Sector"]) # "TECHNOLOGY"
31
+ ```
32
+
33
+ ## ETF_PROFILE — ETF Profile & Holdings
34
+
35
+ **Required:** `symbol`
36
+
37
+ ```python
38
+ data = av_get("ETF_PROFILE", symbol="QQQ")
39
+ # Fields: "net_assets", "nav", "inception_date", "description",
40
+ # "asset_allocation" (stocks/bonds/cash/etc.)
41
+ # "sectors" (list of sector weights)
42
+ # "holdings" (top holdings list)
43
+ for h in data["holdings"][:5]:
44
+ print(h["symbol"], h["description"], h["weight"])
45
+ ```
46
+
47
+ ## DIVIDENDS — Corporate Dividend History
48
+
49
+ **Required:** `symbol`
50
+
51
+ ```python
52
+ data = av_get("DIVIDENDS", symbol="IBM")
53
+ divs = data["data"]
54
+ for d in divs:
55
+ print(d["ex_dividend_date"], d["amount"])
56
+ # Fields per record: "ex_dividend_date", "declaration_date",
57
+ # "record_date", "payment_date", "amount"
58
+ ```
59
+
60
+ ## SPLITS — Stock Split History
61
+
62
+ **Required:** `symbol`
63
+
64
+ ```python
65
+ data = av_get("SPLITS", symbol="AAPL")
66
+ splits = data["data"]
67
+ for s in splits:
68
+ print(s["effective_date"], s["split_factor"])
69
+ # Fields: "effective_date", "split_factor" (e.g., "4/1" for 4-for-1 split)
70
+ ```
71
+
72
+ ## INCOME_STATEMENT — Income Statement
73
+
74
+ Returns annual and quarterly income statements.
75
+
76
+ **Required:** `symbol`
77
+
78
+ ```python
79
+ data = av_get("INCOME_STATEMENT", symbol="IBM")
80
+ annual = data["annualReports"] # list, most recent first
81
+ quarterly = data["quarterlyReports"] # list, most recent first
82
+
83
+ yr = annual[0] # Most recent fiscal year
84
+ print(yr["fiscalDateEnding"]) # "2023-12-31"
85
+ print(yr["totalRevenue"]) # "61860000000"
86
+ print(yr["grossProfit"]) # "32688000000"
87
+ print(yr["operatingIncome"]) # "..."
88
+ print(yr["netIncome"]) # "..."
89
+ print(yr["ebitda"]) # "..."
90
+ # Other keys: "reportedCurrency", "costOfRevenue", "costofGoodsAndServicesSold",
91
+ # "sellingGeneralAndAdministrative", "researchAndDevelopment",
92
+ # "operatingExpenses", "investmentIncomeNet", "netInterestIncome",
93
+ # "interestIncome", "interestExpense", "nonInterestIncome",
94
+ # "otherNonOperatingIncome", "depreciation",
95
+ # "depreciationAndAmortization", "incomeBeforeTax",
96
+ # "incomeTaxExpense", "interestAndDebtExpense",
97
+ # "netIncomeFromContinuingOperations", "comprehensiveIncomeNetOfTax",
98
+ # "ebit", "dilutedEPS", "basicEPS"
99
+ ```
100
+
101
+ ## BALANCE_SHEET — Balance Sheet
102
+
103
+ **Required:** `symbol`
104
+
105
+ ```python
106
+ data = av_get("BALANCE_SHEET", symbol="IBM")
107
+ annual = data["annualReports"]
108
+
109
+ yr = annual[0]
110
+ print(yr["totalAssets"]) # "..."
111
+ print(yr["totalLiabilities"]) # "..."
112
+ print(yr["totalShareholderEquity"]) # "..."
113
+ # Other keys: "reportedCurrency", "fiscalDateEnding",
114
+ # "cashAndCashEquivalentsAtCarryingValue", "cashAndShortTermInvestments",
115
+ # "inventory", "currentNetReceivables", "totalCurrentAssets",
116
+ # "propertyPlantEquipmentNet", "intangibleAssets",
117
+ # "intangibleAssetsExcludingGoodwill", "goodwill", "investments",
118
+ # "longTermInvestments", "shortTermInvestments", "otherCurrentAssets",
119
+ # "otherNonCurrrentAssets", "currentAccountsPayable", "deferredRevenue",
120
+ # "currentDebt", "shortTermDebt", "totalCurrentLiabilities",
121
+ # "capitalLeaseObligations", "longTermDebt", "currentLongTermDebt",
122
+ # "longTermDebtNoncurrent", "shortLongTermDebtTotal",
123
+ # "otherCurrentLiabilities", "otherNonCurrentLiabilities",
124
+ # "totalNonCurrentLiabilities", "retainedEarnings",
125
+ # "additionalPaidInCapital", "commonStockSharesOutstanding"
126
+ ```
127
+
128
+ ## CASH_FLOW — Cash Flow Statement
129
+
130
+ **Required:** `symbol`
131
+
132
+ ```python
133
+ data = av_get("CASH_FLOW", symbol="IBM")
134
+ annual = data["annualReports"]
135
+
136
+ yr = annual[0]
137
+ print(yr["operatingCashflow"]) # "..."
138
+ print(yr["capitalExpenditures"]) # "..."
139
+ print(yr["cashflowFromInvestment"]) # "..."
140
+ print(yr["cashflowFromFinancing"]) # "..."
141
+ # Other keys: "reportedCurrency", "fiscalDateEnding",
142
+ # "paymentsForRepurchaseOfCommonStock", "dividendPayout",
143
+ # "dividendPayoutCommonStock", "dividendPayoutPreferredStock",
144
+ # "proceedsFromIssuanceOfCommonStock", "changeInOperatingLiabilities",
145
+ # "changeInOperatingAssets", "depreciationDepletionAndAmortization",
146
+ # "capitalExpenditures", "changeInReceivables", "changeInInventory",
147
+ # "profitLoss", "netIncomeFromContinuingOperations"
148
+ ```
149
+
150
+ ## SHARES_OUTSTANDING — Shares Outstanding History
151
+
152
+ **Required:** `symbol`
153
+
154
+ ```python
155
+ data = av_get("SHARES_OUTSTANDING", symbol="AAPL")
156
+ shares = data["data"]
157
+ for s in shares[:5]:
158
+ print(s["date"], s["reportedShares"])
159
+ ```
160
+
161
+ ## EARNINGS — Earnings History (EPS)
162
+
163
+ Returns annual and quarterly EPS + surprise data.
164
+
165
+ **Required:** `symbol`
166
+
167
+ ```python
168
+ data = av_get("EARNINGS", symbol="IBM")
169
+ annual = data["annualEarnings"]
170
+ quarterly = data["quarterlyEarnings"]
171
+
172
+ # Annual: "fiscalDateEnding", "reportedEPS"
173
+ # Quarterly: "fiscalDateEnding", "reportedDate", "reportedEPS",
174
+ # "estimatedEPS", "surprise", "surprisePercentage"
175
+ q = quarterly[0]
176
+ print(q["reportedEPS"], q["estimatedEPS"], q["surprisePercentage"])
177
+ ```
178
+
179
+ ## EARNINGS_CALENDAR — Upcoming Earnings Dates
180
+
181
+ Returns earnings release schedule for the next 3-12 months.
182
+
183
+ **Optional:** `symbol` (if omitted, returns all companies), `horizon` (`3month`, `6month`, `12month`)
184
+
185
+ ```python
186
+ # Returns CSV format - use requests directly
187
+ import requests, csv, io, os
188
+ resp = requests.get(
189
+ "https://www.alphavantage.co/query",
190
+ params={"function": "EARNINGS_CALENDAR", "symbol": "IBM", "apikey": os.environ["ALPHAVANTAGE_API_KEY"]}
191
+ )
192
+ reader = csv.DictReader(io.StringIO(resp.text))
193
+ for row in reader:
194
+ print(row["symbol"], row["name"], row["reportDate"], row["estimate"])
195
+ ```
196
+
197
+ ## LISTING_STATUS — Listed/Delisted Tickers
198
+
199
+ **Optional:** `date` (format `YYYY-MM-DD`), `state` (`active` or `delisted`)
200
+
201
+ ```python
202
+ # Returns CSV
203
+ resp = requests.get(
204
+ "https://www.alphavantage.co/query",
205
+ params={"function": "LISTING_STATUS", "state": "active", "apikey": API_KEY}
206
+ )
207
+ reader = csv.DictReader(io.StringIO(resp.text))
208
+ # Fields: "symbol", "name", "exchange", "assetType", "ipoDate",
209
+ # "delistingDate", "status"
210
+ ```
211
+
212
+ ## IPO_CALENDAR — Upcoming IPOs
213
+
214
+ ```python
215
+ # Returns CSV
216
+ resp = requests.get(
217
+ "https://www.alphavantage.co/query",
218
+ params={"function": "IPO_CALENDAR", "apikey": API_KEY}
219
+ )
220
+ reader = csv.DictReader(io.StringIO(resp.text))
221
+ for row in reader:
222
+ print(row["symbol"], row["name"], row["ipoDate"], row["priceRangeLow"], row["priceRangeHigh"])
223
+ ```