Package Exports
- @appdoecommerce/plugin-sdk
- @appdoecommerce/plugin-sdk/dist/cli.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@appdoecommerce/plugin-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
AppDoEcommerce Plugin SDK
🚀 Developer toolkit para criar e gerenciar plugins do AppDoEcommerce.
🎯 O que é?
O AppDoEcommerce Plugin SDK (@appdoecommerce/plugin-sdk) é uma CLI completa que facilita o desenvolvimento de plugins customizados para a plataforma AppDoEcommerce. Com ele, você pode:
- ⚡ Criar estrutura de plugins com templates otimizados
- 🔄 Gerar JSON Schemas automaticamente a partir de TypeScript
- 🛠️ Preparar ambiente de desenvolvimento rapidamente
- 📦 Trabalhar com tipagem completa e validação de props
📦 Instalação
Global (Recomendado)
npm install -g @appdoecommerce/plugin-sdkLocal no projeto
npm install --save-dev @appdoecommerce/plugin-sdk🚀 Início Rápido
# 1. Preparar o ambiente
appecom prepare
# 2. Configurar credenciais no .env
# Edite APPECOM_STOREID e APPECOM_SECRET
# 3. Criar seu primeiro plugin
appecom make:plugin hero-banner
# 4. Gerar o schema JSON
appecom schema📦 Comandos Disponíveis
appecom prepare
Prepara o ambiente de desenvolvimento criando a estrutura inicial do projeto.
Exemplo:
appecom prepareIsso cria:
plugins/- Diretório para seus plugins.env- Arquivo de configuração com variáveis de ambiente
Após executar, edite o arquivo .env e preencha:
APPECOM_STOREID- ID da sua lojaAPPECOM_SECRET- Chave secreta da API
appecom make:plugin <nome>
Cria um novo plugin com estrutura completa.
Exemplo:
appecom make:plugin youtube-embedIsso cria:
plugins/youtube-embed/- Pasta do pluginplugins/youtube-embed/index.ts- Arquivo principal do pluginplugins/youtube-embed/props.ts- Interface de propriedades com JSDoc annotations
Próximos passos após criar o plugin:
- Edite
props.tspara definir as propriedades do seu plugin - Edite
index.tspara implementar a lógica do plugin - Execute
appecom schemapara gerar o JSON Schema
appecom schema [plugin-name]
Gera automaticamente schema.json para todos os plugins ou para um plugin específico baseado nas interfaces TypeScript em props.ts.
Gerar schemas de todos os plugins:
appecom schemaGerar schema de um plugin específico:
appecom schema instagram-feedEsse comando:
- Procura por todos os plugins em
plugins/(ou apenas o plugin especificado) - Lê o arquivo
props.tsde cada plugin - Gera
schema.jsonbaseado nas anotações JSDoc da interfaceProps
🛠️ Desenvolvimento
Estrutura de um Plugin
meu-projeto/
├── .env # Credenciais (gerado por prepare)
├── plugins/
│ └── hero-banner/
│ ├── index.ts # Lógica do plugin
│ ├── props.ts # Interface TypeScript
│ └── schema.json # Schema JSON (auto-gerado)
└── package.jsonExemplo de props.ts
export interface Props {
/**
* Título do banner
* @title Título
* @description Texto principal exibido no banner
*/
title: string
/**
* URL da imagem
* @title Imagem
* @format uri
*/
imageUrl: string
/**
* Altura do banner
* @title Altura
* @minimum 100
* @maximum 800
* @TJS-type integer
*/
height: number
}JSDoc Annotations Suportadas
@title- Nome amigável do campo@description- Descrição do campo@minimum/@maximum- Valores numéricos mínimo/máximo@format- Formato (uri, email, date-time, etc)@TJS-type- Tipo JSON Schema (integer, string, etc)@default- Valor padrão
🤝 Contribuindo
Quer adicionar novos comandos ou melhorar o SDK? Veja o guia completo em CONTRIBUTING.md.
Quick Start para Desenvolvedores
# Clonar o repositório
git clone https://github.com/appdoecommerce/plugin-sdk.git
cd plugin-sdk
# Instalar dependências
npm install
# Build
npm run build
# Testar localmente
npm linkPara adicionar um novo comando, consulte o guia de contribuição.
🐛 Issues e Suporte
Encontrou um bug ou tem uma sugestão? Abra uma issue em: GitHub Issues
📄 Licença
MIT © AppDoEcommerce