Skip to content

[Contracts] Generate and publish Rust doc documentation for all smart contracts #183

Description

@Penielka

Description

Smart contract source code has inline Rust documentation comments (///) but no generated docs. Build and publish documentation to GitHub Pages so developers can understand contract interfaces without reading source code.

Definition of Done

  • All public contract functions have /// doc comments with parameters and return values
  • Module-level documentation for each contract module
  • Examples in doc comments that can be tested with cargo test --doc
  • cargo doc --no-deps generates clean HTML documentation
  • Documentation published to GitHub Pages via CI workflow
  • README links to published docs
  • Doc comments explain Soroban-specific concepts (env, storage, auth)

Acceptance Criteria

  1. cargo doc --no-deps --open shows all public API documentation
  2. Doc examples pass with cargo test --doc
  3. Published docs accessible at .github.io/AetherMint/contracts
  4. Every public function has a doc comment

Files to Modify

  • contracts/src/lib.rs — ensure module doc and re-exports are documented
  • contracts/src/credentials.rs — add/improve doc comments
  • contracts/src/courseMetadata.rs — add/improve doc comments
  • contracts/src/governance.rs — add/improve doc comments
  • contracts/src/marketplace.rs — add/improve doc comments
  • contracts/src/tokenomics.rs — add/improve doc comments
  • contracts/src/dynamic_nft.rs — add/improve doc comments
  • contracts/src/dna_storage.rs — add/improve doc comments
  • contracts/src/attestation_protocol.rs — add/improve doc comments
  • contracts/src/user_profile.rs — add/improve doc comments
  • contracts/src/credential_registry.rs — add/improve doc comments
  • New file: .github/workflows/docs.yml — build and publish docs

Metadata

Metadata

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official CampaigncontractsSmart contract issuesdocumentationImprovements or additions to documentationenhancementNew feature or requestmedium-priority

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions