To list all existing tracks and then repair/improve a specific track by ID or name in *Gemini CLI Conductor*, the workflow is basically:

## 1) List all tracks (from Conductor)

Inside Gemini CLI, run:

/conductor:status


Conductor’s own docs say this command “displays the current progress of the tracks file and active tracks” and it reads `conductor/tracks.md`. ([GitHub][1])

So, practically:

* /conductor:status = “list tracks + progress overview”
* conductor/tracks.md = the source-of-truth index for tracks (the file being read)

## 2) List all tracks (from your repo files)

If you want to list tracks without the CLI view:

# shows the track registry/index
ls -la conductor/
cat conductor/tracks.md


Conductor generates and maintains track artifacts in these locations:

* conductor/tracks.md
* conductor/tracks/<track_id>/spec.md
* conductor/tracks/<track_id>/plan.md
* conductor/tracks/<track_id>/metadata.json ([GitHub][1])

## 3) Find a track by name (quick search)

Use grep/ripgrep in the repo:

# search track name / keyword in the index
grep -n "keyword" conductor/tracks.md

# (optional) also search metadata/specs
grep -Rni "keyword" conductor/tracks/ | head


This usually gives you the track_id (or a link/path containing it), then you can open the folder.

## 4) Repair / Improve a track by ID

Once you have the track_id, you “repair” by editing the track artifacts (because Conductor works off spec.md + plan.md):

# open/edit these:
conductor/tracks/<track_id>/spec.md
conductor/tracks/<track_id>/plan.md
conductor/tracks/<track_id>/metadata.json # if you need rename/title/meta changes


### Common “repair” actions

* Plan is wrong / missing steps → edit plan.md, add tasks/phases, fix checkbox formatting.
* Spec changed → update spec.md so the plan and implementation stay aligned.
* Track naming cleanup → update metadata.json + the title in conductor/tracks.md entry (keep the folder/ID stable unless you truly need to migrate it).

## 5) Re-run implementation after repairs

After you fix the track files, continue with:

/conductor:implement


Docs: /conductor:implement works through the plan.md, selecting the next pending task and updating statuses. ([GitHub][1])

## 6) If a track is totally broken: revert

If you want to undo work at track/phase/task level:

/conductor:revert


(Conductor describes this as a git-aware revert that can revert track/phase/task.) ([GitHub][1])

---

### Practical “cheat sheet”

* See all tracks: /conductor:status ([GitHub][1])
* Find by name: grep "name" conductor/tracks.md
* Repair by ID: edit conductor/tracks/<id>/{spec.md,plan.md,metadata.json} ([GitHub][1])
* Continue after fixing: /conductor:implement ([GitHub][1])
* Roll back if needed: /conductor:revert ([GitHub][1])

If you paste your current conductor/tracks.md format (even a small snippet with 2–3 tracks), I can tell you the safest way to rename/repair entries without breaking Conductor’s parsing.

[1]: https://github.com/gemini-cli-extensions/conductor "GitHub - gemini-cli-extensions/conductor: Conductor is a Gemini CLI extension that allows you to specify, plan, and implement software features."

#gemini #conductor #cli #terminal #change #tiny #micro #small #tips #trik #item #ai #chatgpt #brownfield #greenfield #projek #lama #baru #analyze #generate #artifact #artifak #scan #analis #analisa #repair #improve #revert #cancel #newtrack #new #track
Power of IT-Bisa
To list all existing tracks and then repair/improve a specific track by ID or name in *Gemini CLI Conductor*, the workflow is basically: ## 1) List all tracks (from Conductor) Inside Gemini CLI, run: /conductor:status Conductor’s own docs say this command…
Kalau track kamu sudah ARCHIVED, Conductor biasanya tidak akan mengerjakan task di track itu lagi sampai kamu un-archive (atau bikin track baru yang meneruskan). Di Conductor, “mengubah/improve track” itu pada dasarnya mengedit file (bukan lewat 1 command aja), karena Conductor membaca status dari file seperti conductor/tracks.md + conductor/tracks/<id>/plan.md.

Berikut cara yang paling aman.

---

## 1) Lihat daftar track yang ada (termasuk archived)

### Di Gemini CLI

/conductor:status


Biasanya ini menampilkan ringkasan track aktif + progres (dan sering terlihat mana yang archived).

### Di terminal (repo)

ls -la conductor
cat conductor/tracks.md
ls -la conductor/tracks


---

## 2) Cara “un-archive” track (agar bisa dilanjutkan)

### A) Edit conductor/tracks.md

Buka file:

nano conductor/tracks.md


Cari track kamu di bagian Archived (atau ada label [ARCHIVED]).

Lalu lakukan salah satu pola ini (tergantung format tracks.md kamu):

Pola 1: Dipindah ke section Active

* Cut entry track dari “Archived”
* Paste ke section “Active / In Progress”
* Ubah statusnya jadi TODO / IN_PROGRESS (atau checkbox jadi unchecked)

Pola 2: Tetap di tempat tapi status diganti

* Ubah ARCHIVEDACTIVE / IN_PROGRESS

Simpan.

> Prinsipnya: Conductor hanya akan “melihat” track sebagai kandidat kerja kalau statusnya bukan archived.

### B) Pastikan folder track-nya masih ada

Cek:

ls conductor/tracks/<TRACK_ID>


Minimal biasanya ada:

* spec.md
* plan.md
* metadata.json (opsional)

Kalau foldernya hilang, pulihkan dari git:

git log -- conductor/tracks/<TRACK_ID> --oneline
git checkout <commit_hash> -- conductor/tracks/<TRACK_ID>


---

## 3) Improve / repair track yang archived (apa yang biasanya diedit)

### 1) Perbaiki langkah kerja di plan.md

nano conductor/tracks/<TRACK_ID>/plan.md


Contoh perbaikan umum:

* tambah “Verification & Regression” checklist
* pecah task besar jadi subtask kecil
* tambah “Allowed files” dan “Change budget”
* rapikan acceptance criteria supaya Conductor tidak ngarang

### 2) Perbaiki ruang lingkup di spec.md

nano conductor/tracks/<TRACK_ID>/spec.md


Agar tidak drift:

* apa yang boleh diubah
* apa yang tidak boleh diubah
* aturan kontrak (invoice contract, TCP guideline, dsb)

### 3) Kalau hanya mau ganti nama/judul track

Biasanya cukup:

* update judul di conductor/tracks.md
* update metadata.json (kalau ada dan dipakai)

> Jangan rename folder track ID kecuali kamu paham semua referensi yang ikut berubah.

---

## 4) Jalankan lagi Conductor setelah perubahan

Setelah kamu un-archive + perbaiki plan/spec:

### Di Gemini CLI

/conductor:status


Pastikan track sudah kebaca sebagai aktif.

Lalu:

/conductor:implement


---

## 5) Alternatif paling aman (kalau archived itu “sudah selesai”)

Kalau track lama sudah selesai tapi kamu mau perbaikan lanjutan, lebih rapi:

1. Biarkan track lama tetap archived (jadi histori)
2. Buat track baru yang refer ke track lama:

/conductor:newTrack


Di spec.md track baru, tulis:

* “Follow-up from TRACK-OLD-ID”
* link ke keputusan/kontrak yang relevan
* scope kecil untuk perubahan baru

Ini biasanya lebih “bersih” daripada membongkar track archived.

---

## 6) Cara edit tracks.md lewat Gemini CLI (tanpa manual editor)

Kamu bisa juga minta Gemini mengubah file-nya, tapi tetap kamu review:

Di Gemini CLI:

@conductor/tracks.md

Tolong un-archive track <TRACK_ID> dan pindahkan ke section Active.
Jangan ubah track lain. Output patch/diff saja, jangan commit.


#unarchive #track #geminicli #gemini #cli #conductor
Create a comprehensive CI/CD pipeline configuration for GitHub repositories that automates the entire software development lifecycle from code commit to production deployment. The pipeline should include automated testing stages with unit tests, integration tests, and end-to-end tests, code quality analysis and linting, security vulnerability scanning, containerization with Docker, versioning and semantic releases, deployment to multiple environments including development, staging, and production, rollback capabilities, notification systems for pipeline status, caching mechanisms for faster builds, parallel job execution where applicable, environment-specific configurations and secrets management, infrastructure as code provisioning if needed, and monitoring integration for deployed applications. Use GitHub Actions as the primary CI/CD platform and ensure the pipeline is modular, reusable across different project types including web applications, APIs, microservices, and mobile apps, with proper error handling, detailed logging, and follows industry best practices for security and efficiency. Include configuration files, workflow definitions, and documentation that enables teams to implement this pipeline with minimal modifications for their specific technology stacks such as Node.js, Python, Java, Go, or .NET applications.

#CI #CD #deploy #staging #develop #production #pipeline #prompt
# CLI commands

Gemini CLI supports several built-in commands to help you manage your session,
customize the interface, and control its behavior. These commands are prefixed
with a forward slash (/), an at symbol (@), or an exclamation mark (!).

## Slash commands (/)

Slash commands provide meta-level control over the CLI itself.

### Built-in Commands

- `/about`
- Description: Show version info. Please share this information when
filing issues.

- `/auth`
- Description: Open a dialog that lets you change the authentication
method.

- `/bug`
- Description: File an issue about Gemini CLI. By default, the issue is
filed within the GitHub repository for Gemini CLI. The string you enter
after /bug will become the headline for the bug being filed. The default
/bug behavior can be modified using the advanced.bugCommand setting in
your .gemini/settings.json files.

- `/chat`
- Description: Save and resume conversation history for branching
conversation state interactively, or resuming a previous state from a later
session.
- Sub-commands:
- `delete <tag>`
- Description: Deletes a saved conversation checkpoint.
- `list`
- Description: Lists available tags for chat state resumption.
- Note: This command only lists chats saved within the current
project. Because chat history is project-scoped, chats saved in other
project directories will not be displayed.
- `resume <tag>`
- Description: Resumes a conversation from a previous save.
- Note: You can only resume chats that were saved within the current
project. To resume a chat from a different project, you must run the
Gemini CLI from that project's directory.
- `save <tag>`
- Description: Saves the current conversation history. You must add a
<tag> for identifying the conversation state.
- Details on checkpoint location: The default locations for saved chat
checkpoints are:
- Linux/macOS: ~/.gemini/tmp/<project_hash>/
- Windows: C:\Users\<YourUsername>\.gemini\tmp\<project_hash>\
- Behavior: Chats are saved into a project-specific directory,
determined by where you run the CLI. Consequently, saved chats are
only accessible when working within that same project.
- Note: These checkpoints are for manually saving and resuming
conversation states. For automatic checkpoints created before file
modifications, see the
[Checkpointing documentation](/docs/cli/checkpointing).
- `share [filename]`
- Description Writes the current conversation to a provided Markdown
or JSON file. If no filename is provided, then the CLI will generate
one.
- Usage /chat share file.md or /chat share file.json.

- `/clear`
- Description: Clear the terminal screen, including the visible session
history and scrollback within the CLI. The underlying session data (for
history recall) might be preserved depending on the exact implementation,
but the visual display is cleared.
- Keyboard shortcut: Press Ctrl+L at any time to perform a clear
action.

- `/compress`
- Description: Replace the entire chat context with a summary. This saves
on tokens used for future tasks while retaining a high level summary of what
has happened.

- `/copy`
- Description: Copies the last output produced by Gemini CLI to your
clipboard, for easy sharing or reuse.
- Behavior:
- Local sessions use system clipboard tools (pbcopy/xclip/clip).
- Remote sessions (SSH/WSL) use OSC 52 and require terminal support.
- Note: This command requires platform-specific clipboard tools to be
installed.
- On Linux, it requires xclip or xsel. You can typically install them
using your system's package manager.
- On macOS, it requires pbcopy, and on Windows, it requires clip. These
tools are typically pre-installed on their respective systems.
- `/directory` (or `/dir`)
- Description: Manage workspace directories for multi-directory support.
- Sub-commands:
- `add`:
- Description: Add a directory to the workspace. The path can be
absolute or relative to the current working directory. Moreover, the
reference from home directory is supported as well.
- Usage: /directory add <path1>,<path2>
- Note: Disabled in restrictive sandbox profiles. If you're using
that, use --include-directories when starting the session instead.
- `show`:
- Description: Display all directories added by /directory add and
--include-directories.
- Usage: /directory show

- `/docs`
- Description: Open the Gemini CLI documentation in your browser.

- `/editor`
- Description: Open a dialog for selecting supported editors.

- `/extensions`
- Description: Lists all active extensions in the current Gemini CLI
session. See [Gemini CLI Extensions](/docs/extensions).

- `/help`
- Description: Display help information about Gemini CLI, including
available commands and their usage.

- `/shortcuts`
- Description: Toggle the shortcuts panel above the input.
- Shortcut: Press ? when the prompt is empty.
- Note: This is separate from the clean UI detail toggle on double-Tab,
which switches between minimal and full UI chrome.

- `/hooks`
- Description: Manage hooks, which allow you to intercept and customize
Gemini CLI behavior at specific lifecycle events.
- Sub-commands:
- `disable-all`:
- Description: Disable all enabled hooks.
- `disable <hook-name>`:
- Description: Disable a hook by name.
- `enable-all`:
- Description: Enable all disabled hooks.
- `enable <hook-name>`:
- Description: Enable a hook by name.
- `list` (or show, panel):
- Description: Display all registered hooks with their status.

- `/ide`
- Description: Manage IDE integration.
- Sub-commands:
- `disable`:
- Description: Disable IDE integration.
- `enable`:
- Description: Enable IDE integration.
- `install`:
- Description: Install required IDE companion.
- `status`:
- Description: Check status of IDE integration.

- `/init`
- Description: To help users easily create a GEMINI.md file, this
command analyzes the current directory and generates a tailored context
file, making it simpler for them to provide project-specific instructions to
the Gemini agent.

- `/introspect`
- Description: Provide debugging information about the current Gemini CLI
session, including the state of loaded sub-agents and active hooks. This
command is primarily for advanced users and developers.

- `/mcp`
- Description: Manage configured Model Context Protocol (MCP) servers.
- Sub-commands:
- `auth`:
- Description: Authenticate with an OAuth-enabled MCP server.
- Usage: /mcp auth <server-name>
- Details: If <server-name> is provided, it initiates the OAuth flow
for that server. If no server name is provided, it lists all configured
servers that support OAuth authentication.
- `desc`
- Description: List configured MCP servers and tools with
descriptions.
- `list` or `ls`:
- Description: List configured MCP servers and tools. This is the
default action if no subcommand is specified.
- `refresh`:
- Description: Restarts all MCP servers and re-discovers their
available tools.
- `schema`:
- Description: List configured MCP servers and tools with descriptions
and schemas.
- `/memory`
- Description: Manage the AI's instructional context (hierarchical memory
loaded from GEMINI.md files).
- Sub-commands:
- `add`:
- Description: Adds the following text to the AI's memory. Usage:
/memory add <text to remember>
- `list`:
- Description: Lists the paths of the GEMINI.md files in use for
hierarchical memory.
- `refresh`:
- Description: Reload the hierarchical instructional memory from all
GEMINI.md files found in the configured locations (global,
project/ancestors, and sub-directories). This command updates the model
with the latest GEMINI.md content.
- `show`:
- Description: Display the full, concatenated content of the current
hierarchical memory that has been loaded from all GEMINI.md files.
This lets you inspect the instructional context being provided to the
Gemini model.
- Note: For more details on how GEMINI.md files contribute to
hierarchical memory, see the
[CLI Configuration documentation](/docs/get-started/configuration).

- [`/model`](/docs/cli/model)
- Description: Opens a dialog to choose your Gemini model.

- `/policies`
- Description: Manage policies.
- Sub-commands:
- `list`:
- Description: List all active policies grouped by mode.

- `/privacy`
- Description: Display the Privacy Notice and allow users to select
whether they consent to the collection of their data for service improvement
purposes.

- `/quit` (or `/exit`)
- Description: Exit Gemini CLI.

- `/restore`
- Description: Restores the project files to the state they were in just
before a tool was executed. This is particularly useful for undoing file
edits made by a tool. If run without a tool call ID, it will list available
checkpoints to restore from.
- Usage: /restore [tool_call_id]
- Note: Only available if checkpointing is configured via
[settings](/docs/get-started/configuration). See
[Checkpointing documentation](/docs/cli/checkpointing) for more details.

- [`/rewind`](/docs/cli/rewind)
- Description: Navigates backward through the conversation history,
allowing you to review past interactions and potentially revert to a
previous state. This feature helps in managing complex or branched
conversations.

- `/resume`
- Description: Browse and resume previous conversation sessions. Opens an
interactive session browser where you can search, filter, and select from
automatically saved conversations.
- Features:
- Management: Delete unwanted sessions directly from the browser
- Resume: Select any session to resume and continue the conversation
- Search: Use / to search through conversation content across all
sessions
- Session Browser: Interactive interface showing all saved sessions with
timestamps, message counts, and first user message for context
- Sorting: Sort sessions by date or message count
- Note: All conversations are automatically saved as you chat - no manual
saving required. See [Session Management](/docs/cli/session-management) for
complete details.

- [`/settings`](/docs/cli/settings)
- Description: Open the settings editor to view and modify Gemini CLI
settings.
- Details: This command provides a user-friendly interface for changing
settings that control the behavior and appearance of Gemini CLI. It is
equivalent to manually editing the .gemini/settings.json file, but with
validation and guidance to prevent errors. See the
[settings documentation](/docs/cli/settings) for a full list of available
settings.
- Usage: Simply run /settings and the editor will open. You can then
browse or search for specific settings, view their current values, and
modify them as desired. Changes to some settings are applied immediately,
while others require a restart.
- `/shells` (or `/bashes`)
- Description: Toggle the background shells view. This allows you to view
and manage long-running processes that you've sent to the background.
- `/setup-github`
- Description: Set up GitHub Actions to triage issues and review PRs with
Gemini.

- [`/skills`](/docs/cli/skills)
- Description: Manage Agent Skills, which provide on-demand expertise and
specialized workflows.
- Sub-commands:
- `disable <name>`:
- Description: Disable a specific skill by name.
- Usage: /skills disable <name>
- `enable <name>`:
- Description: Enable a specific skill by name.
- Usage: /skills enable <name>
- `list`:
- Description: List all discovered skills and their current status
(enabled/disabled).
- `reload`:
- Description: Refresh the list of discovered skills from all tiers
(workspace, user, and extensions).

- `/stats`
- Description: Display detailed statistics for the current Gemini CLI
session, including token usage, cached token savings (when available), and
session duration. Note: Cached token information is only displayed when
cached tokens are being used, which occurs with API key authentication but
not with OAuth authentication at this time.

- `/terminal-setup`
- Description: Configure terminal keybindings for multiline input (VS
Code, Cursor, Windsurf).

- [`/theme`](/docs/cli/themes)
- Description: Open a dialog that lets you change the visual theme of
Gemini CLI.

- [`/tools`](/docs/tools)
- Description: Display a list of tools that are currently available within
Gemini CLI.
- Usage: /tools [desc]
- Sub-commands:
- `desc` or `descriptions`:
- Description: Show detailed descriptions of each tool, including each
tool's name with its full description as provided to the model.
- `nodesc` or `nodescriptions`:
- Description: Hide tool descriptions, showing only the tool names.

- `/vim`
- Description: Toggle vim mode on or off. When vim mode is enabled, the
input area supports vim-style navigation and editing commands in both NORMAL
and INSERT modes.
- Features:
- Count support: Prefix commands with numbers (e.g., 3h, 5w, 10G)
- Editing commands: Delete with x, change with c, insert with i,
a, o, O; complex operations like dd, cc, dw, cw
- INSERT mode: Standard text input with escape to return to NORMAL mode
- NORMAL mode: Navigate with h, j, k, l; jump by words with w,
b, e; go to line start/end with 0, $, ^; go to specific lines
with G (or gg for first line)
- Persistent setting: Vim mode preference is saved to
~/.gemini/settings.json and restored between sessions
- Repeat last command: Use . to repeat the last editing operation
- Status indicator: When enabled, shows [NORMAL] or [INSERT] in the
footer

### Custom commands

Custom commands allow you to create personalized shortcuts for your most-used
prompts. For detailed instructions on how to create, manage, and use them,
please see the dedicated [Custom Commands documentation](/docs/cli/custom-commands).

## Input prompt shortcuts

These shortcuts apply directly to the input prompt for text manipulation.

- Undo:
- Keyboard shortcut: Press Alt+z or Cmd+z to undo the last action
in the input prompt.

- Redo:
- Keyboard shortcut: Press Shift+Alt+Z or Shift+Cmd+Z to redo the
last undone action in the input prompt.

## At commands (@)

At commands are used to include the content of files or directories as part of
your prompt to Gemini. These commands include git-aware filtering.
- `@<path_to_file_or_directory>`
- Description: Inject the content of the specified file or files into your
current prompt. This is useful for asking questions about specific code,
text, or collections of files.
- Examples:
- @path/to/your/file.txt Explain this text.
- @src/my_project/ Summarize the code in this directory.
- What is this file about? @README.md
- Details:
- If a path to a single file is provided, the content of that file is read.
- If a path to a directory is provided, the command attempts to read the
content of files within that directory and any subdirectories.
- Spaces in paths should be escaped with a backslash (e.g.,
@My\ Documents/file.txt).
- The command uses the read_many_files tool internally. The content is
fetched and then inserted into your query before being sent to the Gemini
model.
- Git-aware filtering: By default, git-ignored files (like
node_modules/, dist/, .env, .git/) are excluded. This behavior can
be changed via the context.fileFiltering settings.
- File types: The command is intended for text-based files. While it
might attempt to read any file, binary files or very large files might be
skipped or truncated by the underlying read_many_files tool to ensure
performance and relevance. The tool indicates if files were skipped.
- Output: The CLI will show a tool call message indicating that
read_many_files was used, along with a message detailing the status and
the path(s) that were processed.

- `@` (Lone at symbol)
- Description: If you type a lone @ symbol without a path, the query is
passed as-is to the Gemini model. This might be useful if you are
specifically talking _about_ the @ symbol in your prompt.

### Error handling for @ commands

- If the path specified after @ is not found or is invalid, an error message
will be displayed, and the query might not be sent to the Gemini model, or it
will be sent without the file content.
- If the read_many_files tool encounters an error (e.g., permission issues),
this will also be reported.

## Shell mode and passthrough commands (!)

The ! prefix lets you interact with your system's shell directly from within
Gemini CLI.

- `!<shell_command>`
- Description: Execute the given <shell_command> using bash on
Linux/macOS or powershell.exe -NoProfile -Command on Windows (unless you
override ComSpec). Any output or errors from the command are displayed in
the terminal.
- Examples:
- !ls -la (executes ls -la and returns to Gemini CLI)
- !git status (executes git status and returns to Gemini CLI)

- `!` (Toggle shell mode)
- Description: Typing ! on its own toggles shell mode.
- Entering shell mode:
- When active, shell mode uses a different coloring and a "Shell Mode
Indicator".
- While in shell mode, text you type is interpreted directly as a shell
command.
- Exiting shell mode:
- When exited, the UI reverts to its standard appearance and normal Gemini
CLI behavior resumes.

- Caution for all `!` usage: Commands you execute in shell mode have the
same permissions and impact as if you ran them directly in your terminal.

- Environment variable: When a command is executed via ! or in shell mode,
the GEMINI_CLI=1 environment variable is set in the subprocess's
environment. This allows scripts or tools to detect if they are being run from
within the Gemini CLI.

#gemini #cli #command #perintah #shortcut