@aurora.purecore.codes/latest 1.0.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.
@@ -0,0 +1,416 @@
1
+ # Aurora Vault - Architecture Overview
2
+
3
+ ## System Architecture
4
+
5
+ ```
6
+ ┌─────────────────────────────────────────────────────────────────┐
7
+ │ User's Machine │
8
+ ├─────────────────────────────────────────────────────────────────┤
9
+ │ │
10
+ │ ┌──────────────┐ │
11
+ │ │ Terminal │ │
12
+ │ │ │ │
13
+ │ │ $ aurora init│ │
14
+ │ └──────┬───────┘ │
15
+ │ │ │
16
+ │ v │
17
+ │ ┌──────────────────────────────────────────────────────────┐ │
18
+ │ │ aurora-npm (Node.js CLI) │ │
19
+ │ │ │ │
20
+ │ │ ┌────────────────────────────────────────────────────┐ │ │
21
+ │ │ │ 1. Platform Detection │ │ │
22
+ │ │ │ - Detect OS (Linux/macOS/Windows) │ │ │
23
+ │ │ │ - Detect Architecture (x64/ARM64) │ │ │
24
+ │ │ │ - Map to binary name │ │ │
25
+ │ │ └────────────────────────────────────────────────────┘ │ │
26
+ │ │ │ │ │
27
+ │ │ v │ │
28
+ │ │ ┌────────────────────────────────────────────────────┐ │ │
29
+ │ │ │ 2. Check Cache │ │ │
30
+ │ │ │ ~/.aurora_austral/bin/austral │ │ │
31
+ │ │ │ ~/.aurora_austral/bin/stdlib/ │ │ │
32
+ │ │ └────────────────────────────────────────────────────┘ │ │
33
+ │ │ │ │ │
34
+ │ │ v │ │
35
+ │ │ ┌────────────────────────────────────────────────────┐ │ │
36
+ │ │ │ 3. Download if Needed │ │ │
37
+ │ │ │ - Compiler binary from GitHub Release │ │ │
38
+ │ │ │ - Standard library from GitHub Repo │ │ │
39
+ │ │ └────────────────────────────────────────────────────┘ │ │
40
+ │ │ │ │ │
41
+ │ │ v │ │
42
+ │ │ ┌────────────────────────────────────────────────────┐ │ │
43
+ │ │ │ 4. Setup Project │ │ │
44
+ │ │ │ - Create directory structure │ │ │
45
+ │ │ │ - Copy binaries to .aurora/ │ │ │
46
+ │ │ │ - Generate files (Makefile, etc.) │ │ │
47
+ │ │ └────────────────────────────────────────────────────┘ │ │
48
+ │ └──────────────────────────────────────────────────────────┘ │
49
+ │ │
50
+ │ ┌──────────────────────────────────────────────────────────┐ │
51
+ │ │ File System Structure │ │
52
+ │ │ │ │
53
+ │ │ ~/.aurora_austral/ (Global Cache) │ │
54
+ │ │ ├── bin/ │ │
55
+ │ │ │ ├── austral (Cached compiler) │ │
56
+ │ │ │ └── stdlib/ (Cached stdlib) │ │
57
+ │ │ └── packages/ (Cached packages) │ │
58
+ │ │ │ │
59
+ │ │ ./project/ (User Project) │ │
60
+ │ │ ├── aurora.json (Config) │ │
61
+ │ │ ├── Makefile (Build script) │ │
62
+ │ │ ├── src/ (Source code) │ │
63
+ │ │ ├── aurora_packages/ (Installed packages) │ │
64
+ │ │ └── .aurora/ (Local binaries) │ │
65
+ │ │ ├── bin/austral (Local compiler) │ │
66
+ │ │ └── stdlib/ (Local stdlib) │ │
67
+ │ └──────────────────────────────────────────────────────────┘ │
68
+ │ │
69
+ └─────────────────────────────────────────────────────────────────┘
70
+
71
+ │ HTTPS
72
+ v
73
+ ┌─────────────────────────────────────────────────────────────────┐
74
+ │ GitHub │
75
+ ├─────────────────────────────────────────────────────────────────┤
76
+ │ │
77
+ │ ┌──────────────────────────────────────────────────────────┐ │
78
+ │ │ austral/austral Repository │ │
79
+ │ │ │ │
80
+ │ │ Releases: │ │
81
+ │ │ └── v0.2.0/ │ │
82
+ │ │ ├── austral-linux (Linux x64 binary) │ │
83
+ │ │ ├── austral-macos (macOS binary) │ │
84
+ │ │ └── austral-windows.exe (Windows binary) │ │
85
+ │ │ │ │
86
+ │ │ Repository: │ │
87
+ │ │ └── standard/src/ (Standard library) │ │
88
+ │ │ ├── Tuples.aui │ │
89
+ │ │ ├── Tuples.aum │ │
90
+ │ │ ├── String.aui │ │
91
+ │ │ └── ... │ │
92
+ │ └──────────────────────────────────────────────────────────┘ │
93
+ │ │
94
+ └─────────────────────────────────────────────────────────────────┘
95
+ ```
96
+
97
+ ## Data Flow
98
+
99
+ ### First Init (No Cache)
100
+
101
+ ```
102
+ User runs: aurora init
103
+
104
+ ├─> 1. Detect Platform
105
+ │ └─> Result: "linux-x64"
106
+
107
+ ├─> 2. Check Cache
108
+ │ └─> Result: Not found
109
+
110
+ ├─> 3. Download Compiler
111
+ │ ├─> GET https://github.com/austral/austral/releases/download/v0.2.0/austral-linux
112
+ │ ├─> Save to: ~/.aurora_austral/bin/austral
113
+ │ └─> Copy to: .aurora/bin/austral
114
+
115
+ ├─> 4. Download Stdlib
116
+ │ ├─> GET https://api.github.com/repos/austral/austral/contents/standard/src
117
+ │ ├─> Download all files recursively
118
+ │ ├─> Save to: ~/.aurora_austral/bin/stdlib/
119
+ │ └─> Copy to: .aurora/stdlib/
120
+
121
+ ├─> 5. Create Project Structure
122
+ │ ├─> Create: aurora.json
123
+ │ ├─> Create: src/Main.aui
124
+ │ ├─> Create: src/Main.aum
125
+ │ ├─> Create: Makefile
126
+ │ └─> Create: .gitignore
127
+
128
+ └─> 6. Update Configuration
129
+ └─> Update aurora.json with paths
130
+
131
+ Total Time: 10-30 seconds
132
+ ```
133
+
134
+ ### Second Init (With Cache)
135
+
136
+ ```
137
+ User runs: aurora init
138
+
139
+ ├─> 1. Detect Platform
140
+ │ └─> Result: "linux-x64"
141
+
142
+ ├─> 2. Check Cache
143
+ │ └─> Result: Found in ~/.aurora_austral/
144
+
145
+ ├─> 3. Copy from Cache
146
+ │ ├─> Copy: ~/.aurora_austral/bin/austral → .aurora/bin/austral
147
+ │ └─> Copy: ~/.aurora_austral/bin/stdlib/ → .aurora/stdlib/
148
+
149
+ ├─> 4. Create Project Structure
150
+ │ ├─> Create: aurora.json
151
+ │ ├─> Create: src/Main.aui
152
+ │ ├─> Create: src/Main.aum
153
+ │ ├─> Create: Makefile
154
+ │ └─> Create: .gitignore
155
+
156
+ └─> 5. Update Configuration
157
+ └─> Update aurora.json with paths
158
+
159
+ Total Time: 1-3 seconds
160
+ ```
161
+
162
+ ## Component Diagram
163
+
164
+ ```
165
+ ┌─────────────────────────────────────────────────────────────┐
166
+ │ aurora-npm CLI │
167
+ ├─────────────────────────────────────────────────────────────┤
168
+ │ │
169
+ │ ┌──────────────────────────────────────────────────────┐ │
170
+ │ │ Command Parser (Commander.js) │ │
171
+ │ │ - aurora init │ │
172
+ │ │ - aurora install │ │
173
+ │ │ - aurora list │ │
174
+ │ │ - aurora update │ │
175
+ │ └──────────────────────────────────────────────────────┘ │
176
+ │ │ │
177
+ │ v │
178
+ │ ┌──────────────────────────────────────────────────────┐ │
179
+ │ │ Platform Module │ │
180
+ │ │ - getPlatform() │ │
181
+ │ │ - detectOS() │ │
182
+ │ │ - detectArch() │ │
183
+ │ │ - mapToBinaryName() │ │
184
+ │ └──────────────────────────────────────────────────────┘ │
185
+ │ │ │
186
+ │ v │
187
+ │ ┌──────────────────────────────────────────────────────┐ │
188
+ │ │ Download Module │ │
189
+ │ │ - downloadCompiler() │ │
190
+ │ │ - downloadStdlib() │ │
191
+ │ │ - downloadDirectory() │ │
192
+ │ │ - downloadDirectoryFromRepo() │ │
193
+ │ └──────────────────────────────────────────────────────┘ │
194
+ │ │ │
195
+ │ v │
196
+ │ ┌──────────────────────────────────────────────────────┐ │
197
+ │ │ Cache Module │ │
198
+ │ │ - checkCache() │ │
199
+ │ │ - saveToCache() │ │
200
+ │ │ - copyFromCache() │ │
201
+ │ │ - ensureDirs() │ │
202
+ │ └──────────────────────────────────────────────────────┘ │
203
+ │ │ │
204
+ │ v │
205
+ │ ┌──────────────────────────────────────────────────────┐ │
206
+ │ │ Project Setup Module │ │
207
+ │ │ - createProjectStructure() │ │
208
+ │ │ - generateAuroraJson() │ │
209
+ │ │ - generateMakefile() │ │
210
+ │ │ - generateExampleFiles() │ │
211
+ │ │ - generateGitignore() │ │
212
+ │ └──────────────────────────────────────────────────────┘ │
213
+ │ │ │
214
+ │ v │
215
+ │ ┌──────────────────────────────────────────────────────┐ │
216
+ │ │ UI Module (ora, chalk) │ │
217
+ │ │ - showSpinner() │ │
218
+ │ │ - showSuccess() │ │
219
+ │ │ - showError() │ │
220
+ │ │ - showInfo() │ │
221
+ │ └──────────────────────────────────────────────────────┘ │
222
+ │ │
223
+ └─────────────────────────────────────────────────────────────┘
224
+ ```
225
+
226
+ ## Sequence Diagram
227
+
228
+ ```
229
+ User CLI Platform Download Cache GitHub FileSystem
230
+ │ │ │ │ │ │ │
231
+ │─aurora init─>│ │ │ │ │ │
232
+ │ │ │ │ │ │ │
233
+ │ │─getPlatform()─>│ │ │ │ │
234
+ │ │<──"linux-x64"──│ │ │ │ │
235
+ │ │ │ │ │ │ │
236
+ │ │─checkCache()───────────────────────────>│ │ │
237
+ │ │<──"not found"──────────────────────────│ │ │
238
+ │ │ │ │ │ │ │
239
+ │ │─downloadCompiler()──────────>│ │ │ │
240
+ │ │ │ │────GET────────────────>│ │
241
+ │ │ │ │<──binary───────────────│ │
242
+ │ │ │ │ │ │ │
243
+ │ │ │ │─saveToCache()─────────>│ │
244
+ │ │ │ │ │─write──────────────────>│
245
+ │ │ │ │ │<──ok───────────────────│
246
+ │ │ │ │<──ok───────│ │ │
247
+ │ │<──ok───────────────────────│ │ │ │
248
+ │ │ │ │ │ │ │
249
+ │ │─downloadStdlib()────────────>│ │ │ │
250
+ │ │ │ │────GET────────────────>│ │
251
+ │ │ │ │<──files────────────────│ │
252
+ │ │ │ │ │ │ │
253
+ │ │ │ │─saveToCache()─────────>│ │
254
+ │ │ │ │ │─write──────────────────>│
255
+ │ │ │ │ │<──ok───────────────────│
256
+ │ │ │ │<──ok───────│ │ │
257
+ │ │<──ok───────────────────────│ │ │ │
258
+ │ │ │ │ │ │ │
259
+ │ │─createProject()────────────────────────────────────────────────────>│
260
+ │ │ │ │ │ │ │
261
+ │ │─copyBinaries()─────────────────────────>│ │ │
262
+ │ │ │ │ │─copy───────────────────>│
263
+ │ │ │ │ │<──ok───────────────────│
264
+ │ │<──ok───────────────────────────────────│ │ │
265
+ │ │ │ │ │ │ │
266
+ │ │─generateFiles()────────────────────────────────────────────────────>│
267
+ │ │<──ok───────────────────────────────────────────────────────────────│
268
+ │ │ │ │ │ │ │
269
+ │<──success───│ │ │ │ │ │
270
+ │ │ │ │ │ │ │
271
+ ```
272
+
273
+ ## Platform Mapping
274
+
275
+ ```
276
+ ┌──────────────────────────────────────────────────────────────┐
277
+ │ Platform Detection │
278
+ ├──────────────────────────────────────────────────────────────┤
279
+ │ │
280
+ │ os.platform() + os.arch() → Platform ID → Binary │
281
+ │ ───────────── ───────── ─────────── ────── │
282
+ │ │
283
+ │ linux + x64 → linux-x64 → austral-linux
284
+ │ darwin + x64 → darwin-x64 → austral-macos
285
+ │ darwin + arm64 → darwin-arm64 → austral-macos
286
+ │ win32 + x64 → win32-x64 → austral-windows.exe
287
+ │ │
288
+ └──────────────────────────────────────────────────────────────┘
289
+ ```
290
+
291
+ ## Cache Strategy
292
+
293
+ ```
294
+ ┌─────────────────────────────────────────────────────────────┐
295
+ │ Cache Hierarchy │
296
+ ├─────────────────────────────────────────────────────────────┤
297
+ │ │
298
+ │ Level 1: Global Cache (~/.aurora_austral/) │
299
+ │ ├── Shared across all projects │
300
+ │ ├── Persists between projects │
301
+ │ └── Used for: Compiler, Stdlib, Packages │
302
+ │ │
303
+ │ Level 2: Local Cache (.aurora/) │
304
+ │ ├── Project-specific │
305
+ │ ├── Makes project portable │
306
+ │ └── Used for: Compiler, Stdlib │
307
+ │ │
308
+ │ Level 3: Project Files (aurora_packages/) │
309
+ │ ├── Installed packages │
310
+ │ ├── Project-specific dependencies │
311
+ │ └── Tracked in version control (optional) │
312
+ │ │
313
+ └─────────────────────────────────────────────────────────────┘
314
+ ```
315
+
316
+ ## Error Handling Flow
317
+
318
+ ```
319
+ ┌─────────────────────────────────────────────────────────────┐
320
+ │ Error Handling │
321
+ ├─────────────────────────────────────────────────────────────┤
322
+ │ │
323
+ │ Try: Download Compiler │
324
+ │ │ │
325
+ │ ├─> Success │
326
+ │ │ └─> Continue to stdlib download │
327
+ │ │ │
328
+ │ └─> Failure │
329
+ │ ├─> Network Error │
330
+ │ │ └─> Show: "Check internet connection" │
331
+ │ │ │
332
+ │ ├─> 404 Not Found │
333
+ │ │ └─> Show: "Binary not available for platform" │
334
+ │ │ │
335
+ │ ├─> 403 Rate Limit │
336
+ │ │ └─> Show: "GitHub rate limit exceeded" │
337
+ │ │ │
338
+ │ └─> Other Error │
339
+ │ └─> Show: "Failed to download: {message}" │
340
+ │ │
341
+ │ Fallback: Continue without binary │
342
+ │ └─> Suggest: Use --no-binary or install manually │
343
+ │ │
344
+ └─────────────────────────────────────────────────────────────┘
345
+ ```
346
+
347
+ ## Build Process Flow
348
+
349
+ ```
350
+ ┌─────────────────────────────────────────────────────────────┐
351
+ │ Build Process │
352
+ ├─────────────────────────────────────────────────────────────┤
353
+ │ │
354
+ │ User runs: make build │
355
+ │ │ │
356
+ │ v │
357
+ │ Makefile detects compiler: │
358
+ │ │ │
359
+ │ ├─> Check: .aurora/bin/austral │
360
+ │ │ └─> Found? Use it │
361
+ │ │ │
362
+ │ ├─> Check: austral in PATH │
363
+ │ │ └─> Found? Use it │
364
+ │ │ │
365
+ │ └─> Not found? Error │
366
+ │ │
367
+ │ Makefile detects stdlib: │
368
+ │ │ │
369
+ │ ├─> Check: .aurora/stdlib │
370
+ │ │ └─> Found? Use it │
371
+ │ │ │
372
+ │ ├─> Check: /usr/local/lib/austral/standard/src │
373
+ │ │ └─> Found? Use it │
374
+ │ │ │
375
+ │ └─> Not found? Error │
376
+ │ │
377
+ │ Compile: │
378
+ │ │ │
379
+ │ └─> austral compile <stdlib> <src> --entrypoint=... │
380
+ │ └─> Output: ./main │
381
+ │ │
382
+ └─────────────────────────────────────────────────────────────┘
383
+ ```
384
+
385
+ ## Key Design Principles
386
+
387
+ 1. **Fail Gracefully**: Never crash, always provide helpful error messages
388
+ 2. **Cache Aggressively**: Download once, use many times
389
+ 3. **Auto-Detect Everything**: Minimize user configuration
390
+ 4. **Provide Fallbacks**: Always have a plan B (--no-binary, system install)
391
+ 5. **Be Portable**: Projects should work anywhere (local binaries)
392
+ 6. **Be Fast**: Use cache, parallel downloads, efficient algorithms
393
+ 7. **Be Secure**: Validate downloads, check permissions, handle errors
394
+ 8. **Be User-Friendly**: Clear messages, progress indicators, helpful docs
395
+
396
+ ## Performance Optimizations
397
+
398
+ 1. **Parallel Downloads**: Download compiler and stdlib simultaneously (future)
399
+ 2. **Incremental Updates**: Only download changed files
400
+ 3. **Compression**: Use compressed archives (future)
401
+ 4. **CDN**: Use GitHub's CDN for fast downloads
402
+ 5. **Cache Validation**: Check if cache is up-to-date
403
+ 6. **Lazy Loading**: Only download what's needed
404
+
405
+ ## Security Considerations
406
+
407
+ 1. **HTTPS Only**: All downloads over HTTPS
408
+ 2. **Checksum Verification**: Verify file integrity (future)
409
+ 3. **Signature Verification**: Verify binary signatures (future)
410
+ 4. **Sandboxing**: Run compiler in isolated environment (future)
411
+ 5. **Permission Checks**: Verify file permissions
412
+ 6. **Input Validation**: Validate all user inputs
413
+
414
+ ---
415
+
416
+ This architecture provides a robust, scalable, and user-friendly system for distributing Aurora Austral binaries!
@@ -0,0 +1,216 @@
1
+ # Aurora Austral - Binary Release Guide
2
+
3
+ Este guia explica como compilar e fazer release dos binários do compilador Aurora Austral para múltiplas plataformas.
4
+
5
+ ## Plataformas Suportadas
6
+
7
+ - **Linux x64** (`linux-x64`)
8
+ - **macOS x64** (`darwin-x64`)
9
+ - **macOS ARM64** (`darwin-arm64`)
10
+ - **Windows x64** (`win32-x64`)
11
+
12
+ ## Compilando Binários
13
+
14
+ ### Linux x64
15
+
16
+ ```bash
17
+ # No Linux ou WSL
18
+ cd aurora-austral
19
+ make
20
+ cp austral releases/austral-linux-x64
21
+ ```
22
+
23
+ ### macOS x64
24
+
25
+ ```bash
26
+ # No macOS Intel
27
+ cd aurora-austral
28
+ make
29
+ cp austral releases/austral-darwin-x64
30
+ ```
31
+
32
+ ### macOS ARM64 (M1/M2)
33
+
34
+ ```bash
35
+ # No macOS Apple Silicon
36
+ cd aurora-austral
37
+ make
38
+ cp austral releases/austral-darwin-arm64
39
+ ```
40
+
41
+ ### Windows x64
42
+
43
+ ```bash
44
+ # No Windows com WSL ou cross-compile
45
+ cd aurora-austral
46
+ make
47
+ cp austral releases/austral-win32-x64.exe
48
+ ```
49
+
50
+ ## Criando Release no GitHub
51
+
52
+ ### 1. Criar Tag
53
+
54
+ ```bash
55
+ git tag -a v0.2.0 -m "Release v0.2.0"
56
+ git push origin v0.2.0
57
+ ```
58
+
59
+ ### 2. Criar Release via GitHub CLI
60
+
61
+ ```bash
62
+ gh release create v0.2.0 \
63
+ releases/austral-linux-x64 \
64
+ releases/austral-darwin-x64 \
65
+ releases/austral-darwin-arm64 \
66
+ releases/austral-win32-x64.exe \
67
+ --title "Aurora Austral v0.2.0" \
68
+ --notes "Compiled binaries for multiple platforms"
69
+ ```
70
+
71
+ ### 3. Ou via Interface Web
72
+
73
+ 1. Vá para https://github.com/Aurora-Austral/aurora-austral/releases/new
74
+ 2. Escolha a tag criada
75
+ 3. Faça upload dos binários
76
+ 4. Publique o release
77
+
78
+ ## Estrutura de Diretórios
79
+
80
+ ```
81
+ aurora-austral/
82
+ ├── releases/
83
+ │ ├── austral-linux-x64
84
+ │ ├── austral-darwin-x64
85
+ │ ├── austral-darwin-arm64
86
+ │ └── austral-win32-x64.exe
87
+ └── standard/
88
+ └── src/
89
+ ├── Tuples.aui
90
+ ├── Tuples.aum
91
+ └── ...
92
+ ```
93
+
94
+ ## Testando Binários
95
+
96
+ ### Linux/macOS
97
+
98
+ ```bash
99
+ chmod +x releases/austral-linux-x64
100
+ ./releases/austral-linux-x64 --version
101
+ ```
102
+
103
+ ### Windows
104
+
105
+ ```cmd
106
+ releases\austral-win32-x64.exe --version
107
+ ```
108
+
109
+ ## Usando com `aurora init`
110
+
111
+ Depois de fazer o release, os usuários podem usar:
112
+
113
+ ```bash
114
+ # Cria projeto e baixa binários automaticamente
115
+ aurora init
116
+
117
+ # Ou sem baixar binários (usa instalação do sistema)
118
+ aurora init --no-binary
119
+ ```
120
+
121
+ ## Automatizando com GitHub Actions
122
+
123
+ Crie `.github/workflows/release.yml`:
124
+
125
+ ```yaml
126
+ name: Release Binaries
127
+
128
+ on:
129
+ push:
130
+ tags:
131
+ - 'v*'
132
+
133
+ jobs:
134
+ build:
135
+ strategy:
136
+ matrix:
137
+ os: [ubuntu-latest, macos-latest, macos-14, windows-latest]
138
+ include:
139
+ - os: ubuntu-latest
140
+ artifact: austral-linux-x64
141
+ - os: macos-latest
142
+ artifact: austral-darwin-x64
143
+ - os: macos-14
144
+ artifact: austral-darwin-arm64
145
+ - os: windows-latest
146
+ artifact: austral-win32-x64.exe
147
+
148
+ runs-on: ${{ matrix.os }}
149
+
150
+ steps:
151
+ - uses: actions/checkout@v3
152
+
153
+ - name: Install dependencies
154
+ run: |
155
+ # Instalar OCaml, dune, etc.
156
+
157
+ - name: Build
158
+ run: make
159
+
160
+ - name: Upload artifact
161
+ uses: actions/upload-artifact@v3
162
+ with:
163
+ name: ${{ matrix.artifact }}
164
+ path: austral
165
+
166
+ release:
167
+ needs: build
168
+ runs-on: ubuntu-latest
169
+ steps:
170
+ - uses: actions/download-artifact@v3
171
+
172
+ - name: Create Release
173
+ uses: softprops/action-gh-release@v1
174
+ with:
175
+ files: |
176
+ austral-linux-x64/austral
177
+ austral-darwin-x64/austral
178
+ austral-darwin-arm64/austral
179
+ austral-win32-x64.exe/austral
180
+ ```
181
+
182
+ ## Verificando Integridade
183
+
184
+ Gere checksums para os binários:
185
+
186
+ ```bash
187
+ cd releases
188
+ sha256sum austral-* > SHA256SUMS
189
+ ```
190
+
191
+ Inclua o arquivo `SHA256SUMS` no release.
192
+
193
+ ## Notas
194
+
195
+ - Os binários devem ser **staticamente linkados** quando possível
196
+ - Teste cada binário na plataforma alvo antes do release
197
+ - Mantenha a stdlib sincronizada com a versão do compilador
198
+ - Documente breaking changes no CHANGELOG
199
+
200
+ ## Troubleshooting
201
+
202
+ ### Binário não executa
203
+
204
+ - **Linux**: Verifique se tem permissão de execução (`chmod +x`)
205
+ - **macOS**: Pode precisar remover quarentena (`xattr -d com.apple.quarantine austral`)
206
+ - **Windows**: Verifique se não está bloqueado pelo antivírus
207
+
208
+ ### Erro "cannot execute: required file not found"
209
+
210
+ - Binário foi compilado com dependências dinâmicas (Nix, etc.)
211
+ - Recompile com linking estático ou inclua dependências
212
+
213
+ ### Versão incompatível
214
+
215
+ - Certifique-se de que a stdlib corresponde à versão do compilador
216
+ - Use a mesma tag/commit para compilador e stdlib