neo-devpack-solidity 0.22.0

Production-focused Solidity-to-NeoVM compilation system
Documentation
# Contributing

Neo DevPack for Solidity is an open-source project, and we welcome contributions from the community! Whether you're fixing bugs in the Rust compiler, improving the EVM-to-NeoVM semantic mapping, or writing documentation, your help is appreciated.

## How to Report Issues

If you find a bug, an unhandled EVM feature, or have a feature request, please open an issue on the [Neo DevPack for Solidity GitHub Repository](https://github.com/r3e-network/neo-devpack-solidity/issues).

When reporting an issue, please include:
1. The exact version of `neo-solc` you are using (`neo-solc --version`).
2. The Solidity source code that triggered the issue.
3. The exact command-line arguments used.
4. The expected behavior (usually what standard EVM solc does) vs the actual behavior on NeoVM.

## Workflow for Pull Requests

We use the standard GitHub Pull Request workflow:
1. Fork the repository.
2. Create a feature branch (`git checkout -b feature/my-new-feature`).
3. Commit your changes (`git commit -am 'Add some feature'`).
4. Push to the branch (`git push origin feature/my-new-feature`).
5. Create a new Pull Request.

## Running the Compiler Tests

Before submitting a PR, ensure the layered Rust, runtime, conformance, E2E, fuzz, and tooling suites that cover your change still pass.

To run the Rust compiler workspace tests:
```bash
cargo test --workspace
```

To run the full production suite (including Node.js tooling tests):
```bash
make test-all
```

## Documentation Style Guide

This documentation site is built using VitePress. When contributing to the docs:
*   Ensure your page fits within the existing taxonomy (Basics, Language Description, Internals, etc.).
*   Use the `::: tip 💡 NeoVM Difference` blockquote specifically to highlight areas where Neo's execution model diverges from Ethereum.
*   Check for dead links locally before submitting your PR by running `npm run docs:build`.