Skip to main content

ViewCompose Documentation

This directory is the canonical documentation entrance for ViewCompose. It is organized for both human readers and AI-assisted maintenance, and it is also the content boundary for the published GitHub-hosted documentation site.

The repository state and active documents below are authoritative. Files under archive/ are historical evidence only.

Choose a reading path​

GoalStart here
Build the first applicationBuild your first application
Learn one capabilityCapability tutorials → choose any topic; chapters have no ordering requirement
Understand the frameworkArchitecture overview → Multi-design-system standard → Modifier model → NodeSpec model
Migrate from Jetpack ComposeCompose migration overview → choose the state, layout, host, or navigation path
Choose or maintain a published artifactPublished module catalog → the owning module manual
Look up an application-facing entryCapability Reference → versioned API/KDoc → the owning module manual
Build with a featureSelect the relevant document under Guides
Connect an AI agentAI Integration
Work with previews, diagnostics, or performancePreview → Diagnostics → Performance
Contribute a changeDevelopment workflow → Documentation governance
Prepare a releasePublishing → Capability verification
Restore project contextRoadmap and the active document for the affected area; do not start from archived plans

Architecture​

Long-lived contracts, boundaries, and runtime semantics:

Tutorials​

Independently runnable learning pages backed by one compiled source file per capability:

  • Build your first application — create the smallest native-View counter and optional static preview.
  • Capability tutorial catalog — choose state, layout, text input, lazy lists, theming, navigation, overlays, Android View interop, animation, gestures, performance, or diagnostics without completing another chapter first.

Guides​

Feature behavior and platform integration:

Migration from Jetpack Compose​

Semantic comparisons and migration paths with explicit source and target versions:

Published modules​

The published module catalog is kept in lockstep with Maven publication metadata. Every published artifact has a dedicated manual under docs/modules/<artifact-id>/ and can evolve independently.

Capability and API Reference​

The source-derived Capability Reference groups application-facing DSL, Modifier, component, integration, host, and tooling entries by user capability. Its counts, versions, and routes are freshness-gated. Use the versioned API Reference for exhaustive signatures and KDoc/Javadoc, then follow the entry's module-manual link for artifact contracts.

AI Integration​

Machine-readable reference, local MCP tools, standard Agent Skills, and executable evidence:

Tooling​

Development-time tooling, inspection, and performance:

Project maintenance​

Current process, release, and planning information:

Documentation rules​

  1. Keep the repository root limited to landing pages and community governance files.
  2. Separate cross-module concepts from artifact-specific installation, compatibility, and API contracts.
  3. Update KDoc/Javadoc and the owning module manual with public API changes.
  4. Apply the documentation change impact matrix in every code pull request; No documentation impact requires a rationale.
  5. Put cross-session execution plans under docs/project/plans/; move completed plans to docs/archive/.
  6. Use repository-relative links. Never commit a local absolute path.
  7. Make every active document reachable from this index through a section index.
  8. Do not use archived documents as current requirements.
  9. Run ./gradlew verifyDocumentationStructure before committing documentation changes. The same check is included in qaQuick.
  10. Keep titles, headings, and narrative English in docs/, and Simplified Chinese in the matching zh-CN mirror; mark foreign-language UI literals as inline code.
  11. Follow the canonical-first localization workflow for every public content change; never refresh a translation fingerprint without reviewing meaning.

The complete contract, naming rules, lifecycle, and review checklist are defined in Documentation governance.