appshot-cli 0.8.6 → 0.8.7

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.
package/README.md CHANGED
@@ -170,7 +170,7 @@ final/
170
170
 
171
171
  ### Project Structure
172
172
 
173
- Appshot uses a simple, predictable directory structure:
173
+ Appshot creates and manages the following directory structure in your project:
174
174
 
175
175
  ```
176
176
  your-project/
@@ -178,16 +178,38 @@ your-project/
178
178
  │ ├── config.json # Main configuration
179
179
  │ ├── captions/ # Device-specific captions
180
180
  │ │ ├── iphone.json
181
- │ │ └── ipad.json
182
- └── caption-history.json # Autocomplete history
183
- ├── screenshots/ # Original screenshots
181
+ │ │ ├── ipad.json
182
+ │ ├── mac.json
183
+ │ │ └── watch.json
184
+ │ ├── caption-history.json # Autocomplete history (created on use)
185
+ │ ├── ai-config.json # AI translation settings (optional)
186
+ │ ├── processed/ # Watch mode tracking (macOS only)
187
+ │ └── watch.pid # Watch service PID (macOS only)
188
+ ├── screenshots/ # Your original screenshots
184
189
  │ ├── iphone/
190
+ │ │ └── background.png # Optional device background
185
191
  │ ├── ipad/
186
- └── mac/
187
- ├── frames/ # Device frames (auto-downloaded)
192
+ ├── mac/
193
+ │ └── watch/
188
194
  └── final/ # Generated output
195
+ ├── iphone/
196
+ │ ├── en/ # Language subdirectory (always created)
197
+ │ ├── es/ # Additional languages as needed
198
+ │ └── fr/
199
+ └── ipad/
200
+ └── en/
189
201
  ```
190
202
 
203
+ **Created by `appshot init`:**
204
+ - `.appshot/` directory with config.json
205
+ - `.appshot/captions/` with device JSON files
206
+ - `screenshots/` directories for each device type
207
+
208
+ **Created during usage:**
209
+ - `final/` - Created when you run `appshot build`
210
+ - `.appshot/caption-history.json` - Created when using captions
211
+ - `.appshot/processed/` - Created by watch mode (macOS)
212
+
191
213
  ### Configuration Overview
192
214
 
193
215
  All settings are stored in `.appshot/config.json`:
@@ -207,7 +229,7 @@ All settings are stored in `.appshot/config.json`:
207
229
  },
208
230
  "devices": {
209
231
  "iphone": {
210
- "resolution": "1284x2778",
232
+ "resolution": "1290x2796",
211
233
  "autoFrame": true
212
234
  }
213
235
  }
@@ -1468,7 +1490,7 @@ appshot validate [options]
1468
1490
  "devices": {
1469
1491
  "iphone": {
1470
1492
  "input": "./screenshots/iphone",
1471
- "resolution": "1284x2778",
1493
+ "resolution": "1290x2796",
1472
1494
  "autoFrame": true,
1473
1495
  "preferredFrame": "frame-name",
1474
1496
  "partialFrame": false,
@@ -1498,7 +1520,7 @@ Each device can override global settings:
1498
1520
  "iphone": {
1499
1521
  // Required
1500
1522
  "input": "./screenshots/iphone",
1501
- "resolution": "1284x2778",
1523
+ "resolution": "1290x2796",
1502
1524
 
1503
1525
  // Frame options
1504
1526
  "autoFrame": true,
@@ -1654,7 +1676,7 @@ cat > .appshot/config.json << EOF
1654
1676
  {
1655
1677
  "gradient": {"colors": ["#FF5733", "#FFC300"]},
1656
1678
  "devices": {
1657
- "iphone": {"resolution": "1284x2778"}
1679
+ "iphone": {"resolution": "1290x2796"}
1658
1680
  }
1659
1681
  }
1660
1682
  EOF
@@ -1692,7 +1714,7 @@ def generate_screenshots(device, captions):
1692
1714
  config = {
1693
1715
  "gradient": {"colors": ["#0077BE", "#33CCCC"]},
1694
1716
  "devices": {
1695
- device: {"resolution": "1284x2778"}
1717
+ device: {"resolution": "1290x2796"}
1696
1718
  }
1697
1719
  }
1698
1720
 
@@ -1802,7 +1824,7 @@ For identical device positioning across all screenshots:
1802
1824
  {
1803
1825
  "devices": {
1804
1826
  "iphone": {
1805
- "resolution": "1284x2778",
1827
+ "resolution": "1290x2796",
1806
1828
  "autoFrame": false,
1807
1829
  "preferredFrame": "iphone-16-pro-max-portrait",
1808
1830
  "frameScale": 0.85,
@@ -2050,12 +2072,25 @@ appshot/
2050
2072
  ├── src/
2051
2073
  │ ├── cli.ts # Entry point
2052
2074
  │ ├── commands/ # Command implementations
2053
- │ ├── core/ # Core functionality
2054
- │ ├── services/ # Services (fonts, translation)
2055
- └── types.ts # TypeScript definitions
2056
- ├── tests/ # Test files
2057
- ├── frames/ # Device frame images
2058
- └── examples/ # Example projects
2075
+ │ ├── core/ # Core functionality
2076
+ │ ├── services/ # Services (fonts, translation, etc)
2077
+ ├── types/ # TypeScript type definitions
2078
+ ├── utils/ # Utility functions
2079
+ │ └── types.ts # Main type definitions
2080
+ ├── tests/ # Test files
2081
+ │ ├── integration/ # Integration tests
2082
+ │ └── visual/ # Visual regression tests
2083
+ ├── fonts/ # Embedded font files
2084
+ │ ├── Inter/
2085
+ │ ├── Poppins/
2086
+ │ ├── Montserrat/
2087
+ │ └── ... # 10+ font families
2088
+ ├── frames/ # Device frame images
2089
+ ├── assets/ # Static assets
2090
+ │ ├── specs/ # App Store specifications
2091
+ │ └── frames/ # Frame metadata
2092
+ └── examples/ # Example projects
2093
+ └── minimal-project/ # Basic example setup
2059
2094
  ```
2060
2095
 
2061
2096
  ### Testing
package/dist/cli.js CHANGED
@@ -53,7 +53,7 @@ ${pc.bold('Common Workflows:')}
53
53
  $ appshot watch start --process # Auto-process new screenshots` : ''}
54
54
 
55
55
  ${pc.dim('Docs: https://github.com/chrisvanbuskirk/appshot')}`)
56
- .version('0.8.6')
56
+ .version('0.8.7')
57
57
  .addHelpText('after', `\n${pc.bold('Environment Variables:')}
58
58
  OPENAI_API_KEY API key for translation features
59
59
  APPSHOT_DISABLE_FONT_SCAN Skip system font detection (CI optimization)
@@ -46,10 +46,10 @@ ${pc.bold('Next Steps:')}
46
46
  paddingTop: 100
47
47
  },
48
48
  devices: {
49
- iphone: { input: './screenshots/iphone', resolution: '1284x2778', autoFrame: true },
49
+ iphone: { input: './screenshots/iphone', resolution: '1290x2796', autoFrame: true },
50
50
  ipad: { input: './screenshots/ipad', resolution: '2048x2732', autoFrame: true },
51
51
  mac: { input: './screenshots/mac', resolution: '2880x1800', autoFrame: true },
52
- watch: { input: './screenshots/watch', resolution: '368x448', autoFrame: true }
52
+ watch: { input: './screenshots/watch', resolution: '410x502', autoFrame: true }
53
53
  }
54
54
  };
55
55
  // Create .appshot directory
@@ -520,7 +520,7 @@ export class DoctorService {
520
520
  };
521
521
  return {
522
522
  timestamp: new Date().toISOString(),
523
- version: '0.8.6',
523
+ version: '0.8.7',
524
524
  platform: platform(),
525
525
  checks: categorizedChecks,
526
526
  summary,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appshot-cli",
3
- "version": "0.8.6",
3
+ "version": "0.8.7",
4
4
  "description": "Generate App Store–ready screenshots with frames, gradients, and captions",
5
5
  "bin": {
6
6
  "appshot": "bin/appshot.js"