| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Infrastructure-as-code framework for full-stack web applications
Documentation · Getting Started · Examples ·
WebKit is a CLI tool that transforms a single app.json manifest into production-ready infrastructure and CI/CD pipelines. It generates Terraform configurations, GitHub Actions workflows, and project files - all without cluttering your project repository with infrastructure code.
Key Features:
Note: For user documentation and guides, visit webkit.ainsley.dev
Quick install:
curl -sSL https://raw.githubusercontent.com/ainsleydev/webkit/main/bin/install.sh | shOr download binaries from the latest release.
Verify installation:
webkit versionRun the following to get setup with webkit.
make setupwebkit/
├── cmd/webkit/ # CLI entry point
├── internal/
│ ├── appdef/ # App manifest parsing and validation
│ ├── cmd/ # CLI command implementations
│ │ ├── cicd/ # GitHub Actions workflow generation
│ │ ├── env/ # Environment variable management
│ │ ├── docs/ # Documentation generation
│ │ ├── files/ # Project file generation
│ │ ├── infra/ # Terraform infrastructure commands
│ │ └── secrets/ # SOPS encryption/decryption
│ ├── infra/ # Terraform wrapper and state management
│ ├── manifest/ # File tracking and manifest source tagging
│ ├── scaffold/ # Template scaffolding system
│ ├── secrets/ # SOPS/Age integration
│ ├── templates/ # Embedded project templates
│ └── util/ # Shared utilities
└── platform/ # Terraform modules (separate infra repository)
├── providers/ # Provider-specific modules (DO, B2, etc.)
└── modules/ # Orchestration modules (apps, resources)
Key Components:
You can simulate GitHub Actions workflows locally using act. act runs from your local computer, whatever files are currently in your working directory, including any uncommitted changes.
# Test lint workflow
pnpm act:lint
# Test test workflow
pnpm act:test
# Dry-run release workflow (shows what would run without executing)
pnpm act:releaseFor maintainers only
WebKit uses GoReleaser for automated releases. The release process is triggered by creating and pushing a git tag.
Use the interactive tag tool:
pnpm tagThis will guide you through:
When a tag is pushed, the version will be injected then GitHub Actions automatically triggers the GoReleaser workflow, builds binaries for each platform and creates a GitHub release with the binaries attached.
WebKit follows Semantic Versioning.
WebKit uses Changesets for automated package versioning and publishing. When merging changes to npm packages in the packages/ directory, create a changeset to document the change and specify the version bump type. See packages/README.md for detailed instructions.
You may not, except with our express written permission, distribute or commercially exploit the content found within this repository or any written text within this repository. Nor may you transmit it or store it in any other website or other form of electronic retrieval system.
Any redistribution or reproduction of part or all of the contents in any form is prohibited other than the following:
Code Copyright 2023 ainsley.dev. Code released under the BSD-3 Clause.
| Back | FazBrowse Home | New Git URL |