hermes-profile-template
Developer authoring system that turns a prompt into a complete, installable Hermes Agent profile repository with validation, CI, release checks, docs, and publication metadata.
repocodegraphtheory/hermes-profile-templatedocshttps://graphtheory.xyz/hermes-profile-template/statusoriginal GraphTheory workaudiencedevelopers and maintainersoverview
Developer authoring system that turns a prompt into a complete, installable Hermes Agent profile repository with validation, CI, release checks, docs, and publication metadata.
prompt to repoInstall the profile, describe the desired agent, generate a repository, validate it, then smoke-install the generated profile.deterministic generationEdit templates/profile.params.yaml and run scripts/generate_profile.py for reproducible profile families.sentence generationUse scripts/generate_from_sentence.py when you need a non-interactive prompt-to-profile path.release readinessRun release_readiness.py before tagging so manifest version, changelog, install command, and secret scans stay aligned.quickstart
Use these commands first. They are intentionally copyable and match the public repository workflow.
install or run
hermes profile install github.com/codegraphtheory/hermes-profile-template --name profile-architect --alias --yesprofile-architect chatlocal developer setup
git clone https://github.com/codegraphtheory/hermes-profile-template.gitcd hermes-profile-templatepython3 -m pip install -r requirements.txtmake testmake validatedeveloper workflows
The project is useful when the workflow is explicit. These are the paths to test before treating the project as production-ready.
prompt to repoInstall the profile, describe the desired agent, generate a repository, validate it, then smoke-install the generated profile.deterministic generationEdit templates/profile.params.yaml and run scripts/generate_profile.py for reproducible profile families.sentence generationUse scripts/generate_from_sentence.py when you need a non-interactive prompt-to-profile path.release readinessRun release_readiness.py before tagging so manifest version, changelog, install command, and secret scans stay aligned.repo map
Start with these files when debugging, extending, or reviewing the project.
distribution.yamlDistribution manifest. Version, env requirements, and distribution-owned paths live here.SOUL.mdThe installed profile identity and operating contract.scripts/validate_profile.pyRepository validator for manifests, skills, config, runtime path safety, and installability.scripts/generate_profile.pyDeterministic generator from params YAML to profile repo.scripts/generate_from_sentence.pyOne-sentence profile generation path with prompt expansion.web-demo/server.pyLocal web demo backend for prompt-to-profile flows.templates/profile.params.yamlSource of truth for generated starter profiles.docs/profile-distribution-contract.mdBoundary between Hermes core and this template authoring layer.validation
Do not trust the docs. Run the checks and inspect the output.
python3 scripts/validate_profile.py .python3 -m unittest discover -s testspython3 -m py_compile scripts/*.pypython3 scripts/profile_scorecard.py . --threshold 80python3 scripts/discovery_optimizer.py .python3 scripts/release_readiness.py --base origin/main --strictconfiguration
Configuration surface and credential expectations.
OPENROUTER_API_KEYOptional model provider key if Hermes is not already configured.GITHUB_TOKENOptional for GitHub-heavy profile publication workflows. Prefer gh auth when possible.Never commit .env files, OAuth tokens, API keys, cookies, private documents, or Hermes runtime state.
troubleshooting
Common failure modes and where to look first.
generated repo fails validationRun the generated repo validator directly and inspect distribution.yaml owned paths first.Hermes install failsUse a temporary HERMES_HOME and run hermes profile install . --yes --force from the generated repo.release guard failsBump distribution.yaml version and add the matching CHANGELOG.md heading before release-relevant changes.contribute
Open a focused issue or pull request with commands run, expected behavior, actual behavior, and relevant logs. Keep changes scoped. For GraphTheory public repos, maintainer commits use the GraphTheory identity and avoid private personal data.