improve specification versioning
Signed-off-by: Onur Özkan <work@onurozkan.dev>
This commit is contained in:
1 parent
ceba320a96
commit
4c6ee111e8
8 files changed
+64
-28
No files matched your search
@@ -28,7 +28,10 @@ The repository is currently in infrastructure setup. Formal project specificatio
|
||||
|
||||
Formal specs should be colocated with the code or board package they govern.
|
||||
|
||||
- Implementation-linked specs should use versioned sidecar filenames such as `control_loop.v0.1.0.spec.md` next to the related module or package.
|
||||
- Implementation-linked specs should use stable sidecar filenames such as `control_loop.spec.md` next to the related module or package.
|
||||
- Version history should live inside the same spec file as additional spec entries, not in the filename.
|
||||
- Each appended spec entry should begin with version marker such as `# --- version: 0.1.0 ---`.
|
||||
- Inside a spec entry, `#` is reserved for version markers and content headings should start at `##`.
|
||||
- Rust items should link to those sidecar specs through `#[spec("...")]`.
|
||||
- Missing linked spec files must fail compilation.
|
||||
|
||||
@@ -37,6 +40,6 @@ Example:
|
||||
```rust
|
||||
use kaptan_spec::spec;
|
||||
|
||||
#[spec("control_loop.v0.1.0.spec.md")]
|
||||
#[spec("control_loop.spec.md")]
|
||||
pub struct ControlLoop;
|
||||
```
|
||||
Reference in new issue
Block a user