Skip to content
Draft
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
4 changes: 4 additions & 0 deletions structkit/contribs/ansible-playbook.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates an Ansible playbook scaffold with main.yml, vars.yml, tasks/main.yml,
handlers/main.yml, a templates directory, and a README.md.

files:
- main.yml:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/chef-cookbook.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a Chef cookbook scaffold for configuring NGINX, including a default recipe,
node attributes, an nginx.conf.erb template, a default index.html, and a README.md.

files:
- recipes/default.rb:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/ci-cd-pipelines.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates CI/CD pipeline configuration files for multiple platforms: GitLab CI (.gitlab-ci.yml),
Jenkins (Jenkinsfile), and GitHub Actions (ci.yml and cd.yml) with build, test, and deploy stages.

files:
- .gitlab-ci.yml:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/cloudformation-files.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates AWS CloudFormation files: a template.yaml defining an S3 bucket resource,
a parameters.json file, and a deploy.sh script for deploying the stack via the AWS CLI.

files:
- template.yaml:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/configs/chglog.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates git-chglog configuration files (.chglog/config.yaml and CHANGELOG.tpl.md)
for automated changelog generation with GitHub-style commit parsing and Markdown output.

files:
- .chglog/config.yaml:
content: |
Expand Down
3 changes: 3 additions & 0 deletions structkit/contribs/configs/codeowners.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
description: >
Creates a CODEOWNERS file assigning all repository files to a configurable GitHub username.

files:
- CODEOWNERS: |
* @github_username
4 changes: 4 additions & 0 deletions structkit/contribs/configs/devcontainer.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a VS Code dev container configuration using Python 3.12 (bullseye) with
yamlfmt and pre-commit features pre-installed.

files:
- .devcontainer/devcontainer.json:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/configs/editor-config.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates an .editorconfig file enforcing consistent coding style across editors:
UTF-8, LF line endings, 2-space indentation, and trailing whitespace trimming.

files:
- .editorconfig:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/configs/eslint.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates ESLint configuration files (.eslintrc.json and .eslintignore) for a
React/ES2021 project with eslint:recommended and react/recommended rules enabled.

files:
- .eslintrc.json:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/configs/jshint.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates JSHint configuration files (.jshintrc and .jshintignore) for Node.js/ES6
JavaScript linting, excluding node_modules and dist directories.

files:
- .jshintrc:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/configs/kubectl.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a .kuberc kubectl preferences file with a custom alias for creating namespaces
and a forced --interactive=true flag for kubectl delete commands.

files:
- .kuberc:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/configs/prettier.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates Prettier code-formatting configuration files (.prettierrc and .prettierignore)
with standard style settings: single quotes, ES5 trailing commas, 80-char print width.

files:
- .prettierrc:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/docker-files.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates Docker configuration files: a Dockerfile (nginx-based), .dockerignore,
a docker-compose.yml with web and db (MySQL) services, and a .env file.

files:
- Dockerfile:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/documentation-template.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates standard open-source project documentation files: README.md, CONTRIBUTING.md,
CODE_OF_CONDUCT.md, and LICENSE.md, all templated with a project_name variable.

files:
- README.md:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/git-hooks.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates executable Git hook shell scripts under .git/hooks/: pre-commit,
pre-push, and commit-msg, each with a placeholder for custom hook logic.

files:
- .git/hooks/pre-commit:
permissions: 755
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/github/chatmodes/plan.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a GitHub Copilot chat mode file (plan.chatmode.md) that configures an AI
planning assistant for generating implementation plans without making any code edits.

files:
- ./github/chatmodes/plan.chatmode.md:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/github/instructions/generic.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a generic GitHub Copilot instructions file (.github/instructions/generic.instruction.md)
as a blank starter template for defining AI coding guidelines and context.

files:
- .github/instructions/generic.instruction.md:
skip_if_exists: true
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/github/prompts/generic.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a generic GitHub Copilot prompt file (.github/prompts/generic.prompt.md)
as a blank starter template for defining reusable AI prompts.

files:
- .github/prompts/generic.prompt.md:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/github/prompts/react-form.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a GitHub Copilot prompt for generating React form components using
react-hook-form (uncontrolled), yup validation schemas, and TypeScript types.

files:
- .github/prompts/react-form.prompt.md:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/github/prompts/security-api.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a GitHub Copilot prompt for reviewing REST API security, covering
authentication, input validation, rate limiting, and security event logging.

files:
- .github/prompts/security-api.prompt.md:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/github/prompts/struct.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a GitHub Copilot prompt that configures an AI assistant for generating
valid .struct.yaml files for the StructKit tool, with schema references and usage examples.

files:
- .github/prompts/struct.prompt.md:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/github/templates.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates GitHub PR templates (bug fix, feature request, general PR) under
.github/PULL_REQUEST_TEMPLATE/ and an issue template under .github/ISSUE_TEMPLATE/.

files:
- .github/PULL_REQUEST_TEMPLATE/bug_fix_template.md:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/github/workflows/codeql.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a GitHub Actions CodeQL analysis workflow (z-codeql.yaml) for JavaScript
security scanning, triggered on push/PR to default branches and on a weekly schedule.

files:
- .github/workflows/z-codeql.yaml:
content: | # yaml
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates a GitHub Actions workflow for running Terraform plan on PRs and apply on pushes
to main, scoped to a specific app path under .devops/apps/. Uses variables for app name,
working directory path, and GitHub token.

files:
- .github/workflows/execute-tf-{{@ app_name | slugify @}}.yaml:
content: |
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/github/workflows/labeler.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates a GitHub Actions labeler workflow (labeler.yaml) and a labeler config
(.github/labeler.yml) that auto-assigns PR labels based on changed file paths
and branch name patterns (feature, bug, docs, release).

files:
- .github/labeler.yml:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/github/workflows/pre-commit.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a GitHub Actions pre-commit workflow (z-pre-commit.yaml) and a
.pre-commit-config.yaml with check-yaml, end-of-file-fixer, and trailing-whitespace hooks.

files:
- .github/workflows/z-pre-commit.yaml:
content: |
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/github/workflows/release-drafter.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates a release drafter workflow (z-release-drafter.yaml), a major tagging workflow
(z-major-tagging.yaml), and a release-drafter.yml config with feature/bugfix/patch
label categories and semantic versioning resolution.

files:
- .github/workflows/z-release-drafter.yaml:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/github/workflows/run-struct.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a GitHub Actions workflow (run-struct.yaml) that can be manually triggered
via workflow_dispatch to run struct file generation, plus a starter .struct.yaml file.

files:
- .github/workflows/run-struct.yaml:
skip_if_exists: true
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/github/workflows/stale.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a GitHub Actions workflow (stale.yaml) that runs daily on a cron schedule
to mark inactive issues and pull requests as stale with configurable messages.

files:
- .github/workflows/stale.yaml:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/helm-chart.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a complete Helm chart scaffold including Chart.yaml, values.yaml,
Deployment/Service/Ingress templates, a helpers partial, and .helmignore.

files:
- Chart.yaml:
content: |
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/kubernetes-manifests.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates Kubernetes manifest files for deploying a containerised application:
Deployment, Service, Ingress, ConfigMap, Secret, and README.md.
Uses variables for app name, deployment name, and Docker image details.

files:
- deployment.yaml:
content: |
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/project/custom-structures.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates the scaffolding for a custom StructKit structures repository: README.md,
custom-mappings.yaml, a structures/ directory, and common configs via sub-structures
(devcontainer, editor-config, prettier, run-struct, release-drafter, pre-commit).

files:
- README.md:
content: |
Expand Down
6 changes: 6 additions & 0 deletions structkit/contribs/project/generic.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
description: >
Creates a comprehensive generic project scaffold with standard directory structure
(.config, .build, src, test, doc, tools, dep), common config files (.editorconfig,
.gitignore, Dockerfile, docker-compose.yml), GitHub community files, and Terraform
environment apps (prod, stage, qa, dev, init).

files:
- .config/REMOVE_ME.md:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/project/go.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a Go project scaffold with standard directory layout (cmd, pkg, internal, api, test),
main.go entry point, .editorconfig, .gitignore, README.md, and Apache 2.0 LICENSE.

files:
- .editorconfig:
content: |
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/project/java.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates a Java Maven project scaffold with pom.xml, standard Maven directory layout
(src/main/java, src/test/java), App.java and AppTest.java starters, .editorconfig,
.gitignore, README.md, and Apache 2.0 LICENSE.

files:
- .editorconfig:
content: |
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/project/n8n.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates a self-hosted n8n workflow automation setup with docker-compose.yaml
(n8n container + Traefik reverse proxy with automatic HTTPS), .env configuration,
and a local-files/ directory. Uses variables for domain, subdomain, timezone, and SSL email.

files:
- .gitignore:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/project/nodejs.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a Node.js project scaffold with package.json, src/index.js and utils.js,
public/index.html, a test starter, .editorconfig, .gitignore, README.md, and Apache 2.0 LICENSE.

files:
- .editorconfig:
content: |
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/project/python.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates a Python project scaffold with setup.py, setup.cfg, pyproject.toml,
Makefile (with venv management), requirements.txt, src and tests directories
with starter modules, .editorconfig, .gitignore, and Apache 2.0 LICENSE.

files:
- .editorconfig:
content: |
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/project/ruby.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates a Ruby project scaffold with .rubocop.yml, RSpec test structure (spec/),
lib directory with versioned module and main class, bin/console and bin/setup scripts,
.editorconfig, .gitignore, README.md, and Apache 2.0 LICENSE.

files:
- .editorconfig:
content: |
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/project/rust.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates a Rust project scaffold with Cargo.toml, src/main.rs and lib.rs, module files,
integration tests, benchmarks, .cargo/config for cross-compilation, .editorconfig,
.gitignore, README.md, and Apache 2.0 LICENSE.

files:
- .editorconfig:
content: |
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/prompts/run-struct-trigger.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates an AI agent prompt file that instructs the assistant to query GitHub for
repositories matching a given topic in a specified organization, then trigger the
run-struct workflow on each of them.

files:
- run-struct-trigger.md:
content: |
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/terraform/apps/aws-accounts.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates Terraform app directories for nonprod and prod AWS accounts under
.devops/apps/accounts/, each using the generic app structure with a remote backend,
plus execute-tf-workflow GitHub Actions workflows for each account.

folders:
- .devops/apps/accounts/nonprod:
struct: terraform/apps/generic
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/terraform/apps/environments.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates Terraform app directories for four environments (dev, qa, stage, prod) under
.devops/apps/environments/, using the generic app structure with a remote backend,
plus execute-tf-workflow GitHub Actions workflows for each environment.

folders:
- .devops/apps/environments/dev:
struct: terraform/apps/generic
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/terraform/apps/generic.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates a generic Terraform app scaffold with main.tf, variables.tf, outputs.tf,
providers.tf (with a remote backend on app.terraform.io), and README.md.
Uses variables for the remote backend organization and workspace names.

files:
- main.tf:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/terraform/apps/github-organization.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates Terraform files for managing a GitHub organization: providers.tf with the
GitHub provider and a remote backend, plus main.tf, variables.tf, outputs.tf, and README.md.

files:
- providers.yaml:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/terraform/apps/init.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a Terraform init app directory under .devops/apps/init/ using the generic
app structure with a remote backend, plus an execute-tf-workflow GitHub Actions workflow.

folders:
- .devops/apps/init:
struct: terraform/apps/generic
Expand Down
5 changes: 5 additions & 0 deletions structkit/contribs/terraform/modules/generic.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
description: >
Creates a generic Terraform module scaffold with main.tf (EC2 instance example),
variables.tf, outputs.tf, versions.tf (with AWS and Datadog providers auto-versioned),
and README.md. Uses a module_name variable for documentation templating.

files:
- main.tf:
content: |
Expand Down
4 changes: 4 additions & 0 deletions structkit/contribs/vagrant-files.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
description: >
Creates a Vagrant development environment with a Vagrantfile (Ubuntu bionic64),
an executable bootstrap.sh provisioning script that installs nginx, and a README.md.

files:
- Vagrantfile:
content: |
Expand Down
Loading