Repository navigation
docs: marketplace readiness - #25
Merged
Merged
Conversation
Add the registry listing, the icon pair, the screenshot spec with its demo data, and rewrite the README to the standard outline around the blocks frappe-init renders. The development notes move to docs/development.md, the title and tagline agree across hooks.py, pyproject.toml and the listing, and license.txt carries the year of the first commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SvdEeMiewirZ3ifFoUix5F
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SvdEeMiewirZ3ifFoUix5F
The README listed Print Format and the notification settings under eSign Settings, but Print Format is the web form's own field and the notification settings have their own section. Also say that Set Property After Response offers every field but only sets Select, Link, Data and Text fields, and name the mobile-only option for what it checks (screen width, not touch). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SvdEeMiewirZ3ifFoUix5F
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings the app up to the frappe-nix 1.1 app standard for its README, registry listing, icon and screenshots, in the same format as Avunu/ui_text_editor#86.
What changed
Icon:
esign_webforms/public/images/esign_webforms-symbolic.svg(the approved pen-nib-on-signature-line glyph) and theesign_webforms-logo.svgtile thatfrappe-icon tilegenerates. The app is an extension, so it has noadd_to_apps_screenentry and no desktop-icon fixture, andapp_logo_urlis not set.Listing:
marketplace/listing.toml: title "eSign Web Forms" (the name avunu.net uses), tagline "Electronic signatures on Frappe documents through web forms, with signed PDFs", type and categoryextension/ Extensions, categories Documents and Productivity, the website and the documentation page.hooks.py,pyproject.tomlandflake.nixagree with it (title, description, publisher Avunu LLC,mail@avu.nu,MIT).README: rewritten to the standard outline (Overview, Features, Configuration, How It Works, Limitations) around the blocks that
frappe-init --syncgenerates, from the code, the old README and the avunu.net page. The old README's Contributing section (pre-commit, eslint, prettier) was out of date; the build commands and the source layout are now indocs/development.md.docs/README.mduses the new title and tagline and links to it.Screenshots:
marketplace/screenshots.tsandesign_webforms/demo.py, withesign_webforms/tests/test_demo.py. The demo makes a small submittable "Service Agreement" DocType with a Signature field, a print format, an eSign web form and an eSign email template, then one agreement waiting for a signature and one signed agreement. The signed one has its PDF and the eSign Communication that the app's ownrecord_signaturewrites.docs/screenshots/has:signing-page(hero, light only): the signing page with the agreement preview and the form filled in with a typed signature.signature-pad(light only): the signature dialog's Draw tab with a drawn signature.send-for-esign(light and dark): the Send for eSign dialog with the email template rendered for the document.audit-trail(light and dark): a signed agreement's timeline with the eSign audit card.The two signing-page shots are light only because the website page has no dark theme, so the dark copies were identical. They were made locally with
frappe-shots --recreate-site --update, and every image was checked by eye.frappe-init --syncthen added the hero to the README header.License: a single
license.txtwith the MIT text, "Copyright (c) 2025 Avunu LLC". The first commit is from September 2025, which matches the generated "2025–present" block. The license link indocs/README.mdnow points at GitHub, because a relativelicense.txtwould be broken on the docs site.Verification (local, with frappe-nix 1.1.1 tooling)
prek run --all-files: passesfrappe-init --check: cleanfrappe-listing check --no-getapp: every check passes. The demo's onerender_templatecall renders the module's own print-format constant and carries anosemgrep: frappe-ssticomment with that reason.frappe-listing check --links-only: every check passes. https://avunu.net/open-source/esign_webforms/ and https://docs.avunu.net/esign-webforms/ both return 200.frappe-icon check: the structural and raster checks passyarn typecheck(tsc --build, which now includestsconfig.scripts.jsonand the screenshot spec): passesfrappe-test --reuse-site --ty: 95 tests pass, coverage 93.4 % (gate 80), and ty is cleanfrappe-shots --recreate-site --update: 6 images, all inspectedGaps and known differences
version-16branch, which does not exist until the first release-please release creates it. They also link the Frappe Cloud marketplace page, which goes live only once the app is listed, and the "Latest release" badge shows nothing until there is a release. All of this is expected. A hand-written line under the install block says to use--branch developuntil then.frappe-shotsruns the demo beforebench build, sofrappe.attach_print(which the signing job uses) fails there for lack ofassets.json. The demo renders the print format's HTML itself and converts it withfrappe.utils.pdf.get_pdf. The rest of the signing record goes through the app'srecord_signature.emailparameter.send_esign_emailcallsget_esign_link(doc, web_form, print_format)withoutrecipient_email, so a guest signer's email is only recorded when the form has an Email field. The code comments suggest the parameter was meant to be included.#es-line-download) renders as a filled black dot in both themes, as theaudit-trailshots show. The "open" link icon next to it renders correctly.developafter ci: move to frappe-nix 1.1.1 #24 (ci: move to frappe-nix 1.1.1) and was re-synced withfrappe-init --sync.🤖 Generated with Claude Code
https://claude.ai/code/session_01SvdEeMiewirZ3ifFoUix5F