Skip to content

Rename .env references to project.conf and move LaTeX settings to Pandoc store#146

Merged
lex57ukr merged 2 commits intomainfrom
145-rename-env-references-to-project-conf
Feb 8, 2026
Merged

Rename .env references to project.conf and move LaTeX settings to Pandoc store#146
lex57ukr merged 2 commits intomainfrom
145-rename-env-references-to-project-conf

Conversation

@lex57ukr
Copy link
Contributor

@lex57ukr lex57ukr commented Feb 8, 2026

Summary

Aligns the CLI with upstream Keystone's configuration change (knight-owl-dev/keystone#13), which replaces .env with project.conf as the operational config file. The 5 LaTeX/cover properties that don't belong in an operational config file move into the Pandoc store where Pandoc consumes them natively, leaving project.conf with only project identity and Docker variables.

Related Issues

Fixes #145

Changes

  • Rename ProjectFiles.EnvFileName to ProjectConfFileName with value project.conf
  • Rename EnvFileProjectModelStore to ProjectConfFileProjectModelStore, trimmed to 3 operational variables (ProjectName, DockerComposeProject, DockerImage)
  • Move 5 properties (CoverImage, LatexPapersize, LatexGeometry, LatexFontsize, LatexFontfamily) to PandocFileProjectModelStore with native YAML keys (cover-image, papersize, geometry, fontsize, fontfamily)
  • Update xmldoc, DI registration, tests, and CLAUDE.md to match

…to pandoc.yaml

Aligns the CLI with upstream Keystone's switch from .env to project.conf
for operational config. The 5 LaTeX/cover properties move to the Pandoc
store where Pandoc can consume them natively, leaving project.conf with
only the 3 project identity and Docker variables.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@lex57ukr lex57ukr added enhancement New feature or request breaking-change Breaking changes labels Feb 8, 2026
Copilot AI review requested due to automatic review settings February 8, 2026 07:36
@lex57ukr lex57ukr added enhancement New feature or request breaking-change Breaking changes labels Feb 8, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Aligns Keystone CLI configuration with upstream changes by renaming the operational config file from .env to project.conf and relocating LaTeX/cover settings into the Pandoc YAML store.

Changes:

  • Replaced .env references with project.conf in project layout, DI registration, and the operational store/tests.
  • Moved cover + LaTeX settings from the operational env-style store into PandocFileProjectModelStore using YAML keys.
  • Updated documentation/comments to reflect the new configuration split.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/Keystone.Cli.UnitTests/Domain/FileSystem/TestData/StandardProjectLayout.cs Updates expected project file layout to include project.conf (and sample project.conf).
tests/Keystone.Cli.UnitTests/Application/Data/Stores/ProjectConfFileProjectModelStoreTests.cs Renames and updates unit tests for the new project.conf-backed operational store.
tests/Keystone.Cli.UnitTests/Application/Data/Stores/PandocFileProjectModelStoreTests.cs Adds test coverage for cover/LaTeX values now stored in pandoc.yaml.
src/Keystone.Cli/Domain/Project/ProjectModel.cs Updates XML doc comments to reflect where fields are sourced from (project.conf vs pandoc.yaml).
src/Keystone.Cli/Domain/Project/ProjectFiles.cs Introduces ProjectConfFileName constant and updates remarks.
src/Keystone.Cli/Configuration/DependenciesInstaller.cs Switches DI registration to ProjectConfFileProjectModelStore.
src/Keystone.Cli/Application/Utility/Serialization/IEnvironmentFileSerializer.cs Generalizes docs to “environment-style configuration file” (not .env specific).
src/Keystone.Cli/Application/Data/Stores/ProjectConfFileProjectModelStore.cs Renames store and removes cover/LaTeX keys from operational config handling.
src/Keystone.Cli/Application/Data/Stores/PandocFileProjectModelStore.cs Adds cover/LaTeX YAML metadata bindings and hashing.
src/Keystone.Cli/Application/Data/IProjectModelStore.cs Updates interface docs to reference project.conf instead of .env.
CLAUDE.md Updates documentation to match the renamed store.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Reconcile CoverImage xmldoc to reference only the pandoc.yaml key and
rename test methods that still said "EnvironmentValues" to
"ProjectConfValues".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@lex57ukr lex57ukr requested a review from Copilot February 8, 2026 07:43
@lex57ukr lex57ukr merged commit fa38b04 into main Feb 8, 2026
5 checks passed
@lex57ukr lex57ukr deleted the 145-rename-env-references-to-project-conf branch February 8, 2026 07:43
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change Breaking changes enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rename .env references to project.conf

1 participant