Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/actions/validate-profile/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Validate Hermes profile
description: Validate a Hermes profile distribution with compile and smoke checks.
inputs:
profile-path:
description: Path to the profile repository.
required: false
default: .
runs:
using: composite
steps:
- name: Install dependencies
shell: bash
run: python -m pip install -r "${{ inputs.profile-path }}/requirements.txt"
- name: Compile scripts
shell: bash
run: python -m py_compile "${{ inputs.profile-path }}"/scripts/*.py
- name: Validate profile
shell: bash
run: python "${{ inputs.profile-path }}/scripts/validate_profile.py" "${{ inputs.profile-path }}"
35 changes: 35 additions & 0 deletions BOUNTIES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Bounties and payout proof

This repository uses public pull request threads and Solana transaction links to keep contributor payouts auditable.

Scope: this page records bounty payouts that were confirmed in the PR threads during the first contributor wave. It is not a promise of future payments and it does not replace the acceptance criteria on each bounty issue.

## Paid contributor wave

| Contributor | PRs | Wallet | Payout proof |
| --- | --- | --- | --- |
| @JHON12091986 | [#41](https://github.com/codegraphtheory/hermes-profile-template/pull/41) | `Agb7LtU4b6SNFSGzdNZ2CAykKifBSyTm5PCFYjBmW7sh` | [Solscan tx](https://solscan.io/tx/4YBgxSMtULBVd17e71oc9BfH6zg4QWsJzMf9Q1xr1ujuRnu5JCjAdLu6ZxsijKXuUVBH2E9jLqcy5BD8CXM7ek6q) |
| @leo-guinan | [#40](https://github.com/codegraphtheory/hermes-profile-template/pull/40), [#37](https://github.com/codegraphtheory/hermes-profile-template/pull/37), [#51](https://github.com/codegraphtheory/hermes-profile-template/pull/51) | `FFAdvcr2CUPbaQSypK3c8WfQo3SuyBh5YKrtzZRSvg34` | [Solscan tx](https://solscan.io/tx/3qGbbxGr8pQLoup6wRDNHqDWkhaZFjqDMmQRSP2ZQ1XaVBYjkhCfcrmeSSFJ8uA5a4bfwVyRUsB91RGHyTe9ymE4) |
| @psukhopompos | [#34](https://github.com/codegraphtheory/hermes-profile-template/pull/34), [#29](https://github.com/codegraphtheory/hermes-profile-template/pull/29) | `9CRkSXNeWaUY1F9jd7hMkTGEb1iTAuhsPz8JoDn43Wjk` | [Solscan tx](https://solscan.io/tx/3bVQDcjfkZK1PnYNimRPWg4P8M5oMUi8D2Vfjd1CiW2yb7dDwvWWZ3SbRi1N5DrUtREMUYc1iwLb4g9FGLAyras6) |
| @therealsaitama0 | [#28](https://github.com/codegraphtheory/hermes-profile-template/pull/28), [#38](https://github.com/codegraphtheory/hermes-profile-template/pull/38), [#36](https://github.com/codegraphtheory/hermes-profile-template/pull/36), [#35](https://github.com/codegraphtheory/hermes-profile-template/pull/35), [#33](https://github.com/codegraphtheory/hermes-profile-template/pull/33), [#31](https://github.com/codegraphtheory/hermes-profile-template/pull/31), [#24](https://github.com/codegraphtheory/hermes-profile-template/pull/24) | `C64LcyGryk9CWtXGNMTz1FnbYsVe6vHHSaX9EdjVBMPT` | [Solscan tx](https://solscan.io/tx/ef28eJxaZ5QFVxwKNMetU66oMXoqrg2ranV7vDbzs2bnqe17N5GoWXUPhUPsCFmJSSZmuwXsirUc7jNgZCn6bL1) |
| @xNicky2k | [#47](https://github.com/codegraphtheory/hermes-profile-template/pull/47) | `HvUzii2Dt2WAErMQ1ade6d5qNDthu7nPF8BUZzh8AhgR` | [Solscan tx](https://solscan.io/tx/3KzDAKcMu4XbDgUNtKXLpwPAVwqcKMuBibBiYAxUT4xVVQZWVwJw6ie8PgveqKqgSgPEZFnW7beXX7g8asfKRQn1) |
| @iyeanur6-cyber | [#22](https://github.com/codegraphtheory/hermes-profile-template/pull/22) | `297hZrAVMi3rujS1vxSEbrD43ezfms7snkPHaTGaLeka` | [Solscan tx](https://solscan.io/tx/2njide2JKtwqGwhoiuUfS8wmn3aLqUG7Bpsisrfjo8ZZBVg9ynfYLhjevgfPf4i3BVfTUmw2eQbcreZMRySGWaiA) |

## Contributor credit

The contributor wave was consolidated into a maintainer-reviewed integration so the repo could keep code quality high while still preserving first-time contributor credit.

Merged integration: [#53](https://github.com/codegraphtheory/hermes-profile-template/pull/53)

Main commits:

- [`f9e7d88`](https://github.com/codegraphtheory/hermes-profile-template/commit/f9e7d88d1853cbb92d992a6b358e3bcb849c9b51): integrated the first-time contributor toolkit.
- [`a4f445b`](https://github.com/codegraphtheory/hermes-profile-template/commit/a4f445b19b9e4f336ed833ee9b2cf243d310157c): normalized co-author credit.

## How future bounties should be handled

1. Link the bounty issue in the PR body.
2. Include a Solana wallet address in the PR body before payout review.
3. Keep one PR scoped to one issue unless a maintainer asks for consolidation.
4. After payment, a maintainer should comment with the wallet and Solscan transaction link.
5. Update this file only after the transaction link is available.
51 changes: 51 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,57 @@

All notable changes to this Hermes profile distribution are documented here.

## 0.6.5

- Integrated community contributor toolkit: release readiness, scorecard, discovery, wizard, demo, catalog, examples, and reusable validation action.
- Credited first-time contributor PR authors through co-author trailers while consolidating overlapping implementations into one verified maintainer integration.

## 0.6.4

- Fixed live Hermes profile evaluation so generated agents run from the generated profile directory instead of inheriting the template author's repo context.
- Added isolated live-profile installation, configurable provider/model/timeout/max-turn controls, and cleanup for noisy Hermes CLI warning output.
- Stopped generated customer profiles from bundling template authoring skills, keeping generated agents focused on their domain workflow.
- Reworked the local web demo into a finite-state interface with discrete prompt, progress, and fullscreen results panels plus smooth transitions and back/start-over navigation.

## 0.6.3

- Added real Hermes LLM calls to the local web demo pipeline: one call expands the sentence into a mature profile prompt, another reviews generated profile quality.
- Split backend work into explicit status stages so the UI receives snappier progress updates instead of jumping from start to finish.
- Added inline generated-file preview endpoints and clickable file rows in the web UI, so users can inspect files without downloading the zip.
- Added `--profile-prompt-file` support to `scripts/generate_from_sentence.py` so Hermes-refined prompts can drive deterministic repo generation.

## 0.6.2

- Fixed local web demo layout collisions by separating the prompt pane, status rail, and detail workbench columns.
- Added an embedded playable demo iframe directly in the result window.
- Added a clearer generated-output summary with quality checks, important files, install command, and artifact links.
- Exposed generated file metadata and validation-quality signals from the local backend result payload.

## 0.6.1

- Redesigned the local web demo into a fixed fullscreen windowpane experience.
- Replaced the marketing-style landing page with a single sentence text box as the initial state.
- Added progressive workbench panels that unveil prompt, params, repo, demo, diagram, validation, and package details as generation runs.
- Added richer job status metadata for the frontend while keeping the backend local and standard-library based.

## 0.6.0

- Added `scripts/generate_from_sentence.py`, a deterministic local backend entrypoint that turns one sentence into an installable Hermes profile repo.
- Added generated demo artifacts: `demo/index.html`, `docs/playable-demo.md`, `docs/output-diagram.svg`, and `docs/validation-report.md`.
- Added safe zip packaging for generated profile downloads.
- Added `web-demo/server.py` and a static local webpage that submits generation jobs and displays download, demo, diagram, prompt, and validation links.
- Added `make sentence-smoke` and `make web-demo` shortcuts.
- Documented the local web demo and the one-sentence generation path.

## 0.5.0

- Added a bundled `prompt-engineering` skill that expands a simple profile idea into a mature Hermes profile prompt and generation brief.
- Added `templates/prompts/prompt-to-profile.md` as a reusable prompt expansion template.
- Updated `profile-architect` and `profile-craft` workflows so short user ideas are expanded before params generation.
- Added `profile_prompt` support to generated params and `docs/profile-prompt.md` output so generated repos preserve the mature prompt that shaped them.
- Updated generated profile READMEs to explain the preserved design prompt and regeneration workflow.
- Updated support-file copying so generated repos include the template's authoring skills without copying unrelated runtime skills.

## 0.4.0

- Rebuilt the README around the literal prompt-to-installable-profile-repo workflow.
Expand Down
6 changes: 6 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

Thanks for improving this Hermes profile distribution.

## Etiquette

1. In order to accomodate the maximum number of first-time contributors, please limit yourself to ONE `help-wanted` or `bounty` issue at a time.
2. Agent PRs are welcomed and accepted as long as they are high quality.
3. Please fork and star the repo prior to raising a pull request.

## Development loop

1. Inspect the current repository state.
Expand Down
25 changes: 23 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.PHONY: deps validate compile generate-smoke smoke release-check clean
.PHONY: deps validate test compile generate-smoke sentence-smoke smoke web-demo release-check scorecard discovery-check demo-smoke clean

PYTHON ?= python3
BASE ?= origin/main
Expand All @@ -9,6 +9,10 @@ deps:

validate:
$(PYTHON) scripts/validate_profile.py .
$(PYTHON) scripts/discovery_optimizer.py .

test:
$(PYTHON) -m unittest discover -s tests

compile:
PYTHONDONTWRITEBYTECODE=1 $(PYTHON) -m py_compile scripts/*.py
Expand All @@ -18,11 +22,28 @@ generate-smoke:
$(PYTHON) scripts/generate_profile.py --params templates/profile.params.yaml --output $(GEN_ROOT)/generated
$(PYTHON) $(GEN_ROOT)/generated/scripts/validate_profile.py $(GEN_ROOT)/generated

sentence-smoke:
rm -rf $(GEN_ROOT)
$(PYTHON) scripts/generate_from_sentence.py --sentence "a database migration reviewer" --output $(GEN_ROOT)/sentence-generated --force
$(PYTHON) $(GEN_ROOT)/sentence-generated/scripts/validate_profile.py $(GEN_ROOT)/sentence-generated

web-demo:
$(PYTHON) web-demo/server.py

smoke:
scripts/smoke_install.sh

release-check:
$(PYTHON) scripts/check_release_version.py --base $(BASE)
$(PYTHON) scripts/release_readiness.py --base $(BASE)

scorecard:
$(PYTHON) scripts/profile_scorecard.py . --threshold 80

discovery-check:
$(PYTHON) scripts/discovery_optimizer.py .

demo-smoke:
$(PYTHON) scripts/demo_fixture.py . --demo generate

clean:
rm -rf $(GEN_ROOT) .pytest_cache .mypy_cache .ruff_cache htmlcov dist build
Expand Down
Loading
Loading