roc/src/cli
2025-12-17 17:14:23 +01:00
..
test output msg if roc build succeeds (#8700) 2025-12-17 17:14:23 +01:00
bench.zig Fix some more violations 2025-12-04 02:02:38 -05:00
builder.zig convert more user facing errors to use reporting system, remove dead 2025-12-10 08:50:55 +11:00
cli_args.zig start re-organizing, leave a plan for future PR's 2025-12-17 14:33:52 +11:00
CliContext.zig start re-organizing, leave a plan for future PR's 2025-12-17 14:33:52 +11:00
CliProblem.zig start re-organizing, leave a plan for future PR's 2025-12-17 14:33:52 +11:00
cross_compilation.zig Cleanup target handling and deuplication 2025-12-09 13:30:36 +11:00
libc_finder.zig start re-organizing, leave a plan for future PR's 2025-12-17 14:33:52 +11:00
linker.zig start re-organizing, leave a plan for future PR's 2025-12-17 14:33:52 +11:00
main.zig output msg if roc build succeeds (#8700) 2025-12-17 17:14:23 +01:00
platform_host_shim.zig initial implementation 2025-12-10 15:37:13 +11:00
platform_validation.zig more windows unicode fixes (#8697) 2025-12-17 12:35:22 +01:00
README.md Update README's 2025-08-12 18:26:26 +10:00
REORGANIZATION.md start re-organizing, leave a plan for future PR's 2025-12-17 14:33:52 +11:00
target.zig always use portable serialization when embedding modules 2025-12-11 09:01:53 +11:00
targets_validator.zig WIP - adding more reporting, restore glibc support 2025-12-09 09:51:47 +11:00
test_docs.zig Delete a ton of unused arguments 2025-12-04 01:45:48 -05:00
test_shared_memory_system.zig start re-organizing, leave a plan for future PR's 2025-12-17 14:33:52 +11:00

CLI

This directory contains the source code for the roc command-line interface (CLI) tool.

The CLI is the main entry point for developers using Roc. Its responsibilities include:

  • Command Parsing: Parsing commands (e.g., build, run, fmt, test) and their options through cli_args.zig
  • Compilation Orchestration: Managing the compilation pipeline and integrating with the Roc compiler
  • Linker Integration: Using an abstraction for the LLD linker as a library through linker.zig for code generation
  • Performance Profiling: Integration with Tracy profiler for performance analysis
  • Testing & Benchmarking: Built-in testing and benchmarking capabilities through bench.zig
  • Shared Memory Management: Testing utilities for the shared memory system used in IPC

The CLI coordinates between the compiler frontend (parsing, type checking) and backend (code generation, linking) to provide a seamless development experience.