Skip to content

Commit 76e7ec2

Browse files
committed
docs(new): clarify project config initialization in generated app README
1 parent f964953 commit 76e7ec2

1 file changed

Lines changed: 42 additions & 1 deletion

File tree

src/commands/NewCommand.cpp

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -823,14 +823,55 @@ int main()
823823
static std::string make_readme_app(const std::string &projectName)
824824
{
825825
std::string readme;
826-
readme.reserve(3000);
826+
readme.reserve(3500);
827827

828828
readme += "# " + projectName + "\n\n";
829829
readme += "Minimal Vix.cpp application.\n\n";
830+
831+
readme += "## Build & Run\n\n";
830832
readme += "```bash\n";
831833
readme += "vix build\n";
832834
readme += "vix run\n";
835+
readme += "```\n\n";
836+
837+
readme += "## Configuration\n\n";
838+
readme += "Vix applications **do not auto-load project configuration by default**.\n";
839+
readme += "If you want to use a project-level configuration (for example to configure the server port),\n";
840+
readme += "you must explicitly initialize and read it in your application.\n\n";
841+
842+
readme += "### Project config file\n\n";
843+
readme += "Create a configuration file at:\n\n";
833844
readme += "```\n";
845+
readme += "config/config.json\n";
846+
readme += "```\n\n";
847+
848+
readme += "Example:\n\n";
849+
readme += "```json\n";
850+
readme += "{\n";
851+
readme += " \"server\": {\n";
852+
readme += " \"port\": 8081\n";
853+
readme += " }\n";
854+
readme += "}\n";
855+
readme += "```\n\n";
856+
857+
readme += "### Using the config in code\n\n";
858+
readme += "To use the project configuration, initialize and read it explicitly:\n\n";
859+
readme += "```cpp\n";
860+
readme += "#include <vix.hpp>\n";
861+
readme += "using namespace vix;\n\n";
862+
readme += "int main()\n";
863+
readme += "{\n";
864+
readme += " // Load project config (project config overrides Vix install config)\n";
865+
readme += " auto &cfg = vix::config::Config::getInstance();\n\n";
866+
readme += " App app;\n";
867+
readme += " app.get(\"/\", [](Request&, Response& res) {\n";
868+
readme += " res.send(\"Hello world\");\n";
869+
readme += " });\n\n";
870+
readme += " app.run(cfg.getServerPort());\n";
871+
readme += "}\n";
872+
readme += "```\n\n";
873+
874+
readme += "> The project `config/config.json` always takes precedence over the global Vix installation config.\n";
834875

835876
return readme;
836877
}

0 commit comments

Comments
 (0)