create-atlas-agent 0.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 (45) hide show
  1. package/README.md +69 -0
  2. package/index.ts +526 -0
  3. package/package.json +33 -0
  4. package/template/.env.example +49 -0
  5. package/template/Dockerfile +31 -0
  6. package/template/bin/atlas.ts +1092 -0
  7. package/template/bin/enrich.ts +551 -0
  8. package/template/data/.gitkeep +0 -0
  9. package/template/data/demo-sqlite.sql +372 -0
  10. package/template/data/demo.sql +371 -0
  11. package/template/docker-compose.yml +23 -0
  12. package/template/docs/deploy.md +341 -0
  13. package/template/eslint.config.mjs +18 -0
  14. package/template/fly.toml +46 -0
  15. package/template/gitignore +5 -0
  16. package/template/next.config.ts +8 -0
  17. package/template/package.json +55 -0
  18. package/template/postcss.config.mjs +8 -0
  19. package/template/public/.gitkeep +0 -0
  20. package/template/railway.json +13 -0
  21. package/template/render.yaml +19 -0
  22. package/template/semantic/catalog.yml +5 -0
  23. package/template/semantic/entities/.gitkeep +0 -0
  24. package/template/semantic/glossary.yml +6 -0
  25. package/template/semantic/metrics/.gitkeep +0 -0
  26. package/template/src/app/api/chat/route.ts +107 -0
  27. package/template/src/app/api/health/route.ts +97 -0
  28. package/template/src/app/error.tsx +24 -0
  29. package/template/src/app/globals.css +1 -0
  30. package/template/src/app/layout.tsx +19 -0
  31. package/template/src/app/page.tsx +650 -0
  32. package/template/src/global.d.ts +1 -0
  33. package/template/src/lib/agent.ts +112 -0
  34. package/template/src/lib/db/connection.ts +150 -0
  35. package/template/src/lib/providers.ts +63 -0
  36. package/template/src/lib/semantic.ts +53 -0
  37. package/template/src/lib/startup.ts +211 -0
  38. package/template/src/lib/tools/__tests__/sql.test.ts +538 -0
  39. package/template/src/lib/tools/explore-sandbox.ts +189 -0
  40. package/template/src/lib/tools/explore.ts +164 -0
  41. package/template/src/lib/tools/report.ts +33 -0
  42. package/template/src/lib/tools/sql.ts +202 -0
  43. package/template/src/types/vercel-sandbox.d.ts +54 -0
  44. package/template/tsconfig.json +41 -0
  45. package/template/vercel.json +3 -0
@@ -0,0 +1,371 @@
1
+ -- Atlas demo data (PostgreSQL)
2
+ -- Auto-loaded by docker-compose on first start.
3
+
4
+ CREATE TABLE IF NOT EXISTS companies (
5
+ id SERIAL PRIMARY KEY,
6
+ name TEXT NOT NULL,
7
+ industry TEXT NOT NULL,
8
+ employee_count INTEGER NOT NULL,
9
+ founded_year INTEGER NOT NULL,
10
+ country TEXT NOT NULL,
11
+ revenue NUMERIC,
12
+ valuation NUMERIC
13
+ );
14
+
15
+ CREATE TABLE IF NOT EXISTS people (
16
+ id SERIAL PRIMARY KEY,
17
+ name TEXT NOT NULL,
18
+ email TEXT NOT NULL,
19
+ company_id INTEGER NOT NULL REFERENCES companies(id),
20
+ department TEXT NOT NULL,
21
+ seniority TEXT NOT NULL,
22
+ title TEXT NOT NULL,
23
+ start_date DATE NOT NULL
24
+ );
25
+
26
+ CREATE TABLE IF NOT EXISTS accounts (
27
+ id SERIAL PRIMARY KEY,
28
+ company_id INTEGER NOT NULL REFERENCES companies(id),
29
+ plan TEXT NOT NULL,
30
+ status TEXT NOT NULL,
31
+ monthly_value NUMERIC NOT NULL,
32
+ contract_start DATE NOT NULL,
33
+ contract_end DATE
34
+ );
35
+
36
+ -- Seed data: 50 companies
37
+ INSERT INTO companies (name, industry, employee_count, founded_year, country, revenue, valuation) VALUES
38
+ ('Acme Corp', 'Technology', 450, 2010, 'US', 85000000, 340000000),
39
+ ('TechVentures', 'Healthcare', 120, 2015, 'UK', 22000000, 110000000),
40
+ ('DataFlow Inc', 'Finance', 800, 2008, 'DE', 150000000, 600000000),
41
+ ('CloudSync', 'Retail', 60, 2018, 'CA', 8000000, 40000000),
42
+ ('NetPulse', 'Manufacturing', 340, 2012, 'AU', 45000000, 180000000),
43
+ ('Quantum Labs', 'Education', 90, 2019, 'FR', 5000000, 25000000),
44
+ ('BioGenix', 'Energy', 200, 2011, 'JP', 35000000, 175000000),
45
+ ('FinEdge', 'Media', 150, 2014, 'IN', 18000000, 72000000),
46
+ ('RetailHub', 'Technology', 500, 2009, 'BR', 95000000, 475000000),
47
+ ('ManuTech', 'Healthcare', 280, 2013, 'SG', 42000000, 168000000),
48
+ ('EduSpark', 'Finance', 110, 2016, 'US', 15000000, 75000000),
49
+ ('GreenWatt', 'Retail', 75, 2020, 'UK', 6000000, 30000000),
50
+ ('MediaVox', 'Manufacturing', 420, 2007, 'DE', 78000000, 312000000),
51
+ ('HealthBridge', 'Education', 95, 2017, 'CA', 12000000, 48000000),
52
+ ('CyberShield', 'Energy', 180, 2014, 'AU', 28000000, 140000000),
53
+ ('PayStream', 'Media', 300, 2011, 'FR', 55000000, 275000000),
54
+ ('ShopWave', 'Technology', 160, 2016, 'JP', 20000000, 100000000),
55
+ ('AutoForge', 'Healthcare', 600, 2006, 'IN', 120000000, 480000000),
56
+ ('LearnPath', 'Finance', 85, 2019, 'BR', 7000000, 35000000),
57
+ ('SolarGrid', 'Retail', 250, 2012, 'SG', 38000000, 190000000),
58
+ ('ContentPeak', 'Manufacturing', 140, 2015, 'US', 16000000, 64000000),
59
+ ('GenomicAI', 'Education', 70, 2020, 'UK', 4000000, 32000000),
60
+ ('LedgerPro', 'Energy', 190, 2013, 'DE', 30000000, 120000000),
61
+ ('FreshMart', 'Media', 350, 2010, 'CA', 62000000, 248000000),
62
+ ('RoboWorks', 'Technology', 220, 2014, 'AU', 33000000, 165000000),
63
+ ('SkillForge', 'Healthcare', 100, 2017, 'FR', 11000000, 55000000),
64
+ ('WindScape', 'Finance', 310, 2009, 'JP', 52000000, 260000000),
65
+ ('StreamLine', 'Retail', 130, 2016, 'IN', 14000000, 56000000),
66
+ ('VitalCare', 'Manufacturing', 480, 2008, 'BR', 88000000, 352000000),
67
+ ('TrustVault', 'Education', 65, 2021, 'SG', 3500000, 28000000),
68
+ ('CartFlow', 'Energy', 170, 2015, 'US', 25000000, 100000000),
69
+ ('PrecisionMfg', 'Media', 550, 2005, 'UK', 105000000, 420000000),
70
+ ('BrightMinds', 'Technology', 80, 2019, 'DE', 9000000, 45000000),
71
+ ('CleanJoule', 'Healthcare', 240, 2012, 'CA', 40000000, 200000000),
72
+ ('PixelCraft', 'Finance', 115, 2018, 'AU', 13000000, 52000000),
73
+ ('NeuralMed', 'Retail', 380, 2010, 'FR', 70000000, 350000000),
74
+ ('CoinBase Plus', 'Manufacturing', 90, 2020, 'JP', 6500000, 52000000),
75
+ ('GrocerEase', 'Education', 200, 2013, 'IN', 32000000, 128000000),
76
+ ('SteelCraft', 'Energy', 700, 2004, 'BR', 140000000, 420000000),
77
+ ('CodeAcademy Pro', 'Media', 50, 2021, 'SG', 2500000, 20000000),
78
+ ('HydroGen', 'Technology', 160, 2016, 'US', 21000000, 105000000),
79
+ ('AdTech Global', 'Healthcare', 270, 2011, 'UK', 48000000, 240000000),
80
+ ('PharmaLink', 'Finance', 330, 2009, 'DE', 58000000, 232000000),
81
+ ('WealthWise', 'Retail', 100, 2018, 'CA', 10000000, 50000000),
82
+ ('UrbanMart', 'Manufacturing', 440, 2007, 'AU', 82000000, 328000000),
83
+ ('NanoFab', 'Education', 55, 2022, 'FR', 2000000, 16000000),
84
+ ('TutorAI', 'Energy', 125, 2017, 'JP', 17000000, 85000000),
85
+ ('FusionPower', 'Media', 210, 2014, 'IN', 36000000, 180000000),
86
+ ('CastMedia', 'Technology', 290, 2012, 'BR', 50000000, 250000000),
87
+ ('OmniHealth', 'Healthcare', 400, 2010, 'SG', 75000000, 375000000);
88
+
89
+ -- Seed data: 200 people
90
+ INSERT INTO people (name, email, company_id, department, seniority, title, start_date) VALUES
91
+ ('Alex Smith', 'alex.smith@company1.com', 1, 'Engineering', 'Senior', 'Software Engineer', '2020-03-15'),
92
+ ('Jordan Chen', 'jordan.chen@company1.com', 1, 'Sales', 'Mid', 'Account Executive', '2021-06-01'),
93
+ ('Taylor Patel', 'taylor.patel@company2.com', 2, 'Marketing', 'Junior', 'Content Strategist', '2022-01-10'),
94
+ ('Morgan Kim', 'morgan.kim@company3.com', 3, 'Product', 'Senior', 'Product Manager', '2019-08-20'),
95
+ ('Casey Garcia', 'casey.garcia@company3.com', 3, 'Engineering', 'Executive', 'VP Engineering', '2018-04-01'),
96
+ ('Riley Mueller', 'riley.mueller@company4.com', 4, 'Operations', 'Mid', 'Operations Manager', '2021-11-15'),
97
+ ('Sam Tanaka', 'sam.tanaka@company5.com', 5, 'Finance', 'Senior', 'Financial Analyst', '2020-07-22'),
98
+ ('Quinn Silva', 'quinn.silva@company5.com', 5, 'Engineering', 'Mid', 'Backend Engineer', '2021-02-14'),
99
+ ('Avery Brown', 'avery.brown@company6.com', 6, 'Sales', 'Junior', 'SDR', '2023-01-05'),
100
+ ('Dakota Lee', 'dakota.lee@company6.com', 6, 'Marketing', 'Senior', 'Growth Lead', '2020-09-30'),
101
+ ('Jamie Singh', 'jamie.singh@company7.com', 7, 'Engineering', 'Senior', 'DevOps Engineer', '2019-05-12'),
102
+ ('Reese Williams', 'reese.williams@company7.com', 7, 'Product', 'Mid', 'Product Designer', '2021-03-18'),
103
+ ('Finley Anderson', 'finley.anderson@company8.com', 8, 'Finance', 'Executive', 'CFO', '2018-01-15'),
104
+ ('Rowan Thomas', 'rowan.thomas@company8.com', 8, 'Sales', 'Senior', 'Sales Manager', '2019-10-08'),
105
+ ('Sage Jackson', 'sage.jackson@company9.com', 9, 'Engineering', 'Mid', 'Frontend Engineer', '2021-07-01'),
106
+ ('Blair White', 'blair.white@company9.com', 9, 'Operations', 'Senior', 'HR Manager', '2020-04-20'),
107
+ ('Drew Harris', 'drew.harris@company10.com', 10, 'Marketing', 'Mid', 'Marketing Manager', '2021-08-15'),
108
+ ('Emery Martin', 'emery.martin@company10.com', 10, 'Engineering', 'Junior', 'Software Engineer', '2023-02-01'),
109
+ ('Hayden Davis', 'hayden.davis@company11.com', 11, 'Product', 'Senior', 'Data Analyst', '2020-06-10'),
110
+ ('Lane Lopez', 'lane.lopez@company11.com', 11, 'Sales', 'Mid', 'Enterprise AE', '2021-09-05'),
111
+ ('Alex Chen', 'alex.chen@company12.com', 12, 'Engineering', 'Senior', 'Software Engineer', '2021-01-20'),
112
+ ('Jordan Patel', 'jordan.patel@company12.com', 12, 'Finance', 'Mid', 'Accountant', '2022-03-15'),
113
+ ('Taylor Kim', 'taylor.kim@company13.com', 13, 'Operations', 'Senior', 'VP Operations', '2018-06-01'),
114
+ ('Morgan Garcia', 'morgan.garcia@company13.com', 13, 'Engineering', 'Mid', 'Backend Engineer', '2020-11-12'),
115
+ ('Casey Mueller', 'casey.mueller@company14.com', 14, 'Marketing', 'Junior', 'Brand Manager', '2022-05-20'),
116
+ ('Riley Tanaka', 'riley.tanaka@company14.com', 14, 'Sales', 'Senior', 'Account Executive', '2019-08-01'),
117
+ ('Sam Silva', 'sam.silva@company15.com', 15, 'Engineering', 'Executive', 'VP Engineering', '2018-03-10'),
118
+ ('Quinn Brown', 'quinn.brown@company15.com', 15, 'Product', 'Mid', 'UX Researcher', '2021-04-22'),
119
+ ('Avery Lee', 'avery.lee@company16.com', 16, 'Finance', 'Senior', 'Controller', '2019-12-01'),
120
+ ('Dakota Singh', 'dakota.singh@company16.com', 16, 'Engineering', 'Mid', 'Software Engineer', '2021-06-15'),
121
+ ('Jamie Williams', 'jamie.williams@company17.com', 17, 'Sales', 'Junior', 'SDR', '2023-03-01'),
122
+ ('Reese Anderson', 'reese.anderson@company17.com', 17, 'Marketing', 'Senior', 'VP Marketing', '2019-01-20'),
123
+ ('Finley Thomas', 'finley.thomas@company18.com', 18, 'Engineering', 'Senior', 'DevOps Engineer', '2018-09-15'),
124
+ ('Rowan Jackson', 'rowan.jackson@company18.com', 18, 'Operations', 'Mid', 'Recruiter', '2021-07-10'),
125
+ ('Sage White', 'sage.white@company19.com', 19, 'Product', 'Junior', 'Product Manager', '2022-08-01'),
126
+ ('Blair Harris', 'blair.harris@company19.com', 19, 'Finance', 'Senior', 'FP&A Manager', '2020-02-15'),
127
+ ('Drew Martin', 'drew.martin@company20.com', 20, 'Engineering', 'Mid', 'Frontend Engineer', '2021-05-20'),
128
+ ('Emery Davis', 'emery.davis@company20.com', 20, 'Sales', 'Senior', 'Sales Manager', '2019-11-01'),
129
+ ('Hayden Lopez', 'hayden.lopez@company21.com', 21, 'Marketing', 'Mid', 'Content Strategist', '2022-01-15'),
130
+ ('Lane Smith', 'lane.smith@company21.com', 21, 'Engineering', 'Senior', 'Software Engineer', '2020-04-10'),
131
+ ('Alex Patel', 'alex.patel@company22.com', 22, 'Operations', 'Junior', 'Office Manager', '2023-04-01'),
132
+ ('Jordan Kim', 'jordan.kim@company22.com', 22, 'Product', 'Mid', 'Product Designer', '2021-10-20'),
133
+ ('Taylor Garcia', 'taylor.garcia@company23.com', 23, 'Engineering', 'Senior', 'Backend Engineer', '2019-07-15'),
134
+ ('Morgan Mueller', 'morgan.mueller@company23.com', 23, 'Finance', 'Executive', 'CFO', '2018-02-01'),
135
+ ('Casey Tanaka', 'casey.tanaka@company24.com', 24, 'Sales', 'Mid', 'Account Executive', '2021-03-10'),
136
+ ('Riley Silva', 'riley.silva@company24.com', 24, 'Marketing', 'Senior', 'Growth Lead', '2020-08-20'),
137
+ ('Sam Brown', 'sam.brown@company25.com', 25, 'Engineering', 'Mid', 'Software Engineer', '2021-12-01'),
138
+ ('Quinn Lee', 'quinn.lee@company25.com', 25, 'Operations', 'Senior', 'Operations Manager', '2019-06-15'),
139
+ ('Avery Singh', 'avery.singh@company26.com', 26, 'Product', 'Mid', 'Data Analyst', '2022-02-20'),
140
+ ('Dakota Williams', 'dakota.williams@company26.com', 26, 'Engineering', 'Junior', 'Software Engineer', '2023-05-01'),
141
+ ('Jamie Anderson', 'jamie.anderson@company27.com', 27, 'Finance', 'Senior', 'Financial Analyst', '2019-09-10'),
142
+ ('Reese Thomas', 'reese.thomas@company27.com', 27, 'Sales', 'Executive', 'VP Sales', '2018-05-20'),
143
+ ('Finley Jackson', 'finley.jackson@company28.com', 28, 'Engineering', 'Mid', 'Frontend Engineer', '2021-08-01'),
144
+ ('Rowan White', 'rowan.white@company28.com', 28, 'Marketing', 'Senior', 'Marketing Manager', '2020-01-15'),
145
+ ('Sage Harris', 'sage.harris@company29.com', 29, 'Operations', 'Mid', 'HR Manager', '2021-04-10'),
146
+ ('Blair Martin', 'blair.martin@company29.com', 29, 'Engineering', 'Senior', 'DevOps Engineer', '2019-12-20'),
147
+ ('Drew Davis', 'drew.davis@company30.com', 30, 'Product', 'Junior', 'Product Manager', '2023-01-15'),
148
+ ('Emery Lopez', 'emery.lopez@company30.com', 30, 'Sales', 'Mid', 'SDR', '2022-06-01'),
149
+ ('Hayden Smith', 'hayden.smith@company31.com', 31, 'Engineering', 'Senior', 'Software Engineer', '2020-05-10'),
150
+ ('Lane Chen', 'lane.chen@company31.com', 31, 'Finance', 'Mid', 'Accountant', '2021-09-20'),
151
+ ('Alex Kim', 'alex.kim@company32.com', 32, 'Marketing', 'Senior', 'VP Marketing', '2018-07-01'),
152
+ ('Jordan Garcia', 'jordan.garcia@company32.com', 32, 'Engineering', 'Mid', 'Backend Engineer', '2021-01-15'),
153
+ ('Taylor Mueller', 'taylor.mueller@company33.com', 33, 'Sales', 'Junior', 'SDR', '2023-06-01'),
154
+ ('Morgan Tanaka', 'morgan.tanaka@company33.com', 33, 'Operations', 'Mid', 'Operations Manager', '2022-03-20'),
155
+ ('Casey Silva', 'casey.silva@company34.com', 34, 'Engineering', 'Senior', 'Software Engineer', '2019-10-15'),
156
+ ('Riley Brown', 'riley.brown@company34.com', 34, 'Product', 'Executive', 'VP Product', '2018-08-01'),
157
+ ('Sam Lee', 'sam.lee@company35.com', 35, 'Finance', 'Mid', 'Financial Analyst', '2021-11-10'),
158
+ ('Quinn Singh', 'quinn.singh@company35.com', 35, 'Engineering', 'Senior', 'Frontend Engineer', '2020-06-20'),
159
+ ('Avery Williams', 'avery.williams@company36.com', 36, 'Sales', 'Senior', 'Enterprise AE', '2019-04-01'),
160
+ ('Dakota Anderson', 'dakota.anderson@company36.com', 36, 'Marketing', 'Mid', 'Content Strategist', '2022-07-15'),
161
+ ('Jamie Thomas', 'jamie.thomas@company37.com', 37, 'Engineering', 'Junior', 'Software Engineer', '2023-02-20'),
162
+ ('Reese Jackson', 'reese.jackson@company37.com', 37, 'Operations', 'Senior', 'VP Operations', '2020-08-01'),
163
+ ('Finley White', 'finley.white@company38.com', 38, 'Product', 'Mid', 'Product Manager', '2021-05-10'),
164
+ ('Rowan Harris', 'rowan.harris@company38.com', 38, 'Finance', 'Senior', 'Controller', '2019-02-20'),
165
+ ('Sage Martin', 'sage.martin@company39.com', 39, 'Engineering', 'Executive', 'VP Engineering', '2018-10-01'),
166
+ ('Blair Davis', 'blair.davis@company39.com', 39, 'Sales', 'Mid', 'Account Executive', '2021-12-15'),
167
+ ('Drew Lopez', 'drew.lopez@company40.com', 40, 'Marketing', 'Senior', 'Growth Lead', '2020-03-20'),
168
+ ('Emery Smith', 'emery.smith@company40.com', 40, 'Engineering', 'Mid', 'Backend Engineer', '2022-08-01'),
169
+ ('Hayden Chen', 'hayden.chen@company41.com', 41, 'Operations', 'Mid', 'Recruiter', '2021-06-10'),
170
+ ('Lane Patel', 'lane.patel@company41.com', 41, 'Product', 'Senior', 'Product Designer', '2020-01-20'),
171
+ ('Alex Garcia', 'alex.garcia@company42.com', 42, 'Engineering', 'Senior', 'DevOps Engineer', '2019-07-01'),
172
+ ('Jordan Mueller', 'jordan.mueller@company42.com', 42, 'Finance', 'Mid', 'FP&A Manager', '2021-10-15'),
173
+ ('Taylor Tanaka', 'taylor.tanaka@company43.com', 43, 'Sales', 'Senior', 'Sales Manager', '2020-04-20'),
174
+ ('Morgan Silva', 'morgan.silva@company43.com', 43, 'Engineering', 'Mid', 'Software Engineer', '2022-01-01'),
175
+ ('Casey Brown', 'casey.brown@company44.com', 44, 'Marketing', 'Junior', 'Brand Manager', '2023-07-15'),
176
+ ('Riley Lee', 'riley.lee@company44.com', 44, 'Operations', 'Senior', 'Operations Manager', '2019-11-20'),
177
+ ('Sam Singh', 'sam.singh@company45.com', 45, 'Engineering', 'Mid', 'Frontend Engineer', '2021-07-01'),
178
+ ('Quinn Williams', 'quinn.williams@company45.com', 45, 'Product', 'Senior', 'Data Analyst', '2020-02-10'),
179
+ ('Avery Anderson', 'avery.anderson@company46.com', 46, 'Finance', 'Junior', 'Accountant', '2023-03-20'),
180
+ ('Dakota Thomas', 'dakota.thomas@company46.com', 46, 'Sales', 'Mid', 'Account Executive', '2022-09-01'),
181
+ ('Jamie Jackson', 'jamie.jackson@company47.com', 47, 'Engineering', 'Senior', 'Software Engineer', '2019-06-15'),
182
+ ('Reese White', 'reese.white@company47.com', 47, 'Marketing', 'Executive', 'VP Marketing', '2018-11-20'),
183
+ ('Finley Harris', 'finley.harris@company48.com', 48, 'Operations', 'Mid', 'HR Manager', '2021-08-10'),
184
+ ('Rowan Martin', 'rowan.martin@company48.com', 48, 'Engineering', 'Senior', 'Backend Engineer', '2020-05-01'),
185
+ ('Sage Davis', 'sage.davis@company49.com', 49, 'Product', 'Mid', 'UX Researcher', '2022-04-15'),
186
+ ('Blair Lopez', 'blair.lopez@company49.com', 49, 'Finance', 'Senior', 'Financial Analyst', '2019-08-20'),
187
+ ('Drew Smith', 'drew.smith@company50.com', 50, 'Engineering', 'Mid', 'Software Engineer', '2021-02-01'),
188
+ ('Emery Chen', 'emery.chen@company50.com', 50, 'Sales', 'Senior', 'Enterprise AE', '2020-09-10'),
189
+ ('Hayden Patel', 'hayden.patel@company1.com', 1, 'Product', 'Executive', 'VP Product', '2018-12-01'),
190
+ ('Lane Kim', 'lane.kim@company1.com', 1, 'Engineering', 'Mid', 'Backend Engineer', '2021-04-15'),
191
+ ('Alex Mueller', 'alex.mueller@company2.com', 2, 'Finance', 'Senior', 'Controller', '2019-03-20'),
192
+ ('Jordan Tanaka', 'jordan.tanaka@company2.com', 2, 'Operations', 'Mid', 'Office Manager', '2022-10-01'),
193
+ ('Taylor Silva', 'taylor.silva@company3.com', 3, 'Sales', 'Senior', 'Sales Manager', '2020-07-15'),
194
+ ('Morgan Brown', 'morgan.brown@company3.com', 3, 'Engineering', 'Junior', 'Software Engineer', '2023-08-20'),
195
+ ('Casey Lee', 'casey.lee@company4.com', 4, 'Marketing', 'Mid', 'Marketing Manager', '2021-01-01'),
196
+ ('Riley Singh', 'riley.singh@company4.com', 4, 'Product', 'Senior', 'Product Manager', '2019-10-10'),
197
+ ('Sam Williams', 'sam.williams@company5.com', 5, 'Engineering', 'Senior', 'Software Engineer', '2020-06-20'),
198
+ ('Quinn Anderson', 'quinn.anderson@company5.com', 5, 'Finance', 'Mid', 'Accountant', '2022-11-01'),
199
+ ('Avery Thomas', 'avery.thomas@company6.com', 6, 'Operations', 'Senior', 'VP Operations', '2019-04-15'),
200
+ ('Dakota Jackson', 'dakota.jackson@company6.com', 6, 'Engineering', 'Mid', 'DevOps Engineer', '2021-09-20'),
201
+ ('Jamie White', 'jamie.white@company7.com', 7, 'Sales', 'Executive', 'VP Sales', '2018-06-01'),
202
+ ('Reese Harris', 'reese.harris@company7.com', 7, 'Marketing', 'Mid', 'Content Strategist', '2022-02-10'),
203
+ ('Finley Martin', 'finley.martin@company8.com', 8, 'Engineering', 'Senior', 'Frontend Engineer', '2020-08-20'),
204
+ ('Rowan Davis', 'rowan.davis@company8.com', 8, 'Product', 'Mid', 'Product Designer', '2021-03-01'),
205
+ ('Sage Lopez', 'sage.lopez@company9.com', 9, 'Finance', 'Senior', 'CFO', '2018-01-10'),
206
+ ('Blair Smith', 'blair.smith@company9.com', 9, 'Operations', 'Mid', 'Recruiter', '2022-05-15'),
207
+ ('Drew Chen', 'drew.chen@company10.com', 10, 'Engineering', 'Senior', 'Software Engineer', '2019-12-20'),
208
+ ('Emery Patel', 'emery.patel@company10.com', 10, 'Sales', 'Junior', 'SDR', '2023-04-01'),
209
+ ('Hayden Kim', 'hayden.kim@company11.com', 11, 'Marketing', 'Senior', 'Growth Lead', '2020-03-10'),
210
+ ('Lane Garcia', 'lane.garcia@company11.com', 11, 'Engineering', 'Mid', 'Backend Engineer', '2021-10-15'),
211
+ ('Alex Tanaka', 'alex.tanaka@company12.com', 12, 'Product', 'Mid', 'Data Analyst', '2022-06-20'),
212
+ ('Jordan Silva', 'jordan.silva@company12.com', 12, 'Operations', 'Senior', 'Operations Manager', '2019-09-01'),
213
+ ('Taylor Brown', 'taylor.brown@company13.com', 13, 'Finance', 'Mid', 'Financial Analyst', '2021-12-10'),
214
+ ('Morgan Lee', 'morgan.lee@company13.com', 13, 'Engineering', 'Executive', 'VP Engineering', '2018-04-15'),
215
+ ('Casey Singh', 'casey.singh@company14.com', 14, 'Sales', 'Mid', 'Account Executive', '2022-07-20'),
216
+ ('Riley Williams', 'riley.williams@company14.com', 14, 'Marketing', 'Senior', 'VP Marketing', '2019-01-01'),
217
+ ('Sam Anderson', 'sam.anderson@company15.com', 15, 'Engineering', 'Mid', 'Software Engineer', '2021-05-10'),
218
+ ('Quinn Thomas', 'quinn.thomas@company15.com', 15, 'Operations', 'Junior', 'Office Manager', '2023-09-15'),
219
+ ('Avery Jackson', 'avery.jackson@company16.com', 16, 'Product', 'Senior', 'Product Manager', '2020-02-20'),
220
+ ('Dakota White', 'dakota.white@company16.com', 16, 'Finance', 'Mid', 'FP&A Manager', '2021-11-01'),
221
+ ('Jamie Harris', 'jamie.harris@company17.com', 17, 'Engineering', 'Senior', 'DevOps Engineer', '2019-08-10'),
222
+ ('Reese Martin', 'reese.martin@company17.com', 17, 'Sales', 'Mid', 'SDR', '2022-12-15'),
223
+ ('Finley Davis', 'finley.davis@company18.com', 18, 'Marketing', 'Senior', 'Marketing Manager', '2020-05-20'),
224
+ ('Rowan Lopez', 'rowan.lopez@company18.com', 18, 'Engineering', 'Mid', 'Frontend Engineer', '2021-07-01'),
225
+ ('Sage Smith', 'sage.smith@company19.com', 19, 'Operations', 'Senior', 'HR Manager', '2019-11-10'),
226
+ ('Blair Chen', 'blair.chen@company19.com', 19, 'Product', 'Mid', 'Product Designer', '2022-08-15'),
227
+ ('Drew Patel', 'drew.patel@company20.com', 20, 'Finance', 'Senior', 'Financial Analyst', '2020-04-01'),
228
+ ('Emery Kim', 'emery.kim@company20.com', 20, 'Engineering', 'Junior', 'Software Engineer', '2023-10-20'),
229
+ ('Hayden Garcia', 'hayden.garcia@company21.com', 21, 'Sales', 'Senior', 'Sales Manager', '2019-06-10'),
230
+ ('Lane Mueller', 'lane.mueller@company21.com', 21, 'Engineering', 'Mid', 'Backend Engineer', '2021-01-15'),
231
+ ('Alex Silva', 'alex.silva@company22.com', 22, 'Marketing', 'Mid', 'Brand Manager', '2022-09-20'),
232
+ ('Jordan Brown', 'jordan.brown@company22.com', 22, 'Operations', 'Senior', 'VP Operations', '2018-12-01'),
233
+ ('Taylor Lee', 'taylor.lee@company23.com', 23, 'Engineering', 'Senior', 'Software Engineer', '2020-07-10'),
234
+ ('Morgan Singh', 'morgan.singh@company23.com', 23, 'Product', 'Mid', 'UX Researcher', '2021-12-15'),
235
+ ('Casey Williams', 'casey.williams@company24.com', 24, 'Finance', 'Executive', 'CFO', '2018-03-20'),
236
+ ('Riley Anderson', 'riley.anderson@company24.com', 24, 'Engineering', 'Mid', 'Software Engineer', '2022-04-01'),
237
+ ('Sam Thomas', 'sam.thomas@company25.com', 25, 'Sales', 'Senior', 'Enterprise AE', '2020-01-10'),
238
+ ('Quinn Jackson', 'quinn.jackson@company25.com', 25, 'Marketing', 'Mid', 'Growth Lead', '2021-06-15'),
239
+ ('Avery White', 'avery.white@company26.com', 26, 'Engineering', 'Senior', 'Backend Engineer', '2019-09-20'),
240
+ ('Dakota Harris', 'dakota.harris@company26.com', 26, 'Operations', 'Mid', 'Recruiter', '2022-10-01'),
241
+ ('Jamie Martin', 'jamie.martin@company27.com', 27, 'Product', 'Senior', 'Product Manager', '2020-02-10'),
242
+ ('Reese Davis', 'reese.davis@company27.com', 27, 'Finance', 'Mid', 'Accountant', '2021-07-15'),
243
+ ('Finley Lopez', 'finley.lopez@company28.com', 28, 'Engineering', 'Mid', 'Software Engineer', '2022-11-20'),
244
+ ('Rowan Smith', 'rowan.smith@company28.com', 28, 'Sales', 'Junior', 'SDR', '2023-05-01'),
245
+ ('Sage Chen', 'sage.chen@company29.com', 29, 'Marketing', 'Senior', 'VP Marketing', '2019-03-10'),
246
+ ('Blair Patel', 'blair.patel@company29.com', 29, 'Engineering', 'Senior', 'DevOps Engineer', '2020-08-15'),
247
+ ('Drew Kim', 'drew.kim@company30.com', 30, 'Operations', 'Mid', 'Operations Manager', '2022-01-20'),
248
+ ('Emery Garcia', 'emery.garcia@company30.com', 30, 'Product', 'Junior', 'Product Designer', '2023-06-01'),
249
+ ('Hayden Mueller', 'hayden.mueller@company31.com', 31, 'Finance', 'Senior', 'Controller', '2019-10-10'),
250
+ ('Lane Tanaka', 'lane.tanaka@company31.com', 31, 'Engineering', 'Mid', 'Frontend Engineer', '2021-03-15'),
251
+ ('Alex Brown', 'alex.brown@company32.com', 32, 'Sales', 'Senior', 'Account Executive', '2020-06-20'),
252
+ ('Jordan Lee', 'jordan.lee@company32.com', 32, 'Marketing', 'Mid', 'Content Strategist', '2022-12-01'),
253
+ ('Taylor Singh', 'taylor.singh@company33.com', 33, 'Engineering', 'Senior', 'Software Engineer', '2019-04-10'),
254
+ ('Morgan Williams', 'morgan.williams@company33.com', 33, 'Operations', 'Executive', 'VP Operations', '2018-09-15'),
255
+ ('Casey Anderson', 'casey.anderson@company34.com', 34, 'Product', 'Mid', 'Data Analyst', '2021-08-20'),
256
+ ('Riley Thomas', 'riley.thomas@company34.com', 34, 'Finance', 'Senior', 'FP&A Manager', '2020-01-01'),
257
+ ('Sam Jackson', 'sam.jackson@company35.com', 35, 'Engineering', 'Mid', 'Backend Engineer', '2022-05-10'),
258
+ ('Quinn White', 'quinn.white@company35.com', 35, 'Sales', 'Senior', 'Sales Manager', '2019-12-15'),
259
+ ('Avery Harris', 'avery.harris@company36.com', 36, 'Marketing', 'Mid', 'Marketing Manager', '2021-04-20'),
260
+ ('Dakota Martin', 'dakota.martin@company36.com', 36, 'Engineering', 'Junior', 'Software Engineer', '2023-11-01'),
261
+ ('Jamie Davis', 'jamie.davis@company37.com', 37, 'Operations', 'Senior', 'Operations Manager', '2020-03-10'),
262
+ ('Reese Lopez', 'reese.lopez@company37.com', 37, 'Product', 'Mid', 'Product Manager', '2022-06-15'),
263
+ ('Finley Smith', 'finley.smith@company38.com', 38, 'Finance', 'Mid', 'Financial Analyst', '2021-09-20'),
264
+ ('Rowan Chen', 'rowan.chen@company38.com', 38, 'Engineering', 'Senior', 'Software Engineer', '2019-02-01'),
265
+ ('Sage Patel', 'sage.patel@company39.com', 39, 'Sales', 'Senior', 'Enterprise AE', '2020-07-10'),
266
+ ('Blair Kim', 'blair.kim@company39.com', 39, 'Marketing', 'Mid', 'Growth Lead', '2022-02-15'),
267
+ ('Drew Garcia', 'drew.garcia@company40.com', 40, 'Engineering', 'Senior', 'DevOps Engineer', '2019-05-20'),
268
+ ('Emery Mueller', 'emery.mueller@company40.com', 40, 'Operations', 'Mid', 'HR Manager', '2021-10-01'),
269
+ ('Hayden Tanaka', 'hayden.tanaka@company41.com', 41, 'Product', 'Senior', 'VP Product', '2018-08-10'),
270
+ ('Lane Silva', 'lane.silva@company41.com', 41, 'Finance', 'Mid', 'Accountant', '2022-03-15'),
271
+ ('Alex Williams', 'alex.williams@company42.com', 42, 'Engineering', 'Mid', 'Frontend Engineer', '2021-06-20'),
272
+ ('Jordan Anderson', 'jordan.anderson@company42.com', 42, 'Sales', 'Senior', 'Account Executive', '2020-04-01'),
273
+ ('Taylor Thomas', 'taylor.thomas@company43.com', 43, 'Marketing', 'Senior', 'Content Strategist', '2019-07-10'),
274
+ ('Morgan Jackson', 'morgan.jackson@company43.com', 43, 'Engineering', 'Mid', 'Backend Engineer', '2022-07-15'),
275
+ ('Casey White', 'casey.white@company44.com', 44, 'Operations', 'Junior', 'Recruiter', '2023-01-20'),
276
+ ('Riley Harris', 'riley.harris@company44.com', 44, 'Product', 'Senior', 'Product Designer', '2020-08-01'),
277
+ ('Sam Martin', 'sam.martin@company45.com', 45, 'Finance', 'Senior', 'CFO', '2018-05-10'),
278
+ ('Quinn Davis', 'quinn.davis@company45.com', 45, 'Engineering', 'Executive', 'VP Engineering', '2018-11-15'),
279
+ ('Avery Lopez', 'avery.lopez@company46.com', 46, 'Sales', 'Mid', 'SDR', '2022-08-20'),
280
+ ('Dakota Smith', 'dakota.smith@company46.com', 46, 'Marketing', 'Senior', 'Marketing Manager', '2020-01-01'),
281
+ ('Jamie Chen', 'jamie.chen@company47.com', 47, 'Engineering', 'Mid', 'Software Engineer', '2021-04-10'),
282
+ ('Reese Patel', 'reese.patel@company47.com', 47, 'Operations', 'Senior', 'Operations Manager', '2019-09-15'),
283
+ ('Finley Kim', 'finley.kim@company48.com', 48, 'Product', 'Mid', 'Data Analyst', '2022-09-20'),
284
+ ('Rowan Garcia', 'rowan.garcia@company48.com', 48, 'Finance', 'Junior', 'Accountant', '2023-02-01'),
285
+ ('Sage Mueller', 'sage.mueller@company49.com', 49, 'Engineering', 'Senior', 'Frontend Engineer', '2020-06-10'),
286
+ ('Blair Tanaka', 'blair.tanaka@company49.com', 49, 'Sales', 'Mid', 'Account Executive', '2021-11-15'),
287
+ ('Drew Silva', 'drew.silva@company50.com', 50, 'Marketing', 'Senior', 'VP Marketing', '2019-01-20'),
288
+ ('Emery Brown', 'emery.brown@company50.com', 50, 'Engineering', 'Mid', 'DevOps Engineer', '2022-04-01');
289
+
290
+ -- Seed data: 80 accounts
291
+ INSERT INTO accounts (company_id, plan, status, monthly_value, contract_start, contract_end) VALUES
292
+ (1, 'Enterprise', 'Active', 8500, '2021-01-01', NULL),
293
+ (1, 'Pro', 'Active', 499, '2022-06-01', NULL),
294
+ (2, 'Starter', 'Active', 79, '2022-03-01', NULL),
295
+ (3, 'Enterprise', 'Active', 12000, '2020-07-01', NULL),
296
+ (3, 'Enterprise', 'Active', 5500, '2021-11-01', NULL),
297
+ (4, 'Pro', 'Active', 299, '2023-01-01', NULL),
298
+ (5, 'Enterprise', 'Active', 4200, '2021-04-01', NULL),
299
+ (6, 'Starter', 'Active', 49, '2023-06-01', NULL),
300
+ (7, 'Pro', 'Active', 650, '2022-02-01', NULL),
301
+ (8, 'Pro', 'Inactive', 399, '2021-08-01', '2023-08-01'),
302
+ (9, 'Enterprise', 'Active', 9800, '2020-03-01', NULL),
303
+ (10, 'Pro', 'Active', 550, '2022-09-01', NULL),
304
+ (11, 'Starter', 'Active', 69, '2023-04-01', NULL),
305
+ (12, 'Free', 'Active', 0, '2023-08-01', NULL),
306
+ (13, 'Enterprise', 'Active', 7200, '2020-01-01', NULL),
307
+ (14, 'Starter', 'Churned', 59, '2022-05-01', '2023-05-01'),
308
+ (15, 'Pro', 'Active', 450, '2021-10-01', NULL),
309
+ (16, 'Enterprise', 'Active', 6100, '2021-02-01', NULL),
310
+ (17, 'Pro', 'Active', 350, '2023-03-01', NULL),
311
+ (18, 'Enterprise', 'Active', 11000, '2019-06-01', NULL),
312
+ (19, 'Starter', 'Active', 89, '2023-09-01', NULL),
313
+ (20, 'Pro', 'Inactive', 599, '2021-07-01', '2024-01-01'),
314
+ (21, 'Pro', 'Active', 299, '2022-11-01', NULL),
315
+ (22, 'Free', 'Active', 0, '2023-10-01', NULL),
316
+ (23, 'Enterprise', 'Active', 5800, '2021-05-01', NULL),
317
+ (24, 'Enterprise', 'Active', 8900, '2020-09-01', NULL),
318
+ (25, 'Pro', 'Active', 750, '2022-01-01', NULL),
319
+ (26, 'Starter', 'Churned', 49, '2022-08-01', '2023-02-01'),
320
+ (27, 'Enterprise', 'Active', 10500, '2020-04-01', NULL),
321
+ (28, 'Pro', 'Active', 399, '2022-12-01', NULL),
322
+ (29, 'Enterprise', 'Active', 13500, '2019-11-01', NULL),
323
+ (30, 'Free', 'Active', 0, '2024-01-01', NULL),
324
+ (31, 'Pro', 'Active', 500, '2022-04-01', NULL),
325
+ (32, 'Enterprise', 'Active', 9200, '2020-06-01', NULL),
326
+ (33, 'Starter', 'Active', 79, '2023-07-01', NULL),
327
+ (34, 'Pro', 'Suspended', 650, '2021-09-01', NULL),
328
+ (35, 'Starter', 'Active', 59, '2023-05-01', NULL),
329
+ (36, 'Enterprise', 'Active', 7800, '2021-03-01', NULL),
330
+ (37, 'Free', 'Active', 0, '2023-11-01', NULL),
331
+ (38, 'Pro', 'Active', 450, '2022-07-01', NULL),
332
+ (39, 'Enterprise', 'Active', 14200, '2019-08-01', NULL),
333
+ (40, 'Starter', 'Inactive', 69, '2022-06-01', '2023-06-01'),
334
+ (41, 'Pro', 'Active', 350, '2023-02-01', NULL),
335
+ (42, 'Enterprise', 'Active', 6500, '2021-06-01', NULL),
336
+ (43, 'Pro', 'Active', 550, '2022-10-01', NULL),
337
+ (44, 'Starter', 'Active', 89, '2023-12-01', NULL),
338
+ (45, 'Enterprise', 'Active', 8100, '2020-11-01', NULL),
339
+ (46, 'Free', 'Churned', 0, '2023-03-01', '2023-09-01'),
340
+ (47, 'Pro', 'Active', 299, '2023-01-01', NULL),
341
+ (48, 'Pro', 'Active', 650, '2022-03-01', NULL),
342
+ (49, 'Enterprise', 'Active', 11500, '2020-02-01', NULL),
343
+ (50, 'Enterprise', 'Active', 9500, '2021-08-01', NULL),
344
+ (2, 'Pro', 'Active', 399, '2023-08-01', NULL),
345
+ (5, 'Pro', 'Churned', 299, '2020-05-01', '2021-05-01'),
346
+ (7, 'Starter', 'Active', 49, '2023-10-01', NULL),
347
+ (9, 'Pro', 'Active', 799, '2023-04-01', NULL),
348
+ (12, 'Starter', 'Active', 59, '2024-01-01', NULL),
349
+ (15, 'Starter', 'Active', 79, '2023-06-01', NULL),
350
+ (18, 'Pro', 'Active', 499, '2022-08-01', NULL),
351
+ (20, 'Enterprise', 'Active', 7500, '2024-02-01', NULL),
352
+ (24, 'Pro', 'Active', 350, '2023-11-01', NULL),
353
+ (27, 'Pro', 'Inactive', 450, '2021-09-01', '2023-03-01'),
354
+ (29, 'Pro', 'Active', 599, '2023-07-01', NULL),
355
+ (32, 'Pro', 'Active', 299, '2023-09-01', NULL),
356
+ (34, 'Enterprise', 'Active', 6800, '2022-02-01', NULL),
357
+ (36, 'Starter', 'Active', 89, '2024-01-01', NULL),
358
+ (39, 'Pro', 'Active', 750, '2023-05-01', NULL),
359
+ (41, 'Starter', 'Churned', 49, '2022-04-01', '2023-04-01'),
360
+ (43, 'Enterprise', 'Active', 5200, '2023-01-01', NULL),
361
+ (45, 'Starter', 'Active', 69, '2023-08-01', NULL),
362
+ (47, 'Enterprise', 'Active', 4800, '2022-11-01', NULL),
363
+ (49, 'Pro', 'Active', 550, '2023-06-01', NULL),
364
+ (1, 'Starter', 'Churned', 79, '2020-04-01', '2021-01-01'),
365
+ (3, 'Pro', 'Active', 899, '2023-10-01', NULL),
366
+ (6, 'Pro', 'Active', 299, '2024-01-01', NULL),
367
+ (10, 'Starter', 'Active', 59, '2023-12-01', NULL),
368
+ (13, 'Pro', 'Active', 450, '2023-03-01', NULL),
369
+ (16, 'Starter', 'Active', 49, '2023-11-01', NULL),
370
+ (22, 'Starter', 'Active', 69, '2024-02-01', NULL),
371
+ (25, 'Starter', 'Active', 89, '2023-09-01', NULL);
@@ -0,0 +1,23 @@
1
+ # Local dev: just Postgres. The app runs natively with `bun run dev`.
2
+ # Production: set DATABASE_URL to your managed Postgres — no Docker needed.
3
+
4
+ services:
5
+ postgres:
6
+ image: postgres:16-alpine
7
+ environment:
8
+ POSTGRES_DB: atlas
9
+ POSTGRES_USER: atlas
10
+ POSTGRES_PASSWORD: atlas
11
+ ports:
12
+ - "5432:5432"
13
+ volumes:
14
+ - pgdata:/var/lib/postgresql/data
15
+ - ./data/demo.sql:/docker-entrypoint-initdb.d/demo.sql
16
+ healthcheck:
17
+ test: ["CMD-SHELL", "pg_isready -U atlas"]
18
+ interval: 5s
19
+ timeout: 5s
20
+ retries: 5
21
+
22
+ volumes:
23
+ pgdata: