Skip to main content

repoctl_core/
lib.rs

1#![forbid(unsafe_code)]
2#![warn(rust_2024_compatibility, missing_docs, missing_debug_implementations)]
3// The public API intentionally mirrors the vocabulary in the v0.2 specs.
4#![allow(clippy::module_name_repetitions)]
5// Constructors and accessors stay lightweight; callers can decide when `#[must_use]` is useful.
6#![allow(clippy::must_use_candidate)]
7// Every fallible public function is documented at the type/module level to avoid repetitive noise.
8#![allow(clippy::missing_errors_doc)]
9
10//! Core domain, manifest, diagnostic, graph, and port types for repoctl.
11//!
12//! This crate is intentionally infrastructure-neutral. Concrete filesystem,
13//! Cargo, process, and template adapters live outside of it.
14
15pub mod diagnostic;
16pub mod domain;
17pub mod manifest;
18pub mod ports;
19
20pub use diagnostic::{
21    Diagnostic, DiagnosticSource, RepoctlError, Severity, SourceSpan, ValidationReport,
22};
23pub use domain::{
24    AdoptedSource, AdoptionApplyRequest, AdoptionCiMode, AdoptionFileOperation,
25    AdoptionOutputFormat, AdoptionPlan, AdoptionPlanRequest, AdoptionVerifyRequest, AffectedReason,
26    AffectedReport, AffectedRequest, AiContext, AiContextRequest, BoundaryLintReport,
27    BoundaryLintRequest, CdnCheck, CdnSpec, CiFallback, CiMatrixReport, CiMatrixRequest,
28    CiProvider, CiWorkflowReport, CiWorkflowRequest, CodeLanguage, CodeLanguageConfig,
29    CodeSizeConfig, CodeSizeFinding, CodeSizeInspectionReport, CodeSizeInspectionRequest,
30    CodeSizeInspectionSummary, CodeSizeOverride, CodeSizeResolvedConfigSummary, CodeSizeRuleConfig,
31    CodeSizeRuleConfigPatch, CodeSizeRuleConfigPatchSet, CodeSizeRuleConfigSet, CodeSizeRuleKind,
32    CodeSizeScope, CodeSizeSkippedReason, CodegenCheckReport, CodegenCheckRequest, CommandSpec,
33    DependencyRewrite, DependencyRewriteMode, DependencySurface, DependencyTarget, DeploySpec,
34    DiscoverRequest, DnsOperation, DnsRecordSpec, DoctorReport, DoctorRequest, DoctorSection,
35    DoctorStatus, EdgeKind, ExplainReport, ExplainRequest, FileOperation,
36    GeneratedCodeInspectionMode, GeneratedCodePolicy, GraphEdge, GraphNode, GraphNodeKind,
37    GraphPrintReport, GraphPrintRequest, GraphValidateRequest, HygieneCheckRequest,
38    HygieneCleanRequest, HygieneReport, IacFacadeReport, IacFacadeRequest, IacOperation,
39    IacProvider, IacSpec, InitPlan, InitProfile, InitRequest, InspectionFailOn, ManualStateRecord,
40    NewProjectRequest, OpsJournalAction, OpsJournalReport, OpsJournalRequest, OpsPlan,
41    OpsPlanRequest, OpsReconcileReport, OpsReconcileRequest, OpsVerifyReport, OpsVerifyRequest,
42    OwnerHandle, PolicyMode, PrSummary, PrSummaryRequest, ProbeExpectation, ProbeSpec,
43    ProcessCommand, ProcessOutput, ProjectAiSpec, ProjectAreas, ProjectDependency, ProjectDnsSpec,
44    ProjectKind, ProjectManifest, ProjectManifestSynthesis, ProjectName, ProjectOpsSpec,
45    ProjectProtoSpec, ProjectRelativePath, ProtoFacadeReport, ProtoFacadeRequest, ProtoOperation,
46    ProtoPackageName, ProviderCapabilityReport, ProviderCapabilityRequest, RenderPlan, RepoGlob,
47    RepoGraph, RepoInspectionConfig, RepoLayout, RepoManifest, RepoName, RepoPolicySet,
48    RepoRelativePath, RepoRoot, RepoSnapshot, ResolvedTemplateSource, RuntimeDependencySpec,
49    SchemaId, SessionEntry, SessionJournal, SkillFileDiff, SkillsFacadeReport, SkillsFacadeRequest,
50    SourceInventory, TaskCommand, TaskCommandOutput, TaskDependency, TaskName, TaskRunPlan,
51    TaskRunReport, TaskRunRequest, TemplateFile, TemplateInput, TemplateListReport,
52    TemplateListRequest, TemplateManifest, TemplateRenderRequest, TemplateSource, TemplateSummary,
53    ToolPrerequisite, Toolchain, ValidationMode, VerificationPlan, Visibility, WorkspaceLanguage,
54    WorkspaceName, WorkspaceSpec, utf8_path_buf, validate_project_convention,
55};
56pub use manifest::{ManifestSource, YamlManifestParser};
57pub use ports::{
58    DiscoveredEdge, FixedRepoLocator, GraphBuildInput, GraphBuilder, InMemoryRepoFileSystem,
59    ManifestParser, PolicyContext, PolicyRule, ProcessRunner, RenderRequest, RenderedTemplate,
60    RepoFileSystem, RepoLocator, StaticGraphBuilder, TemplateEngine, TemplateSourceResolver,
61    ToolchainAdapter, ToolchainEnvironmentInput, WalkRequest, WorkspaceInspectionInput,
62    WorkspaceInspector, discovered_to_graph_edge,
63};