24 lines
1.7 KiB
Markdown
24 lines
1.7 KiB
Markdown
# Compiler Development Guidelines
|
|
|
|
This repository implements the Dever language compiler in Rust. It is not a Go Dever application or a database-backed service.
|
|
|
|
## Pre-Development Checklist
|
|
|
|
1. Read the current task PRD, design and implementation progress.
|
|
2. Read [Directory Structure](./directory-structure.md), [Error Handling](./error-handling.md) and [Quality Guidelines](./quality-guidelines.md).
|
|
For CLI, formatter, native optimization or official packages, also read [Toolchain and Library Contracts](./toolchain-and-library.md), including signed ecosystem packs and bounded binary resource attachments.
|
|
For language contracts and API boundaries, read [Compiler Contracts](./compiler-contracts.md).
|
|
For LLVM typed lowering or runtime C ABI work, read both contracts; distinguish kernel/object evidence from complete application semantics and formal target runtime packs.
|
|
For Model, ORM, database configuration or runtime connections, also read [Database Guidelines](./database-guidelines.md).
|
|
For Dever logging or HTTP request-boundary records, read [Logging Guidelines](./logging-guidelines.md).
|
|
3. Inspect affected compiler phases and existing tests before adding another rule or helper.
|
|
|
|
## Quality Check
|
|
|
|
- Check the implemented milestone only; syntax success must not imply semantic validity.
|
|
- Run the focused checks listed in the quality guide.
|
|
- Keep all tests under repository-root `test/`.
|
|
- Preserve unrelated user changes and do not create Git commits without authorization.
|
|
|
|
Database behavior is a compiler/runtime contract only within the static ORM boundary documented in [Database Guidelines](./database-guidelines.md). Shared logging and native exit-flush contracts are documented in [Logging Guidelines](./logging-guidelines.md).
|