@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.
- package/ARCHITECTURE.md +416 -0
- package/BINARY_RELEASE.md +216 -0
- package/CONTEXT_SUMMARY.md +366 -0
- package/DEPLOYMENT_CHECKLIST.md +560 -0
- package/IMPLEMENTATION_STATUS.md +353 -0
- package/NIX_BINARY_ISSUE.md +264 -0
- package/QUICK_START.md +344 -0
- package/README.md +333 -0
- package/TEST_INIT_COMMAND.md +380 -0
- package/TEST_LOCAL.md +307 -0
- package/bin/aurora.js +703 -0
- package/package.json +27 -0
package/QUICK_START.md
ADDED
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
# Aurora Austral - Quick Start Guide
|
|
2
|
+
|
|
3
|
+
Get started with Aurora Austral in 5 minutes! 🚀
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g aurora-npm
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Create Your First Project
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# 1. Create project directory
|
|
15
|
+
mkdir hello-aurora
|
|
16
|
+
cd hello-aurora
|
|
17
|
+
|
|
18
|
+
# 2. Initialize project (downloads compiler automatically)
|
|
19
|
+
aurora init
|
|
20
|
+
|
|
21
|
+
# 3. Build and run
|
|
22
|
+
make build
|
|
23
|
+
./main
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Output:**
|
|
27
|
+
```
|
|
28
|
+
Hello, Aurora Austral!
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
That's it! You now have a working Aurora Austral project. 🎉
|
|
32
|
+
|
|
33
|
+
## What Just Happened?
|
|
34
|
+
|
|
35
|
+
The `aurora init` command:
|
|
36
|
+
|
|
37
|
+
1. ✅ Downloaded the Austral compiler binary for your platform
|
|
38
|
+
2. ✅ Downloaded the standard library
|
|
39
|
+
3. ✅ Created project structure with example code
|
|
40
|
+
4. ✅ Generated a Makefile for easy building
|
|
41
|
+
5. ✅ Set up `.gitignore` for version control
|
|
42
|
+
|
|
43
|
+
## Project Structure
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
hello-aurora/
|
|
47
|
+
├── aurora.json # Project configuration
|
|
48
|
+
├── Makefile # Build configuration
|
|
49
|
+
├── src/
|
|
50
|
+
│ ├── Main.aui # Module interface
|
|
51
|
+
│ └── Main.aum # Module implementation
|
|
52
|
+
├── .aurora/
|
|
53
|
+
│ ├── bin/austral # Compiler (downloaded)
|
|
54
|
+
│ └── stdlib/ # Standard library (downloaded)
|
|
55
|
+
└── aurora_packages/ # Installed packages
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Next Steps
|
|
59
|
+
|
|
60
|
+
### 1. Edit Your Code
|
|
61
|
+
|
|
62
|
+
Open `src/Main.aum` and modify it:
|
|
63
|
+
|
|
64
|
+
```austral
|
|
65
|
+
module body Example.Main is
|
|
66
|
+
function main(): ExitCode is
|
|
67
|
+
printLn("Welcome to Aurora Austral!");
|
|
68
|
+
printLn("A language with linear types!");
|
|
69
|
+
return ExitSuccess();
|
|
70
|
+
end;
|
|
71
|
+
end module body.
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 2. Rebuild and Run
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
make build
|
|
78
|
+
./main
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 3. Install Packages
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# List available packages
|
|
85
|
+
aurora list
|
|
86
|
+
|
|
87
|
+
# Install a package
|
|
88
|
+
aurora install dpop-token
|
|
89
|
+
|
|
90
|
+
# Use it in your code
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 4. Use Installed Packages
|
|
94
|
+
|
|
95
|
+
Edit `src/Main.aui`:
|
|
96
|
+
|
|
97
|
+
```austral
|
|
98
|
+
module Example.Main is
|
|
99
|
+
import DpopToken (
|
|
100
|
+
generateToken,
|
|
101
|
+
TokenConfig
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
function main(): ExitCode;
|
|
105
|
+
end module.
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Edit `src/Main.aum`:
|
|
109
|
+
|
|
110
|
+
```austral
|
|
111
|
+
module body Example.Main is
|
|
112
|
+
function main(): ExitCode is
|
|
113
|
+
let config: TokenConfig := makeTokenConfig();
|
|
114
|
+
let token: String := generateToken(config);
|
|
115
|
+
printLn(token);
|
|
116
|
+
return ExitSuccess();
|
|
117
|
+
end;
|
|
118
|
+
end module body.
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Common Commands
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Initialize new project
|
|
125
|
+
aurora init
|
|
126
|
+
|
|
127
|
+
# Install package
|
|
128
|
+
aurora install <package-name>
|
|
129
|
+
|
|
130
|
+
# List available packages
|
|
131
|
+
aurora list
|
|
132
|
+
|
|
133
|
+
# Search for packages
|
|
134
|
+
aurora find <search-term>
|
|
135
|
+
|
|
136
|
+
# Update packages
|
|
137
|
+
aurora update
|
|
138
|
+
|
|
139
|
+
# Build project
|
|
140
|
+
make build
|
|
141
|
+
|
|
142
|
+
# Run project
|
|
143
|
+
./main
|
|
144
|
+
|
|
145
|
+
# Clean build artifacts
|
|
146
|
+
make clean
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Platform Support
|
|
150
|
+
|
|
151
|
+
Aurora init automatically detects your platform and downloads the correct binary:
|
|
152
|
+
|
|
153
|
+
- ✅ **Linux x64** - Native support
|
|
154
|
+
- ✅ **macOS Intel** - Native support
|
|
155
|
+
- ✅ **macOS Apple Silicon** - Native support (M1/M2/M3)
|
|
156
|
+
- ✅ **Windows x64** - Via WSL
|
|
157
|
+
|
|
158
|
+
## Without Binary Download
|
|
159
|
+
|
|
160
|
+
If you prefer to install the compiler manually:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# Initialize without downloading binaries
|
|
164
|
+
aurora init --no-binary
|
|
165
|
+
|
|
166
|
+
# Make sure 'austral' is in your PATH
|
|
167
|
+
which austral
|
|
168
|
+
|
|
169
|
+
# Build normally
|
|
170
|
+
make build
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## VSCode Extension
|
|
174
|
+
|
|
175
|
+
For the best development experience, install the Aurora Austral VSCode extension:
|
|
176
|
+
|
|
177
|
+
1. Open VSCode
|
|
178
|
+
2. Go to Extensions (Ctrl+Shift+X)
|
|
179
|
+
3. Search for "Aurora Austral"
|
|
180
|
+
4. Install
|
|
181
|
+
|
|
182
|
+
**Features:**
|
|
183
|
+
- Syntax highlighting
|
|
184
|
+
- Code snippets
|
|
185
|
+
- Package validation
|
|
186
|
+
- One-click package installation
|
|
187
|
+
- Error detection
|
|
188
|
+
|
|
189
|
+
## Example Projects
|
|
190
|
+
|
|
191
|
+
### Hello World
|
|
192
|
+
|
|
193
|
+
```austral
|
|
194
|
+
module body Example.Main is
|
|
195
|
+
function main(): ExitCode is
|
|
196
|
+
printLn("Hello, World!");
|
|
197
|
+
return ExitSuccess();
|
|
198
|
+
end;
|
|
199
|
+
end module body.
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### String Manipulation
|
|
203
|
+
|
|
204
|
+
```austral
|
|
205
|
+
module body Example.Main is
|
|
206
|
+
function main(): ExitCode is
|
|
207
|
+
let name: String := "Aurora";
|
|
208
|
+
let greeting: String := concat("Hello, ", name);
|
|
209
|
+
printLn(greeting);
|
|
210
|
+
return ExitSuccess();
|
|
211
|
+
end;
|
|
212
|
+
end module body.
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Using Standard Library
|
|
216
|
+
|
|
217
|
+
```austral
|
|
218
|
+
module body Example.Main is
|
|
219
|
+
import Austral.String (
|
|
220
|
+
concat,
|
|
221
|
+
length
|
|
222
|
+
);
|
|
223
|
+
|
|
224
|
+
function main(): ExitCode is
|
|
225
|
+
let text: String := "Aurora Austral";
|
|
226
|
+
let len: Nat64 := length(text);
|
|
227
|
+
printLn(concat("Length: ", intToString(len)));
|
|
228
|
+
return ExitSuccess();
|
|
229
|
+
end;
|
|
230
|
+
end module body.
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## Troubleshooting
|
|
234
|
+
|
|
235
|
+
### "austral: command not found"
|
|
236
|
+
|
|
237
|
+
**Solution:** Run `aurora init` again - it will download the compiler.
|
|
238
|
+
|
|
239
|
+
### "Permission denied" when running ./main
|
|
240
|
+
|
|
241
|
+
**Solution:**
|
|
242
|
+
```bash
|
|
243
|
+
chmod +x .aurora/bin/austral
|
|
244
|
+
chmod +x main
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### Build fails with "AUSTRAL_STDLIB not found"
|
|
248
|
+
|
|
249
|
+
**Solution:** The stdlib wasn't downloaded. Run:
|
|
250
|
+
```bash
|
|
251
|
+
aurora init
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Package installation fails
|
|
255
|
+
|
|
256
|
+
**Solution:**
|
|
257
|
+
```bash
|
|
258
|
+
# Clear cache and retry
|
|
259
|
+
aurora uninstall <package-name>
|
|
260
|
+
rm -rf ~/.aurora_austral/packages/<package-name>
|
|
261
|
+
aurora install <package-name>
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
## Learning Resources
|
|
265
|
+
|
|
266
|
+
- **Official Docs**: https://austral-lang.org/
|
|
267
|
+
- **Tutorial**: https://austral-lang.org/tutorial/
|
|
268
|
+
- **Specification**: https://austral-lang.org/spec/
|
|
269
|
+
- **Examples**: Check `examples/` in the compiler repository
|
|
270
|
+
|
|
271
|
+
## Key Concepts
|
|
272
|
+
|
|
273
|
+
### Linear Types
|
|
274
|
+
|
|
275
|
+
Aurora Austral uses linear types for memory safety:
|
|
276
|
+
|
|
277
|
+
```austral
|
|
278
|
+
-- Each value must be used exactly once
|
|
279
|
+
let x: String := "Hello";
|
|
280
|
+
consume(x); -- x is now consumed
|
|
281
|
+
-- Cannot use x again!
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### Module System
|
|
285
|
+
|
|
286
|
+
Every file has an interface (`.aui`) and implementation (`.aum`):
|
|
287
|
+
|
|
288
|
+
```austral
|
|
289
|
+
-- Main.aui (interface)
|
|
290
|
+
module Example.Main is
|
|
291
|
+
function greet(name: String): String;
|
|
292
|
+
end module.
|
|
293
|
+
|
|
294
|
+
-- Main.aum (implementation)
|
|
295
|
+
module body Example.Main is
|
|
296
|
+
function greet(name: String): String is
|
|
297
|
+
return concat("Hello, ", name);
|
|
298
|
+
end;
|
|
299
|
+
end module body.
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### Memory Safety
|
|
303
|
+
|
|
304
|
+
No garbage collection, no manual memory management:
|
|
305
|
+
|
|
306
|
+
```austral
|
|
307
|
+
-- Compiler tracks ownership and lifetime
|
|
308
|
+
let buffer: Buffer := makeBuffer(1024);
|
|
309
|
+
writeToBuffer(buffer, "data");
|
|
310
|
+
-- buffer is automatically freed when out of scope
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
## Getting Help
|
|
314
|
+
|
|
315
|
+
- **GitHub Issues**: https://github.com/austral/austral/issues
|
|
316
|
+
- **Discussions**: https://github.com/austral/austral/discussions
|
|
317
|
+
- **Package Manager Issues**: https://github.com/Aurora-Austral/aurora-npm/issues
|
|
318
|
+
|
|
319
|
+
## What's Next?
|
|
320
|
+
|
|
321
|
+
1. ✅ Read the [Tutorial](https://austral-lang.org/tutorial/)
|
|
322
|
+
2. ✅ Explore [Examples](https://github.com/austral/austral/tree/master/examples)
|
|
323
|
+
3. ✅ Install the [VSCode Extension](vscode:extension/aurora-austral)
|
|
324
|
+
4. ✅ Join the [Community](https://github.com/austral/austral/discussions)
|
|
325
|
+
5. ✅ Build something awesome!
|
|
326
|
+
|
|
327
|
+
## Summary
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
# Complete workflow in 4 commands:
|
|
331
|
+
mkdir my-project && cd my-project # 1. Create directory
|
|
332
|
+
aurora init # 2. Initialize project
|
|
333
|
+
make build # 3. Build
|
|
334
|
+
./main # 4. Run
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
Welcome to Aurora Austral! 🎉
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
**Need more details?** Check out:
|
|
342
|
+
- [README.md](README.md) - Full documentation
|
|
343
|
+
- [BINARY_RELEASE.md](BINARY_RELEASE.md) - Binary compilation guide
|
|
344
|
+
- [TEST_INIT_COMMAND.md](TEST_INIT_COMMAND.md) - Testing guide
|
package/README.md
ADDED
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
# Aurora Package Manager
|
|
2
|
+
|
|
3
|
+
Gerenciador de pacotes para a linguagem Aurora Austral **sem dependências externas**.
|
|
4
|
+
|
|
5
|
+
## Instalação
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g aurora-npm
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
**Nota:** Este package não tem dependências externas. Usa apenas o Node.js nativo (fetch, fs, path, os, child_process).
|
|
12
|
+
|
|
13
|
+
## Requisitos
|
|
14
|
+
|
|
15
|
+
- Node.js >= 18.0.0 (para suporte nativo a `fetch`)
|
|
16
|
+
- WSL (opcional, para Windows)
|
|
17
|
+
|
|
18
|
+
## Comandos
|
|
19
|
+
|
|
20
|
+
### `aurora init`
|
|
21
|
+
|
|
22
|
+
Inicializa um novo projeto Aurora Austral com estrutura completa:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
aurora init
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
O que faz:
|
|
29
|
+
- ✅ Cria `aurora.json` com configuração do projeto
|
|
30
|
+
- ✅ Cria estrutura de diretórios (`src/`, `aurora_packages/`, `.aurora/`)
|
|
31
|
+
- ✅ **Baixa binário do compilador** para a plataforma atual
|
|
32
|
+
- ✅ **Baixa biblioteca padrão**
|
|
33
|
+
- ✅ Cria arquivos de exemplo (`src/Main.aui`, `src/Main.aum`)
|
|
34
|
+
- ✅ Cria `Makefile` configurado
|
|
35
|
+
- ✅ Cria `.gitignore`
|
|
36
|
+
|
|
37
|
+
**Opções:**
|
|
38
|
+
- `--no-binary`: Não baixa binários (usa instalação do sistema)
|
|
39
|
+
|
|
40
|
+
**Exemplo:**
|
|
41
|
+
```bash
|
|
42
|
+
mkdir meu-projeto
|
|
43
|
+
cd meu-projeto
|
|
44
|
+
aurora init
|
|
45
|
+
|
|
46
|
+
# Compilar e executar
|
|
47
|
+
make build
|
|
48
|
+
./main
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### `aurora install <package>`
|
|
52
|
+
|
|
53
|
+
Instala um pacote do repositório:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
aurora install dpop-token
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
O que faz:
|
|
60
|
+
- Baixa o pacote do GitHub
|
|
61
|
+
- Compila o pacote
|
|
62
|
+
- Executa testes
|
|
63
|
+
- Salva em cache local
|
|
64
|
+
|
|
65
|
+
### `aurora list`
|
|
66
|
+
|
|
67
|
+
Lista pacotes disponÃveis:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Listar pacotes remotos
|
|
71
|
+
aurora list
|
|
72
|
+
|
|
73
|
+
# Listar pacotes em cache local
|
|
74
|
+
aurora list --local
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### `aurora find <nome>`
|
|
78
|
+
|
|
79
|
+
Busca pacotes por nome:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
aurora find dpop
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### `aurora uninstall <package>`
|
|
86
|
+
|
|
87
|
+
Remove um pacote:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
aurora uninstall dpop-token
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### `aurora update [package]`
|
|
94
|
+
|
|
95
|
+
Atualiza pacotes:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Atualizar todos os pacotes
|
|
99
|
+
aurora update
|
|
100
|
+
|
|
101
|
+
# Atualizar pacote especÃfico
|
|
102
|
+
aurora update dpop-token
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### `aurora test <package>`
|
|
106
|
+
|
|
107
|
+
Executa testes de um pacote:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
aurora test dpop-token
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Estrutura de Projeto
|
|
114
|
+
|
|
115
|
+
Após `aurora init`:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
meu-projeto/
|
|
119
|
+
├── aurora.json # Configuração do projeto
|
|
120
|
+
├── Makefile # Build configuration
|
|
121
|
+
├── .gitignore # Git ignore
|
|
122
|
+
├── src/
|
|
123
|
+
│ ├── Main.aui # Interface do módulo principal
|
|
124
|
+
│ └── Main.aum # Implementação do módulo principal
|
|
125
|
+
├── aurora_packages/ # Pacotes instalados
|
|
126
|
+
└── .aurora/
|
|
127
|
+
├── bin/
|
|
128
|
+
│ └── austral # Compilador (baixado automaticamente)
|
|
129
|
+
└── stdlib/ # Biblioteca padrão (baixada automaticamente)
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## aurora.json
|
|
133
|
+
|
|
134
|
+
Arquivo de configuração do projeto:
|
|
135
|
+
|
|
136
|
+
```json
|
|
137
|
+
{
|
|
138
|
+
"name": "meu-projeto",
|
|
139
|
+
"version": "0.1.0",
|
|
140
|
+
"description": "Aurora Austral project",
|
|
141
|
+
"main": "src/Main.aum",
|
|
142
|
+
"scripts": {
|
|
143
|
+
"build": "make",
|
|
144
|
+
"test": "make test",
|
|
145
|
+
"clean": "make clean"
|
|
146
|
+
},
|
|
147
|
+
"dependencies": {},
|
|
148
|
+
"devDependencies": {},
|
|
149
|
+
"aurora": {
|
|
150
|
+
"compiler": "local",
|
|
151
|
+
"compilerPath": ".aurora/bin/austral",
|
|
152
|
+
"stdlibPath": ".aurora/stdlib"
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Binários Pré-compilados
|
|
158
|
+
|
|
159
|
+
O comando `aurora init` baixa automaticamente binários pré-compilados para:
|
|
160
|
+
|
|
161
|
+
- **Linux x64** (`linux-x64`)
|
|
162
|
+
- **macOS x64** (`darwin-x64`)
|
|
163
|
+
- **macOS ARM64** (`darwin-arm64` - M1/M2)
|
|
164
|
+
- **Windows x64** (`win32-x64`)
|
|
165
|
+
|
|
166
|
+
Os binários são baixados do GitHub Releases e salvos em:
|
|
167
|
+
- Cache global: `~/.aurora_austral/bin/`
|
|
168
|
+
- Projeto local: `.aurora/bin/`
|
|
169
|
+
|
|
170
|
+
## Workflow TÃpico
|
|
171
|
+
|
|
172
|
+
### 1. Criar Novo Projeto
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
mkdir meu-app
|
|
176
|
+
cd meu-app
|
|
177
|
+
aurora init
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### 2. Desenvolver
|
|
181
|
+
|
|
182
|
+
Edite `src/Main.aum`:
|
|
183
|
+
|
|
184
|
+
```austral
|
|
185
|
+
module body Example.Main is
|
|
186
|
+
function main(): ExitCode is
|
|
187
|
+
printLn("Hello, Aurora!");
|
|
188
|
+
printLn("A language with linear types!");
|
|
189
|
+
return ExitSuccess();
|
|
190
|
+
end;
|
|
191
|
+
end module body.
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### 3. Instalar Dependências
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
aurora install dpop-token
|
|
198
|
+
aurora install http-client
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### 4. Compilar e Executar
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
make build
|
|
205
|
+
./main
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### 5. Testar
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
make test
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
## Sem Binários Pré-compilados
|
|
215
|
+
|
|
216
|
+
Se preferir usar uma instalação manual do compilador:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
# Inicializar sem baixar binários
|
|
220
|
+
aurora init --no-binary
|
|
221
|
+
|
|
222
|
+
# O Makefile usará 'austral' do PATH do sistema
|
|
223
|
+
make build
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## Cache
|
|
227
|
+
|
|
228
|
+
Os pacotes e binários são salvos em cache:
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
~/.aurora_austral/
|
|
232
|
+
├── packages/ # Pacotes instalados
|
|
233
|
+
└── bin/ # Binários do compilador
|
|
234
|
+
├── austral # Compilador
|
|
235
|
+
└── stdlib/ # Biblioteca padrão
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## Desenvolvimento
|
|
239
|
+
|
|
240
|
+
### Compilar Binários para Release
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
cd aurora-npm
|
|
244
|
+
./scripts/build-release.sh 0.2.0
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Isso cria:
|
|
248
|
+
- `releases/austral-<platform>-<arch>` - Binário compilado
|
|
249
|
+
- `releases/austral-<platform>-<arch>.sha256` - Checksum
|
|
250
|
+
- `releases/stdlib-v0.2.0/` - Biblioteca padrão
|
|
251
|
+
- `releases/release-info-v0.2.0.txt` - Informações do release
|
|
252
|
+
|
|
253
|
+
### Fazer Release no GitHub
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
# Criar tag
|
|
257
|
+
git tag -a v0.2.0 -m "Release v0.2.0"
|
|
258
|
+
git push origin v0.2.0
|
|
259
|
+
|
|
260
|
+
# Criar release com binários
|
|
261
|
+
gh release create v0.2.0 \
|
|
262
|
+
releases/austral-linux-x64 \
|
|
263
|
+
releases/austral-darwin-x64 \
|
|
264
|
+
releases/austral-darwin-arm64 \
|
|
265
|
+
releases/austral-win32-x64.exe \
|
|
266
|
+
--title "Aurora Austral v0.2.0" \
|
|
267
|
+
--notes "Compiled binaries for multiple platforms"
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
Veja [BINARY_RELEASE.md](BINARY_RELEASE.md) para mais detalhes.
|
|
271
|
+
|
|
272
|
+
## Plataformas Suportadas
|
|
273
|
+
|
|
274
|
+
### Compilador
|
|
275
|
+
- Linux x64
|
|
276
|
+
- macOS x64 (Intel)
|
|
277
|
+
- macOS ARM64 (Apple Silicon)
|
|
278
|
+
- Windows x64 (via WSL)
|
|
279
|
+
|
|
280
|
+
### Package Manager
|
|
281
|
+
- Linux
|
|
282
|
+
- macOS
|
|
283
|
+
- Windows (com WSL)
|
|
284
|
+
|
|
285
|
+
## Troubleshooting
|
|
286
|
+
|
|
287
|
+
### Binário não executa
|
|
288
|
+
|
|
289
|
+
**Linux/macOS:**
|
|
290
|
+
```bash
|
|
291
|
+
chmod +x .aurora/bin/austral
|
|
292
|
+
./.aurora/bin/austral --version
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
**Windows:**
|
|
296
|
+
- Certifique-se de que o WSL está instalado
|
|
297
|
+
- O comando `make` será executado via WSL automaticamente
|
|
298
|
+
|
|
299
|
+
### Erro "AUSTRAL_STDLIB not found"
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
# Baixar stdlib manualmente
|
|
303
|
+
aurora init --no-binary
|
|
304
|
+
# Ou definir variável de ambiente
|
|
305
|
+
export AUSTRAL_STDLIB=/usr/local/lib/austral/standard/src
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### Pacote não compila
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
# Limpar cache e reinstalar
|
|
312
|
+
aurora uninstall <package>
|
|
313
|
+
rm -rf ~/.aurora_austral/packages/<package>
|
|
314
|
+
aurora install <package>
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## Contribuindo
|
|
318
|
+
|
|
319
|
+
1. Fork o repositório
|
|
320
|
+
2. Crie uma branch: `git checkout -b feature/nova-feature`
|
|
321
|
+
3. Commit: `git commit -m 'Adiciona nova feature'`
|
|
322
|
+
4. Push: `git push origin feature/nova-feature`
|
|
323
|
+
5. Abra um Pull Request
|
|
324
|
+
|
|
325
|
+
## Licença
|
|
326
|
+
|
|
327
|
+
Apache-2.0
|
|
328
|
+
|
|
329
|
+
## Links
|
|
330
|
+
|
|
331
|
+
- [Aurora Austral](https://github.com/austral/austral)
|
|
332
|
+
- [Package Vault](https://github.com/Aurora-Austral/vault)
|
|
333
|
+
- [Documentação](https://austral-lang.org/)
|