Skip to content

Commit 71220c7

Browse files
committed
chore: wip
1 parent 2c9005e commit 71220c7

File tree

4 files changed

+223
-21
lines changed

4 files changed

+223
-21
lines changed

config/deps.ts

Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
1+
import type { PantryConfig } from 'ts-pantry'
2+
3+
/**
4+
* Pantry configuration for the Stacks project
5+
*
6+
* This file defines system-level dependencies managed by Pantry.
7+
* JavaScript/TypeScript dependencies remain in package.json.
8+
*
9+
* @see https://pantry.sh/docs/configuration
10+
*/
11+
export const config: PantryConfig = {
12+
/**
13+
* System dependencies with version constraints
14+
* These are binary tools and system packages required for development
15+
*/
16+
dependencies: {
17+
'bun.com': '^1.3.0',
18+
'sqlite.org': '^3.47.2',
19+
'aws.amazon.com/cli': '^2.22.26',
20+
'info-zip.org/zip': '^3.0.0',
21+
'info-zip.org/unzip': '^6.0.0',
22+
// Uncomment as needed:
23+
// 'redis.io': '^7.4.1',
24+
// 'mailpit.axllent.org': '^1.21.8',
25+
// 'openjdk.org': '^21.0.3.6',
26+
// 'rust-lang.org': '^1.74.1',
27+
},
28+
29+
/**
30+
* Install packages globally (available system-wide)
31+
* Set to false to install locally in the project
32+
*/
33+
global: false,
34+
35+
/**
36+
* Service management configuration
37+
* Auto-start and manage databases and other services
38+
*/
39+
services: {
40+
enabled: true,
41+
autoStart: true,
42+
43+
/**
44+
* Database configuration
45+
* Automatically provisions and starts the database
46+
*/
47+
database: {
48+
connection: 'sqlite',
49+
name: 'stacks',
50+
username: 'root',
51+
password: '',
52+
authMethod: 'trust',
53+
},
54+
55+
/**
56+
* Commands to run after database setup
57+
* Useful for migrations and seeding
58+
*/
59+
postDatabaseSetup: [
60+
'./buddy migrate',
61+
'./buddy seed',
62+
],
63+
64+
/**
65+
* Framework-specific service detection
66+
*/
67+
frameworks: {
68+
enabled: true,
69+
stacks: {
70+
enabled: true,
71+
autoDetect: true,
72+
},
73+
},
74+
},
75+
76+
/**
77+
* Project-level lifecycle hooks
78+
*/
79+
preSetup: {
80+
enabled: false,
81+
commands: [],
82+
},
83+
84+
postSetup: {
85+
enabled: true,
86+
commands: [
87+
{
88+
name: 'Generate model files',
89+
command: './buddy',
90+
args: ['generate:model-files'],
91+
description: 'Generate TypeScript model files from database schema',
92+
required: false,
93+
},
94+
],
95+
},
96+
97+
preActivation: {
98+
enabled: false,
99+
commands: [],
100+
},
101+
102+
postActivation: {
103+
enabled: false,
104+
commands: [],
105+
},
106+
107+
/**
108+
* Cache configuration for faster installations
109+
*/
110+
cache: {
111+
enabled: true,
112+
maxSize: 2048, // 2GB
113+
ttlHours: 168, // 1 week
114+
autoCleanup: true,
115+
compression: true,
116+
},
117+
118+
/**
119+
* Network settings
120+
*/
121+
network: {
122+
timeout: 30000,
123+
maxConcurrent: 5,
124+
retries: 3,
125+
followRedirects: true,
126+
},
127+
128+
/**
129+
* Security settings
130+
*/
131+
security: {
132+
verifySignatures: true,
133+
checkVulnerabilities: true,
134+
allowUntrusted: false,
135+
},
136+
137+
/**
138+
* Logging configuration
139+
*/
140+
logging: {
141+
level: 'info',
142+
toFile: false,
143+
timestamps: true,
144+
json: false,
145+
},
146+
147+
/**
148+
* Update policies
149+
*/
150+
updates: {
151+
checkForUpdates: true,
152+
autoUpdate: false,
153+
checkFrequency: 24,
154+
includePrereleases: false,
155+
channels: ['stable'],
156+
},
157+
158+
/**
159+
* Resource management
160+
*/
161+
resources: {
162+
autoCleanup: true,
163+
keepVersions: 3,
164+
},
165+
166+
/**
167+
* Environment profiles for different contexts
168+
*/
169+
profiles: {
170+
active: 'development',
171+
development: {
172+
verbose: true,
173+
logging: {
174+
level: 'debug',
175+
},
176+
},
177+
production: {
178+
verbose: false,
179+
logging: {
180+
level: 'warn',
181+
},
182+
cache: {
183+
maxSize: 4096, // 4GB for production
184+
},
185+
},
186+
ci: {
187+
verbose: true,
188+
autoInstall: true,
189+
cache: {
190+
enabled: false,
191+
},
192+
},
193+
},
194+
195+
/**
196+
* Verbose output
197+
*/
198+
verbose: true,
199+
200+
/**
201+
* Installation path for packages
202+
*/
203+
installPath: '/usr/local',
204+
205+
/**
206+
* Auto-install missing dependencies
207+
*/
208+
autoInstall: true,
209+
210+
/**
211+
* Install runtime dependencies
212+
*/
213+
installDependencies: false,
214+
215+
/**
216+
* Install build-time dependencies
217+
*/
218+
installBuildDeps: false,
219+
}
220+
221+
export default config

deps.yaml

Lines changed: 0 additions & 20 deletions
This file was deleted.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
],
6363
"devDependencies": {
6464
"buddy-bot": "0.9.4",
65+
"ts-pantry": "link:../pantry/packages/ts-pantry",
6566
"typescript": "5.9.2"
6667
}
6768
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{}
1+
{"name":"temp"}

0 commit comments

Comments
 (0)