···11+# Contributing to Ant
22+33+Thank you for your interest in contributing to Ant! This document provides guidelines for contributing.
44+55+## Getting Started
66+77+### Prerequisites
88+99+- C compiler with C23 support (GCC 14+ or Clang 18+)
1010+- Meson build system
1111+- Git
1212+- OpenSSL
1313+- libSodium
1414+1515+### Building from Source
1616+1717+```bash
1818+git clone https://github.com/theMackabu/ant.git && cd ant
1919+2020+meson subprojects download
2121+meson setup build
2222+meson compile -C build
2323+```
2424+2525+## How to Contribute
2626+2727+### Reporting Bugs
2828+2929+1. Check existing issues first
3030+2. Include reproduction steps
3131+3. Provide system info (OS, compiler version)
3232+4. Include relevant error messages
3333+3434+### Suggesting Features
3535+3636+1. Open an issue with the `enhancement` label
3737+2. Describe the use case
3838+3. Provide examples if possible
3939+4040+### Pull Requests
4141+4242+1. Fork the repository
4343+2. Create a feature branch (`git checkout -b feature/my-feature`)
4444+3. Make your changes
4545+4. Ensure tests pass
4646+5. Submit a pull request
4747+4848+## Code Style
4949+5050+- **C code**: GNU23 standard, 2-space indent, no trailing whitespace
5151+- **Naming**: `snake_case` for functions, `UPPERCASE` for macros
5252+- **Headers**: Local includes (`"..."`) before system includes (`<...>`)
5353+- **Comments**: Avoid unless code is complex
5454+5555+## Project Structure
5656+5757+```
5858+src/
5959+โโโ cli/ # Command line interface helpers
6060+โโโ core/ # Bundled snapshot code
6161+โโโ modules/ # Built-in JS modules (fs, path, shell, etc.)
6262+โโโ esm/ # ES module system
6363+โโโ pkg/ # Zig-based package manager
6464+include/ # C header files
6565+tests/ # JavaScript test files
6666+vendor/ # External dependencies
6767+```
6868+6969+## Testing
7070+7171+- Add tests for new features in `tests/`
7272+- Run specific tests: `./build/ant tests/test_<name>.js`
7373+- Run `./build/ant examples/spec/run.js` to ensure nothing else broke
+11-1
README.md
···1616curl -fsSL https://ant.themackabu.com/install | MBEDTLS=1 bash
1717```
18181919-## Build from source
1919+### Building from Source
20202121```bash
2222+git clone https://github.com/theMackabu/ant.git && cd ant
2323+2224meson subprojects download
2325meson setup build
2426meson compile -C build
2527```
2828+2929+### Security
3030+3131+For information on reporting security vulnerabilities in Ant, see [SECURITY.md](SECURITY.md).
3232+3333+### Contributing to Ant
3434+3535+We welcome contributions through pull request. See [CONTRIBUTING.md](CONTRIBUTING.md) for more details.
26362737For more information about the internals, read the [ant deepwiki](https://deepwiki.com/theMackabu/ant).
+43
SECURITY.md
···11+# Security Policy
22+33+## Supported Versions
44+55+| Version | Supported |
66+| -------- | --------- |
77+| latest | โ |
88+| pre v0.5 | โ |
99+1010+## Reporting a Vulnerability
1111+1212+If you discover a security vulnerability in Ant, please report it responsibly:
1313+1414+1. **Do not** open a public GitHub issue
1515+2. Email security concerns to: **themackabu@gmail.com**
1616+3. Include:
1717+ - Description of the vulnerability
1818+ - Steps to reproduce
1919+ - Potential impact
2020+ - Any suggested fixes (optional)
2121+2222+## Response Timeline
2323+2424+- **Acknowledgment**: Within 12 hours
2525+- **Initial assessment**: Within 2 days
2626+- **Fix timeline**: Depends on severity (critical issues prioritized)
2727+2828+## Security Considerations
2929+3030+Ant is a JavaScript runtime with system-level access. When using Ant:
3131+3232+- **FFI**: The `ant:ffi` module provides direct memory access. Only load trusted native libraries.
3333+- **Shell execution**: The `ant:shell` module executes system commands. Sanitize all user input.
3434+- **URL imports**: Remote module imports execute code from external sources. Only import from trusted origins.
3535+- **File system**: The `ant:fs` module has full filesystem access. Validate paths carefully.
3636+3737+## Disclosure Policy
3838+3939+Once a vulnerability is fixed, we will:
4040+4141+1. Release a patched version
4242+2. Credit the reporter (if desired)
4343+3. Publish a security advisory on GitHub