Kiro Documentation

repository·main·Indexed 26 days ago

https://github.com/kirodotdev/kiro

Kiro is an agentic IDE and CLI for spec-driven development featuring structured specs, automated hooks, agentic chat, and MCP server integrations. The project also includes 'github-issue-automation' (v1.0.0), a tool for automated GitHub issue management using AWS Bedrock for classification, duplicate detection, and stale issue closing.

Tokens
4.2K
Snippets
11
Records
35
Agent score
86%

What's inside Kiro

  1. Overview of Stale Issue Closing behavior

    main

    The stale issue closing system automates the cleanup of inactive issues based on the following logic:

    • Schedule: Runs daily at midnight UTC.
    • Targeting: Finds issues with the pending-response label.
    • Inactivity Check: Monitors comments and label changes. If no activity is detected for 7 days, the issue is considered stale.
    • Action: Closes the issue and posts a comment explaining why it was closed.
    • Reset Logic: Any new user activity (like a comment) resets the inactivity timer.
    • Error Handling: Handles errors gracefully and logs all actions for transparency.
  2. Overview of Kiro capabilities

    main

    Kiro is an agentic IDE and CLI designed for spec-driven development. It provides several core capabilities to accelerate the transition from prototype to production:

    • Specs: Plan and build features using structured specifications that break down requirements into implementation plans.
    • Hooks: Automate tasks using intelligent triggers that respond to file changes and development events.
    • Agentic Chat: Natural language coding assistance that understands your project context.
    • Steering: Guide agent behavior using custom rules and project-specific context via markdown files.
    • MCP Servers: Connect to external tools and data sources using the Model Context Protocol.
    • Powers: On-demand specialized context and tools to extend agent capabilities with domain-specific knowledge.
    • Privacy First: Enterprise-grade security and privacy for your codebase.
  3. Understand the stale issue closing logic and timeline

    main

    The stale issue automation uses a timeline-based approach to close issues that have been inactive for a specified period (e.g., 7 days) after a specific label (like pending-response) is applied.

    Key concepts:

    • labelDate: The date when the target label (e.g., pending-response) was added.
    • lastActivityDate: The date of the most recent activity (comment, label change, etc.).
    • referenceDate: The maximum of labelDate and lastActivityDate.
    • Inactive days: Calculated as Current Day - referenceDate.
    • Closing Condition: If Inactive days exceeds the threshold, the issue is automatically closed.

    Activity that resets the timer includes user comments or maintainer label changes. Removing the target label (e.g., pending-response) also prevents the issue from being closed by the workflow.

  4. Deploy and Setup GitHub Issue Automation

    main

    For comprehensive setup and deployment instructions, use the following resources located in the .github/ directory:

    • Deployment: Follow the 15-minute deployment guide in .github/QUICKSTART.md.
    • Complete Setup: Refer to .github/AUTOMATION_SETUP.md for full configuration details.
    • Local Testing: For in-depth local testing procedures, see .github/LOCAL_TESTING.md.
  5. Access Kiro documentation and support

    main

    Documentation

    Support

    Security

    If you discover a potential security issue, do not create a public GitHub issue. Instead, notify AWS/Amazon Security via their vulnerability reporting page.

  6. Understand the stale issue closing logic

    main

    The stale issue automation follows a specific decision tree to identify and close issues that have the pending-response label and have been inactive for 7 or more days.

    Workflow Logic:

    1. Daily Check: The workflow runs daily at midnight.
    2. Query: It searches for all open issues containing the pending-response label.
    3. Label Check: If the pending-response label has been removed, the issue is skipped.
    4. Reference Date Calculation: The system calculates a referenceDate as the maximum of the labelDate (when the label was added) and the activityDate (the date of the last tracked activity).
    5. Inactivity Calculation: inactiveDays = today - referenceDate.
    6. Action:
      • If inactiveDays < 7: Skip (issue is not stale).
      • If inactiveDays >= 7: Post a comment and close the issue.
  7. Get started with your first Kiro project

    main

    To learn the essential features of Kiro, follow the first project guide. This tutorial covers:

    • Setting up steering files for project-specific guidance.
    • Creating and managing specs for structured development.
    • Configuring hooks to automate workflows.
    • Connecting MCP servers for external integrations.