Community

SafeC is developed in the open on GitHub under the MIT license. Questions, bug reports, ideas and pull requests are all welcome there.

SafeC on GitHub

The compiler, the standard library, safeguard, the tests, the examples and the install scripts.

Issues

Report a bug, a miscompilation or a confusing diagnostic; propose a feature or a std module.

These docs

The website you are reading, English and Korean, generated by SafeC itself.

sc-language-server

The LSP server and the VS Code extension.

Blog

Announcements and release notes — Atom and RSS feeds.

Releases

Prebuilt toolchains for Linux, macOS and Windows; watch the repository to hear about new ones.

Reporting a bug

A good report is one we can reproduce: the smallest .sc file that shows the problem, the command you ran, what you expected and what happened, plus safec --version, your OS and your clang version. For a miscompilation, the --emit-llvm output helps. Open it on the issue tracker.

Found a security problem — for example in std/crypto or the TLS work? Please don't file a public issue with an exploit; open a minimal issue asking for a private contact, or use GitHub's private vulnerability reporting if it is enabled on the repository.

Contributing code

  1. Fork safec-org/SafeC and work on a branch.
  2. Build the toolchain from source (Install → From source).
  3. Keep changes small and focused, in the style of the surrounding code — std modules pair a commented .h with its .sc, use methods and static ... new() constructors, and keep unsafe {} to where it is needed.
  4. Add tests: compiler changes get a regression test under compiler/tests/, std changes a runtime test under tests/stdlib/tests/ (run them with safeguard test in tests/stdlib).
  5. Open a pull request describing what changed and why. CI builds and tests on Linux, macOS and Windows.

Contributing docs and translations

The site lives in safec-org/safec-docs: one markdown file per page, Korean translations under ko/, navigation in site/locales/<lang>.yaml. site/build.sh builds it and fails on any dead link or anchor; site/build.sh serve previews it with rebuild-on-change. Blog posts are blog/<slug>.md with title, date, author, tags and summary frontmatter. Fixes, new examples and translations of untranslated pages are very welcome.

License

SafeC and its documentation are released under the MIT License.