- Read
docs/session/.current_sessionfor active plan. - If a plan exists → read it, understand current sprint and next tasks.
- If no plan exists → process user request. For non-trivial work, create a plan first.
- Check
TASK.mdfor overall project status.
Create a single-page HTML document at <PROJECT_ROOT>/docs/wi/<PLAYBOOK_BASENAME>.html that contains both a Work Instruction (WI) and a User Acceptance Test (UAT) for the playbook listed below.
Audience: System Administrators who will operate the playbook from AWX (not developers).
CRITICAL: Developer MUST follow this session workflow to maintain continuity across conversations.
The file docs/session/.current_session is the entry point for every session.
- It contains the filename (relative to project root) of the active development plan.
- If the file is empty or does not exist, there is no active session — ask the user what to work on.
Use session files to track development progress and goals. These files are located in docs/sessions/ and should be created for each new development session.
Always check current time and date with date command before write date related information in session files.
Use the following format for session files:
start: Start a new development session by creating a session file in docs/sessions/ with the format YYYY-MM-DD-HHMM-{NAME}.md.
The session file should begin with:
- Session name and timestamp as the title. name should be descriptive of the session's focus.
- Session overview section with start time
- Goals section (ask user for goals if not clear)
- Empty progress section ready for updates
| -----BEGIN PGP PUBLIC KEY BLOCK----- | |
| Version: GnuPG v1.4.7 (MingW32) | |
| mQGiBEkJ+qcRBADKDTcZlYDRtP1Q7/ShuzBJzUh9hoVVowogf2W07U6G9BqKW24r | |
| piOxYmErjMFfvNtozNk+33cd/sq3gi05O1IMmZzg2rbF4ne5t3iplXnNuzNh+j+6 | |
| VxxA16GPhBRprvnng8r9GYALLUpo9Xk17KE429YYKFgVvtTPtEGUlpO1EwCg7FmW | |
| dBbRp4mn5GfxQNT1hzp9WgkD/3pZ0cB5m4enzfylOHXmRfJKBMF02ZDnsY1GqeHv | |
| /LjkhCusTp2qz4thLycYOFKGmAddpVnMsE/TYZLgpsxjrJsrEPNSdoXk3IgEStow | |
| mXjTfr9xNOrB20Qk0ZOO1mipOWMgse4PmIu02X24OapWtyhdHsX3oBLcwDdke8aE | |
| gAh8A/sHlK7fL1Bi8rFzx6hb+2yIlD/fazMBVZUe0r2uo7ldqEz5+GeEiBFignd5 |
| $targetDir = Convert-Path '.' | |
| $targetExt = '*.ttf' | |
| Get-ChildItem -LiteralPath $targetDir -Directory | Get-ChildItem -Recurse -File -Filter $targetExt | Move-Item -Destination $targetDir -Whatif |
| { | |
| "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", | |
| "palette": { | |
| "black": "#242A36", | |
| "blue": "#82AAFF", | |
| "green": "#7fdbca", | |
| "lightBlue": "#8ADDFF", | |
| "magenta": "#FE5672", | |
| "red": "#ff5370", | |
| "white": "#FFFFFF", |
| # ============= | |
| # Run terminal as admin, then run 'powershell.exe -ExecutionPolicy Unrestricted' | |
| # to start powershell session in unrestricted mode | |
| # https://learn.microsoft.com/th-th/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.4 | |
| if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit } | |
| # get all input parameter | |
| $computerName = Read-Host 'Change Computer Name from [' $env:COMPUTERNAME '] to (blank to skip) ' | |
| $monitorTimeout = Read-Host 'Set monitor timeout to __ second (blank to skip) ' |