Skip to content

About

๐Ÿƒ Code Facet Generator - Dynamic facet-based code generator for multiple languages for ๐Ÿ’  VSCode.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿƒ Code Facet Generator

Dynamic facet-based code generator for multiple languages and frameworks.


Code Facet Generator Icon

โœจ Generate ready-to-use configuration files instantly โœจ

Version License Languages Files

GitHub stars GitHub forks GitHub watchers

GitHub code size GitHub repo size GitHub file count


๐ŸŽฅ Demo

Demo


๐Ÿ“– What is Code Facet Generator?

Code Facet Generator is a VS Code extension (or CLI tool) that generates ready-to-use configuration files for virtually any language, framework, or tool in your project.

No more googling "spring boot application.yml example" or "next.config.js boilerplate". Just pick your language, framework, and version โ€” and get a production-ready config file instantly.


โœจ Features

  • ๐ŸŽฏ 327+ ready-to-use configuration templates across 32 categories
  • ๐ŸŒ Multi-language support โ€” Java, JavaScript, Python, Go, Rust, C#, PHP, Ruby, and many more
  • ๐Ÿ“ฆ Multi-version support โ€” each tool has multiple version-specific templates
  • โšก Instant generation โ€” select, click, done
  • ๐ŸŽจ Beautiful VS Code integration with TreeView, StatusBar, and Command Palette
  • ๐Ÿ”ง Fully configurable via info.json โ€” add your own templates easily
  • ๐Ÿงฉ Modular architecture โ€” each facet is a standalone TypeScript file

VS Code Marketplace Version VS Code Marketplace Installs VS Code Marketplace Downloads VS Code Marketplace Rating


๐Ÿ“ Project Structure

code-facet-generator/
โ”œโ”€โ”€ ๐Ÿ“„ package.json                  # VS Code extension manifest
โ”œโ”€โ”€ ๐Ÿ“„ tsconfig.json                 # TypeScript configuration
โ”œโ”€โ”€ ๐Ÿ“„ info.json                     # All facet definitions (32 categories, 327+ facets)
โ”œโ”€โ”€ ๐Ÿ“ media/                        # Icons and branding
โ”‚   โ”œโ”€โ”€ ๐ŸŽจ facet-icon.svg
โ”‚   โ””โ”€โ”€ ๐ŸŽจ facet-icon.png
โ”œโ”€โ”€ ๐Ÿ“ lib/                          # Generated facet templates (327+ files)
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ java/                     # Maven, Gradle, Spring Boot, Quarkus, Hibernate...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ javascript/               # React, Vue, Next.js, Nuxt, Node.js, Express...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ python/                   # Django, Flask, FastAPI, Celery, Poetry...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ csharp/                   # ASP.NET, Blazor, Entity Framework, WPF...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ go/                       # Go modules, main.go, Docker...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ rust/                     # Cargo.toml, main.rs...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ ruby/                     # Gemfile, Rails, Sinatra, RSpec...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ php/                      # Laravel, Symfony, Composer, PHPUnit...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ kubernetes/               # Deployment, Service, Ingress, Helm...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ database/                 # MySQL, PostgreSQL, MongoDB, Redis...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ cicd/                     # GitHub Actions, GitLab CI, Jenkins...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ infrastructure/           # Terraform, Ansible, Vagrant, CloudFormation...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ monitoring/               # Prometheus, Grafana, ELK, Datadog...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ mobile/                   # Flutter, React Native, Ionic, Kotlin, Swift...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ config/                   # .gitignore, .editorconfig, README, LICENSE...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ security/                 # SonarQube, Snyk, Trivy...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ message-queue/            # RabbitMQ, Kafka, ActiveMQ...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ testing/                  # K6, Postman, Cucumber...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ documentation/            # AsyncAPI, JSDoc, Docusaurus...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ game/                     # Unity, Unreal Engine, Godot...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ embedded/                 # Arduino, PlatformIO...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ desktop/                  # Tauri, Qt, GTK...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ ai-ml/                    # TensorFlow, PyTorch, Hugging Face, MLflow...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ blockchain/               # Hardhat, Truffle, Foundry, Anchor...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ api-gateway/              # Kong, Traefik, Envoy, HAProxy, Caddy...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ data-analytics/           # dbt, Spark, Flink, Debezium...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ authentication/           # Keycloak, Auth0, Ory Kratos...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ storage/                  # MinIO, Ceph...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ build-tools/              # Make, CMake, Bazel, Rush, Pants...
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ package-managers/         # Conan, vcpkg, CocoaPods, CPM...
โ”‚   โ””โ”€โ”€ ๐Ÿ“ graphics/                 # Unity Shader Graph, HLSL...
โ”œโ”€โ”€ ๐Ÿ“ src/                          # Extension source code
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ extension.ts              # Entry point
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ statusBarManager.ts       # Status bar integration
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ facetTreeProvider.ts      # Tree view provider
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ facetCommands.ts          # โšก Command handlers
โ”‚   โ””โ”€โ”€ ๐Ÿ“ utils/                    # Utilities
โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ configLoader.ts       # info.json parser
โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ fileGenerator.ts      # File writer
โ”‚       โ””โ”€โ”€ ๐Ÿ“„ pathResolver.ts       # Path resolver
โ””โ”€โ”€ ๐Ÿ“„ .vscodeignore                 # VS Code ignore file

๐Ÿš€ Supported Languages & Frameworks

โ˜• Java (17 tools, 68 variants)
Tool Config File Versions
Maven pom.xml 3.8, 3.9, 4.0
Gradle build.gradle 7.6, 8.0, 8.4
JPA persistence.xml 2.2, 3.0, 3.1
Hibernate hibernate.cfg.xml 5.4, 5.6, 6.0, 6.2, 6.3
Spring Boot application.yml 2.7, 3.0, 3.1, 3.2
Quarkus application.properties 3.0, 3.2, 3.4
Micronaut application.yml 3.0, 4.0
MyBatis mybatis-config.xml 3.0, 3.5
Jakarta EE web.xml 3.1, 4.0, 5.0
Logback logback.xml 1.2, 1.3, 1.4
Log4j2 log4j2.xml 2.17, 2.20, 2.22
Liquibase changelog.xml 4.20, 4.23
Flyway V1__init.sql 9.0, 10.0
OpenAPI openapi.yaml 3.0, 3.1
Checkstyle checkstyle.xml 10.0, 10.12
PMD pmd.xml 6.55, 7.0
Tomcat server.xml, context.xml 9.0, 10.0
๐Ÿ’› JavaScript / TypeScript (42 tools, 86 variants)
Tool Config File Versions
Next.js next.config.js 13, 14
Nuxt.js nuxt.config.js 3.0, 3.8
Gatsby gatsby-config.js 5.0
Svelte svelte.config.js 4.0
SvelteKit svelte.config.js 2.0
Astro astro.config.mjs 4.0
Remix remix.config.js 2.0
React App.jsx 18, 19
Vue vue.config.js 3.0, 3.3
Angular angular.json 17
Solid.js vite.config.ts 1.0
Qwik qwik.config.ts 1.0
Stencil stencil.config.ts 4.0
Ember.js ember-cli-build.js 5.0
NestJS main.ts 10.0
Express app.ts 4.18
Fastify server.js 4.0
Koa app.js 2.0
Webpack webpack.config.js 5.0, 5.89
Vite vite.config.js 4.0, 5.0
Rollup rollup.config.js 4.0
Parcel .parcelrc 2.0
Babel babel.config.js 7.0
ESLint .eslintrc.json 8.0, 9.0
Prettier .prettierrc 2.8, 3.0, 3.1
Jest jest.config.js 29, 30
Vitest vitest.config.ts 1.0, 1.2
Cypress cypress.config.js 12, 13
Playwright playwright.config.ts 1.40
Tailwind tailwind.config.js 3.0, 3.3
Prisma schema.prisma 5.0, 5.7
TypeORM ormconfig.json 0.3
Sequelize .sequelizerc 6.0
Drizzle drizzle.config.ts 0.29
Socket.io server.js 4.0
PM2 ecosystem.config.js 5.0
NX nx.json 17.0
Turborepo turbo.json 1.0
Lerna lerna.json 7.0
๐Ÿ Python (18 tools, 28 variants)
Tool Config File Versions
Django settings.py 4.2, 5.0
Flask app.py 2.3, 3.0
FastAPI main.py 0.100, 0.104
Pyramid development.ini 2.0
Django REST settings_rest.py 3.14
Celery celery.py 5.3
Alembic alembic.ini 1.12
Poetry pyproject.toml 1.5, 1.7
Pipenv Pipfile 2023
Tox tox.ini 4.0
PyTest pytest.ini 7.0, 8.0
Sphinx conf.py 7.0
MkDocs mkdocs.yml 1.5
Black pyproject.toml 23.0
isort .isort.cfg 5.0
MyPy mypy.ini 1.0
Flake8 .flake8 6.0
Pylint .pylintrc 3.0
๐ŸŽฎ More Categories
  • C# / .NET โ€” ASP.NET, Blazor, Entity Framework, WPF, xUnit, Serilog (11 tools)
  • Go โ€” Modules, main.go, Docker (3 tools)
  • Rust โ€” Cargo, main.rs (2 tools)
  • Ruby โ€” Gemfile, Rails, Sinatra, RSpec, RuboCop (5 tools)
  • PHP โ€” Composer, Laravel, Symfony, PHPUnit, PHPStan, PHP-CS-Fixer (6 tools)
  • Kubernetes โ€” Deployment, Service, ConfigMap, Ingress, Helm (7 tools)
  • Mobile โ€” Flutter, React Native, Ionic, Cordova, Kotlin, Swift (6 tools)
  • Game Development โ€” Unity, Unreal Engine, Godot, Shaders, Raylib (10 tools)
  • AI / ML โ€” TensorFlow, PyTorch, Hugging Face, ONNX, MLflow, W&B (5 tools)
  • Blockchain / Web3 โ€” Hardhat, Truffle, Foundry, Anchor (4 tools)
  • API Gateways โ€” Kong, Traefik, Envoy, HAProxy, Caddy, Apache (7 tools)
  • Message Queue โ€” RabbitMQ, Kafka, ActiveMQ (3 tools)
  • Desktop โ€” Tauri, Qt, GTK (4 tools)
  • And many more... โ€” 32 categories total!

๐Ÿ“Š Statistics

Category Count
๐Ÿ“ฆ Total Categories 32
๐Ÿ“„ Total Facet Files 327+
๐ŸŒ Languages Covered 15+
๐Ÿ› ๏ธ Frameworks & Tools 150+
๐Ÿ”ข Version Variants 500+

๐Ÿ”ง How It Works

  1. Load โ€” Extension reads info.json on startup
  2. Display โ€” TreeView shows all categories and facets
  3. Select โ€” Click a facet, pick a version
  4. Generate โ€” File is created at the correct path with boilerplate content
  5. Done! โ€” Ready to use in your project

Example: Generating a pom.xml

  • Click: Java โ†’ Maven โ†’ 4.0
  • Generated: ./pom.xml

Example: Generating an application.yml

  • Click: Java โ†’ Spring Boot โ†’ 3.2
  • Generated: ./src/main/resources/application.yml

๐ŸŽจ VS Code Integration

  • ๐Ÿ“ TreeView โ€” Browse all facets in the sidebar
  • โšก Command Palette โ€” Ctrl+Shift+P โ†’ "Generate Facet"
  • ๐Ÿ“Š StatusBar โ€” Quick access to recent facets
  • ๐Ÿ” Search โ€” Filter facets by name or language

๐Ÿ› ๏ธ Development

# Clone
git clone https://github.com/user/code-facet-generator.git

# Install dependencies
cd code-facet-generator
npm install

# Build
npm run build

# Run extension in VS Code
# Press F5 in VS Code

Adding a New Facet

1.Create a new file in lib///.ts:

export function generate(params: any): string {
	return `your config content here`;
}

2.Add the facet to info.json:

{
	"category": {
		"tool-name": {
			"name": "filename",
			"extension": ".ext",
			"route": "./path/~",
			"description": "Description",
			"version": {
				"1.0": "./lib/category/tool/v1.0.ts"
			}
		}
	}
}

3.Done! The extension will pick it up automatically.

๐Ÿ“ License

๐Ÿค Contributing

GitHub issues GitHub pull requests GitHub closed issues GitHub closed PRs

GitHub contributors GitHub last commit GitHub commit activity GitHub top language

Contributions are welcome! Whether it's:

  • Adding new facets

  • Updating existing templates

  • Fixing bugs

  • Improving documentation

Check out CONTRIBUTING.md for guidelines.

Made with โค๏ธ for developers who hate boilerplate.

About

๐Ÿƒ Code Facet Generator - Dynamic facet-based code generator for multiple languages for ๐Ÿ’  VSCode.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages