# bare-types
This project is a Rust library for type-safe domain modeling, developed through collaborative governance between humans and AI systems.
## Acknowledgments
### Conceptual Influences
This project builds upon ideas from:
- **The Rust Project** - For the language, tooling, and API Guidelines
- **"Parse, Don't Validate"** - Alexis King's influential blog post on type-safe design
- **Newtype Pattern** - Standard Rust idiom for type safety
- **Zero-cost Abstractions** - Core Rust philosophy
### Community Resources
- [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/) - Our primary design reference
- [Semantic Versioning](https://semver.org/) - Version management
- [Keep a Changelog](https://keepachangelog.com/) - Changelog format
- [Conventional Commits](https://www.conventionalcommits.org/) - Commit message format
### AI Collaboration
This project actively incorporates AI contributors in its development process. The governance model (see [GOVERNANCE.md](GOVERNANCE.md)) explicitly defines how humans and AI systems collaborate.
AI systems have contributed to:
- Documentation structure and content
- Design pattern analysis
- Consistency checking across documentation
- Template generation for common patterns
## Development Philosophy
The project follows these core principles:
1. **Type Safety First** - Leverage Rust's type system to prevent errors
2. **Zero-cost Abstractions** - No runtime overhead for safety
3. **Explicit over Implicit** - Clear, readable code
4. **No Unsafe Code** - Memory safety guaranteed by compiler
5. **Human-AI Collaboration** - Both contribute to design and implementation
## License
This project is dual-licensed under:
- **MIT License** - See [LICENSE-MIT](LICENSE-MIT)
- **Apache License, Version 2.0** - See [LICENSE-APACHE](LICENSE-APACHE)
You may choose either license at your option.
## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
This applies to contributions from both humans and AI systems.
## Third-Party Dependencies
This project uses the following optional dependencies:
- `serde` - Serialization framework (MIT/Apache-2.0)
- `arbitrary` - Property-based testing (MIT/Apache-2.0)
- `zeroize` - Secure memory clearing (Apache-2.0/MIT)
See `Cargo.lock` for complete dependency information.
## Contact
- **General**: [GitHub Discussions](https://github.com/bare-rs/bare-types/discussions)
- **Security**: See [SECURITY.md](SECURITY.md)
- **Governance**: See [GOVERNANCE.md](GOVERNANCE.md)
---
**Project**: bare-types
**Repository**: https://github.com/bare-rs/bare-types
**License**: MIT OR Apache-2.0