Skip to main content

forge_core/config/
project.rs

1//! Project metadata configuration.
2
3use serde::{Deserialize, Serialize};
4
5/// Project metadata.
6#[derive(Debug, Clone, Serialize, Deserialize)]
7#[non_exhaustive]
8pub struct ProjectConfig {
9    #[serde(default = "default_project_name")]
10    pub name: String,
11
12    #[serde(default = "default_version")]
13    pub version: String,
14}
15
16impl Default for ProjectConfig {
17    fn default() -> Self {
18        Self {
19            name: default_project_name(),
20            version: default_version(),
21        }
22    }
23}
24
25fn default_project_name() -> String {
26    "forge-app".to_string()
27}
28
29fn default_version() -> String {
30    "0.1.0".to_string()
31}