Skip to content

What to Do Next

Now that your development environment is fully configured and verified, here are suggested next steps.

  1. Open Kiro IDE and connect to your WSL2 target
  2. Create a new workspace folder under your configured workspace directory:
Terminal window
mkdir -p ~/workspace/my-first-project && cd ~/workspace/my-first-project
git init
  1. Use Kiro’s spec-driven development features to define your project requirements
  • Kiro CLI: Custom agents, MCP integration, and hooks in the terminal — see Custom Agents
  • Specs: Define feature requirements, designs, and implementation tasks using structured specifications — see Spec Hands-on
  • Steering files: Customize agent behavior with project-level steering in .kiro/steering/
  • MCP servers: Extend Kiro’s capabilities with Model Context Protocol integrations configured in .kiro/settings/mcp.json
  • Hooks: Automate repetitive workflows with event-driven hooks (IDE) or agent lifecycle hooks (CLI)

The Kiro CLI AIOps Workshop includes advanced cloud operations labs (EC2 diagnostics, network analysis, CloudWatch monitoring) that use pre-deployed workshop infrastructure — three VPCs, Transit Gateway, Steampipe, and additional MCP servers (aws-mcp, CloudWatch MCP).

These labs require an AWS Builder Center event account with the workshop environment provisioned. They are not part of this self-setup guide, but pair well after completing the Kiro CLI section if you attend the workshop.

Kiro specs follow a structured workflow instead of ad-hoc “vibe coding” prompts:

DocumentFilenameRole
Requirementsrequirements.mdWhat to build (user stories, acceptance criteria)
Designdesign.mdHow to build it (architecture, components, flow)
Taskstasks.mdIn what order (checklist-style implementation)

All files live in .kiro/specs/{feature-name}/.

Vibe coding is throwing prompts based on feeling to generate code. It is fast for simple prototypes, but real projects run into problems:

ProblemExample
Loss of direction”Why is what I made now different from before?”
Repetitive workRequesting the same modifications multiple times
Lack of consistencyDifferent styles and structures across files
No verificationNo criteria to judge “is this correct?”
Collaboration difficultyHard for teammates to understand intent or progress

Spec-driven development addresses these by documenting requirements, design, and tasks before implementation. Use specs when:

  • The feature has multiple user stories or acceptance criteria
  • You need consistent architecture across files
  • Multiple people will review or continue the work
  • You want a checklist to track progress

Use vibe coding (with steering files) when:

  • Prototyping quickly in a single file
  • Exploring an idea before committing to a design
  • The scope is small and unlikely to grow

Walk through a condensed example in Spec Hands-on.

Terminal window
# Update WSL2 packages
sudo apt update && sudo apt upgrade -y
# Update Docker Desktop
# Check for updates via Docker Desktop GUI → Settings → Software updates

If your projects need Node.js, install it via nvm (Node Version Manager):

Terminal window
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
source ~/.bashrc
nvm install --lts
node --version

Once installed, keep it updated with:

Terminal window
nvm install --lts
nvm alias default node