<idea-plugin>
    <id>io.github.cladam.tbdflow</id>
    <name>tbdflow</name>
    <vendor email="claes.adamsson@gmail.com" url="https://cladam.github.io">cladam.github.io</vendor>
    <description><![CDATA[
    Integrates the tbdflow CLI into the JetBrains IDE, providing a guided workflow for Trunk-Based Development.
    tbdflow is a lightweight command-line tool that helps you (and your team) stay in flow with TBD.
    ]]></description>

    <description><![CDATA[
    <p>Integrates the <b>tbdflow</b> command-line tool into your JetBrains IDE, providing a friendly assistant for your Trunk-Based Development (TBD) workflow.</p>
    <br/>
    <p>This plugin is a wrapper around the <a href="https://github.com/cladam/tbdflow">tbdflow CLI</a>. It enhances the IDE's built-in Git support with the unique "guardrail" features of tbdflow, such as:</p>
    <ul>
        <li>A non-blocking Commit Tool Window for crafting perfect Conventional Commits.</li>
        <li>A native, interactive Definition of Done (DoD) checklist that runs before you commit.</li>
        <li>Direct access to all tbdflow workflow commands (branch, complete, sync) from the Tools menu.</li>
    </ul>
    <br/>
    <h3>Important Links</h3>
    <ul>
        <li><b>Main Project & Philosophy:</b> <a href="https://github.com/cladam/tbdflow/blob/main/README.md">tbdflow README</a></li>
        <li><b>Plugin Source Code:</b> <a href="https://github.com/cladam/tbdflow/tree/main/plugins/intellij">Plugin README</a></li>
        <li><b>Author's Website:</b> <a href="https://cladam.github.io/">cladam.github.io</a></li>
    </ul>
    ]]></description>

    <!-- Product and plugin compatibility requirements.
         Read more: https://plugins.jetbrains.com/docs/intellij/plugin-compatibility.html -->
    <depends>com.intellij.modules.platform</depends>

    <extensions defaultExtensionNs="com.intellij">
        <!-- Register tbdflow commit Tool Window -->
        <toolWindow factoryClass="io.github.cladam.tbdflow.commit.TbdflowCommitToolWindowFactory"
                    id="tbdflow Commit"
                    anchor="left"
                    icon="AllIcons.Actions.Commit"/>

        <!-- Register the settings page -->
        <applicationConfigurable
                parentId="tools"
                instance="io.github.cladam.tbdflow.settings.TbdflowSettingsConfigurable"
                id="io.github.cladam.tbdflow.settings.TbdflowSettingsConfigurable"
                displayName="tbdflow"/>
        <applicationService serviceImplementation="io.github.cladam.tbdflow.settings.TbdflowSettingsState"/>

        <!-- Register a notification group for tbdflow -->
        <notificationGroup id="tbdflow Notifications" displayType="BALLOON"/>
    </extensions>


    <actions>

        <action id="tbdflow.ShowCommitToolWindow"
                class="io.github.cladam.tbdflow.commit.ShowTbdflowCommitToolWindowAction"
                text="Show tbdflow Commit Tool Window"
                description="Opens the tbdflow Commit Tool Window."/>

        <group id="tbdflow.TbdFlowActions" text="tbdflow" popup="true">
            <add-to-group group-id="ToolsMenu" anchor="last"/>
            <!-- Workflow Actions -->
            <action id="tbdflow.CommitAction" class="io.github.cladam.tbdflow.commit.CommitAction" text="Commit..."
                    description="Open the guided tbdflow commit dialog."/>
            <action id="tbdflow.BranchAction" class="io.github.cladam.tbdflow.BranchAction" text="New Branch..."
                    description="Runs 'tbdflow branch' to create a new short-lived branch."/>
            <action id="tbdflow.CompleteAction" class="io.github.cladam.tbdflow.CompleteAction" text="Complete Branch..."
                    description="Runs 'tbdflow complete' to merge and delete a branch."/>
            <action id="tbdflow.SyncAction" class="io.github.cladam.tbdflow.SyncAction" text="Sync with main"
                    description="Runs 'tbdflow sync' to update the current branch."/>
            <separator/>
            <!-- Generator Actions -->
            <action id="tbdflow.ChangelogAction" class="io.github.cladam.tbdflow.ChangelogAction" text="Generate Changelog..."
                    description="Runs 'tbdflow changelog' to generate release notes."/>
            <separator/>
            <!-- Utility Actions -->
            <action id="tbdflow.StatusAction" class="io.github.cladam.tbdflow.StatusAction" text="Status"
                    description="Runs 'tbdflow status' to show the current repository status."/>
            <action id="tbdflow.CurrentBranchAction" class="io.github.cladam.tbdflow.CurrentBranchAction"
                    text="Current Branch" description="Shows the current branch name."/>
            <action id="tbdflow.CheckBranchesAction" class="io.github.cladam.tbdflow.CheckBranchesAction"
                    text="Check Stale Branches" description="Runs 'tbdflow check-branches' to find old branches."/>
        </group>
    </actions>

</idea-plugin>