Migrate all Extend CLI commands to agent-based interfaces. Complete command-by-command breakdown below.
- Original Commands: ~95 total
- Removed/Deprecated: 31 commands
- Migrating to Agents: 64 commands
- Agent Coverage: 100% ✅
Migrate all Extend CLI commands to agent-based interfaces. Complete command-by-command breakdown below.
Goal: To prepare your development environment, retrieve all necessary task details, and create a dedicated feature branch, ensuring you are ready to begin the Researching Phase.
Phase Starts: When a new Jira ticket is assigned, a new task is identified, or when a user suggests a large feature to build. Phase Ends: When you have a clean, up-to-date feature branch with all necessary ticket information loaded, and the ticket (if applicable) is moved to "In Progress" and assigned to you.
Expected Artifacts:
# EC Command Reference | |
Version: @extend/extend-cli/1.0.5 | |
## Core Commands | |
``` | |
ec help | |
- Display help for ec commands and topics | |
ec update [version] | |
- Update the CLI to the latest version |
//filepath: src/handlers/messages/contract-created.ts | |
import {vaidationMiddleware} from '@helloextend/api-utils' | |
//Handle a single Cloud Event. | |
function contractCreatedHandler(ev: CloudEvent, ctx: Context) { | |
const messageBody = JSON.parse(ev.message.body) //Or something. Whatever the cloudEvent specification says | |
const isRetry = ctx.get<number>('event.metadata.retries') > 0 |
function addMonths(date: Date, months: number): Date { | |
const newDate = new Date(date) | |
const dayOfMonth = newDate.getDate() | |
// The JS Date object supports date math by accepting out-of-bounds values for | |
// month, day, etc. For example, new Date(2020, 1, 0) returns 31 Dec 2019 and | |
// new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we | |
// want except that dates will wrap around the end of a month, meaning that | |
// new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So | |
// we'll default to the end of the desired month by adding 1 to the desired |
8:20:41 PM: Build ready to start | |
8:20:42 PM: build-image version: 84aca9ba39e0ee86ba194760fbfc51a808f62543 | |
8:20:42 PM: buildbot version: 1ac64ca11e029436ed45ac81a38b9839778ec314 | |
8:20:43 PM: Fetching cached dependencies | |
8:20:43 PM: Starting to download cache of 129.9MB | |
8:20:45 PM: Finished downloading cache in 2.548835358s | |
8:20:45 PM: Starting to extract cache | |
8:20:51 PM: Finished extracting cache in 5.456247149s | |
8:20:51 PM: Finished fetching cache in 8.116293732s | |
8:20:51 PM: Starting to prepare the repo for build |
//Example in powerforms for example | |
var el = $("#form"); | |
var data = RetrieveFormData(); | |
forms = new FormSDK(el, data); | |
forms.Start().then(function(results) { | |
if (results.age > 50) { |
var GAME_CONFIG = {debugMode: false}; //Put some stuff here | |
var GRAPHICS_CONFIG = {width: 680, height: 400}; | |
var GAME_DATA_FOLDER = "/game_data"; | |
function main() { | |
//Initialize Components | |
Game game = new Game(GAME_CONFIG); | |
GraphicsEngine engine = new SDLGraphicsEngine(GRAPHICS_CONFIG); | |
GameData assets = new GameData(GAME_DATA_FOLDER); |
Rails.application.routes.draw do | |
get '(*path).html', to: redirect('%{path}') | |
post '(*path).html', to: redirect('%{path}') | |
#...... | |
end |
require 'openssl' | |
class Encryption | |
attr_accessor :key | |
IV_SIZE = 16 | |
def initialize(keycode) | |
md5 = Digest::MD5.new | |
md5.update(keycode) |