superkit-mcp-server 1.1.4 → 1.2.0

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 (160) 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/tools/todoTools.js +39 -39
  20. package/build/tools/validators/__tests__/apiSchema.test.js +23 -23
  21. package/build/tools/validators/__tests__/convertRules.test.js +5 -5
  22. package/build/tools/validators/__tests__/frontendDesign.test.js +12 -12
  23. package/build/tools/validators/__tests__/geoChecker.test.js +19 -19
  24. package/build/tools/validators/__tests__/mobileAudit.test.js +12 -12
  25. package/build/tools/validators/__tests__/reactPerformanceChecker.test.js +17 -17
  26. package/build/tools/validators/__tests__/securityScan.test.js +6 -6
  27. package/build/tools/validators/__tests__/seoChecker.test.js +16 -16
  28. package/build/tools/validators/__tests__/typeCoverage.test.js +14 -14
  29. package/commands/README.md +122 -122
  30. package/commands/ask.toml +72 -72
  31. package/commands/brainstorm.toml +119 -119
  32. package/commands/chat.toml +73 -73
  33. package/commands/code-preview.toml +37 -37
  34. package/commands/code.toml +28 -28
  35. package/commands/content.toml +200 -200
  36. package/commands/cook.toml +77 -77
  37. package/commands/copywrite.toml +131 -131
  38. package/commands/db.toml +192 -192
  39. package/commands/debug.toml +166 -166
  40. package/commands/design.toml +158 -158
  41. package/commands/dev-rules.toml +14 -14
  42. package/commands/do.toml +117 -117
  43. package/commands/doc-rules.toml +14 -14
  44. package/commands/docs.toml +148 -148
  45. package/commands/fix.toml +440 -440
  46. package/commands/fullstack.toml +175 -175
  47. package/commands/git.toml +235 -235
  48. package/commands/help.toml +84 -84
  49. package/commands/integrate.toml +127 -127
  50. package/commands/journal.toml +136 -136
  51. package/commands/kit-setup.toml +40 -40
  52. package/commands/mcp.toml +183 -183
  53. package/commands/orchestration.toml +15 -15
  54. package/commands/plan.toml +171 -171
  55. package/commands/pm.toml +148 -148
  56. package/commands/pr.toml +50 -50
  57. package/commands/project.toml +32 -32
  58. package/commands/research.toml +117 -117
  59. package/commands/review-pr.toml +63 -63
  60. package/commands/review.toml +190 -190
  61. package/commands/scout-ext.toml +97 -97
  62. package/commands/scout.toml +79 -79
  63. package/commands/screenshot.toml +65 -65
  64. package/commands/session.toml +98 -98
  65. package/commands/skill.toml +384 -384
  66. package/commands/status.toml +22 -22
  67. package/commands/team.toml +56 -56
  68. package/commands/test.toml +164 -164
  69. package/commands/ticket.toml +70 -70
  70. package/commands/use.toml +106 -106
  71. package/commands/video.toml +83 -83
  72. package/commands/watzup.toml +71 -71
  73. package/commands/workflow.toml +14 -14
  74. package/package.json +35 -35
  75. package/skills/meta/README.md +30 -30
  76. package/skills/meta/api-design/SKILL.md +134 -134
  77. package/skills/meta/code-review/SKILL.md +44 -44
  78. package/skills/meta/code-review/checklists/pre-merge.md +25 -25
  79. package/skills/meta/code-review/workflows/architecture-pass.md +26 -26
  80. package/skills/meta/code-review/workflows/performance-pass.md +27 -27
  81. package/skills/meta/code-review/workflows/security-pass.md +29 -29
  82. package/skills/meta/compound-docs/SKILL.md +133 -133
  83. package/skills/meta/debug/SKILL.md +40 -40
  84. package/skills/meta/debug/templates/bug-report.template.md +31 -31
  85. package/skills/meta/debug/workflows/reproduce-issue.md +20 -20
  86. package/skills/meta/docker/SKILL.md +126 -126
  87. package/skills/meta/examples/supabase/SKILL.md +46 -46
  88. package/skills/meta/examples/supabase/references/best-practices.md +319 -319
  89. package/skills/meta/examples/supabase/references/common-patterns.md +373 -373
  90. package/skills/meta/examples/supabase/templates/migration-template.sql +49 -49
  91. package/skills/meta/examples/supabase/templates/rls-policy-template.sql +77 -77
  92. package/skills/meta/examples/supabase/workflows/debugging.md +260 -260
  93. package/skills/meta/examples/supabase/workflows/migration-workflow.md +211 -211
  94. package/skills/meta/examples/supabase/workflows/rls-policies.md +244 -244
  95. package/skills/meta/examples/supabase/workflows/schema-design.md +321 -321
  96. package/skills/meta/file-todos/SKILL.md +88 -88
  97. package/skills/meta/mobile/SKILL.md +140 -140
  98. package/skills/meta/nextjs/SKILL.md +101 -101
  99. package/skills/meta/performance/SKILL.md +130 -130
  100. package/skills/meta/react-patterns/SKILL.md +83 -83
  101. package/skills/meta/security/SKILL.md +114 -114
  102. package/skills/meta/session-resume/SKILL.md +96 -96
  103. package/skills/meta/tailwind/SKILL.md +139 -139
  104. package/skills/meta/testing/SKILL.md +43 -43
  105. package/skills/meta/testing/references/vitest-patterns.md +45 -45
  106. package/skills/meta/testing/templates/component-test.template.tsx +37 -37
  107. package/skills/tech/alpha-vantage/SKILL.md +142 -142
  108. package/skills/tech/alpha-vantage/references/commodities.md +153 -153
  109. package/skills/tech/alpha-vantage/references/economic-indicators.md +158 -158
  110. package/skills/tech/alpha-vantage/references/forex-crypto.md +154 -154
  111. package/skills/tech/alpha-vantage/references/fundamentals.md +223 -223
  112. package/skills/tech/alpha-vantage/references/intelligence.md +138 -138
  113. package/skills/tech/alpha-vantage/references/options.md +93 -93
  114. package/skills/tech/alpha-vantage/references/technical-indicators.md +374 -374
  115. package/skills/tech/alpha-vantage/references/time-series.md +157 -157
  116. package/skills/tech/financial-modeling/SKILL.md +18 -18
  117. package/skills/tech/financial-modeling/skills/3-statements/SKILL.md +368 -368
  118. package/skills/tech/financial-modeling/skills/3-statements/references/formatting.md +118 -118
  119. package/skills/tech/financial-modeling/skills/3-statements/references/formulas.md +292 -292
  120. package/skills/tech/financial-modeling/skills/3-statements/references/sec-filings.md +125 -125
  121. package/skills/tech/financial-modeling/skills/dcf-model/SKILL.md +1210 -1210
  122. package/skills/tech/financial-modeling/skills/dcf-model/TROUBLESHOOTING.md +40 -40
  123. package/skills/tech/financial-modeling/skills/dcf-model/requirements.txt +8 -8
  124. package/skills/tech/financial-modeling/skills/dcf-model/scripts/validate_dcf.py +292 -292
  125. package/skills/tech/financial-modeling/skills/lbo-model/SKILL.md +236 -236
  126. package/skills/tech/financial-modeling/skills/merger-model/SKILL.md +108 -108
  127. package/skills/workflows/README.md +203 -203
  128. package/skills/workflows/adr.md +174 -174
  129. package/skills/workflows/changelog.md +74 -74
  130. package/skills/workflows/compound.md +323 -323
  131. package/skills/workflows/compound_health.md +74 -74
  132. package/skills/workflows/create-agent-skill.md +139 -139
  133. package/skills/workflows/cycle.md +144 -144
  134. package/skills/workflows/deploy-docs.md +84 -84
  135. package/skills/workflows/development-rules.md +42 -42
  136. package/skills/workflows/doc.md +95 -95
  137. package/skills/workflows/documentation-management.md +34 -34
  138. package/skills/workflows/explore.md +146 -146
  139. package/skills/workflows/generate_command.md +106 -106
  140. package/skills/workflows/heal-skill.md +97 -97
  141. package/skills/workflows/housekeeping.md +229 -229
  142. package/skills/workflows/kit-setup.md +102 -102
  143. package/skills/workflows/map-codebase.md +78 -78
  144. package/skills/workflows/orchestration-protocol.md +43 -43
  145. package/skills/workflows/plan-compound.md +439 -439
  146. package/skills/workflows/plan_review.md +269 -269
  147. package/skills/workflows/primary-workflow.md +37 -37
  148. package/skills/workflows/promote_pattern.md +86 -86
  149. package/skills/workflows/release-docs.md +82 -82
  150. package/skills/workflows/report-bug.md +135 -135
  151. package/skills/workflows/reproduce-bug.md +118 -118
  152. package/skills/workflows/resolve_pr.md +133 -133
  153. package/skills/workflows/resolve_todo.md +128 -128
  154. package/skills/workflows/review-compound.md +376 -376
  155. package/skills/workflows/skill-review.md +127 -127
  156. package/skills/workflows/specs.md +257 -257
  157. package/skills/workflows/triage-sprint.md +102 -102
  158. package/skills/workflows/triage.md +152 -152
  159. package/skills/workflows/work.md +399 -399
  160. 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
+ ```