@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/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/)