1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize, Clone)]
4pub struct Repo {
5 pub name: String,
6 pub url: String,
7 pub branch: String,
8}
9
10#[derive(Debug, Serialize, Deserialize, Clone)]
11pub struct Template {
12 pub id: String,
13 pub name: String,
14 pub repo: String,
15 pub path: String,
16 pub description: String,
17 pub language: String,
18 pub tags: Vec<String>,
19}
20
21#[derive(Debug, Serialize, Deserialize, Clone)]
22pub struct Config {
23 pub repos: Vec<Repo>,
24 pub templates: Vec<Template>,
25}
26
27#[derive(Debug)]
28pub struct ProjectConfig {
29 pub name: String,
30 pub author: String,
31 pub description: String,
32 pub output_dir: String,
33 pub template: Template,
34}