A finished, boring tool beats a brilliant unfinished one.
PDTK is a CLI tool designed to save time and reduce cognitive load during daily development work. It executes only developer-approved actions with deterministic, whitelisted commands.
| Principle | Description |
|---|---|
| Human-in-control | PDTK never makes final decisions — it executes only approved actions |
| Deterministic execution | No AI-generated shell commands; all commands are predefined |
| Finishability over flexibility | Features are fixed per version — no scope creep |
| CLI-first | No UI, no Electron, no background services |
# Clone the repository
git clone https://github.com/githubarin-art/PDTK.git
cd PDTK
# Install globally
npm link# Confirm PDTK is active
pdtk
# Verify GitHub identity configuration
pdtk verify
# Show available commands
pdtk help| Command | Description |
|---|---|
pdtk |
Confirm PDTK exists and is active |
pdtk verify |
Check GitHub and LinkedIn sync status |
pdtk status |
Alias for verify |
pdtk github sync |
Link GitHub via Personal Access Token |
pdtk github details |
Show GitHub profile, repos, and activity |
pdtk linkedin sync |
Link LinkedIn via OAuth flow |
pdtk linkedin details |
Show LinkedIn profile and about section |
pdtk help |
Show available commands |
pdtk linkedin capture |
Listen for and capture data from the Chrome Extension |
pdtk linkedin capture + VS Code |
Also exposes a local /pdtk/editor/snapshot endpoint for the VS Code snapshot command |
pdtk brainstorm |
Launch interactive AI brainstorm terminal (Ollama) |
pdtk brainstorm setup |
Configure Ollama model for brainstorming |
pdtk brainstorm list |
List all saved brainstorm sessions |
pdtk brainstorm load <id> |
Resume a saved brainstorm session |
pdtk brainstorm export <id> |
Export a session to JSON file |
pdtk brainstorm import <file> |
Import a session from JSON file |
If the automatic sync fails due to bot detection, you can use the built-in Chrome Extension:
- Load Extension:
- Open Chrome and go to
chrome://extensions/. - Enable Developer Mode (top-right).
- Click Load unpacked and select the
pdtk-linkedin-extensionfolder in this repository.
- Open Chrome and go to
- Sync Profile:
- Run
pdtk linkedin capturein your terminal. - Open your LinkedIn profile in Chrome.
- Click the "Sync with PDTK" button at the bottom-right of the page.
- Your details (About, Projects, Skills) will be instantly sent to PDTK!
- Run
Use this to send your active editor context to PDTK on command (respects ignore globs):
- Start the PDTK listener:
pdtk linkedin capture(keeps the local server open). - Open VS Code and run the dev extension in
vscode-pdtk-link/(F5 using the provided.vscode/launch.json). - In the Extension Host window, open a file and run PDTK: Send Editor Snapshot from the Command Palette.
- The snapshot POSTs to
http://localhost:4000/pdtk/editor/snapshot; skip patterns can be configured viapdtkLink.ignoreGlobs.
A structured, AI-assisted ideation environment powered by Mistral via Ollama (fully local, no cloud). Acts as a thinking partner, not a chatbot. Opens in its own dedicated terminal window on Windows.
# Start brainstorming — opens a dedicated CMD window on Windows
pdtk brainstorm
# Resume a previous session
pdtk brainstorm load <SESSION_ID>
# Session management (runs in current terminal)
pdtk brainstorm list
pdtk brainstorm setup
pdtk brainstorm export <id>
pdtk brainstorm import <file>Inside the brainstorm terminal — slash commands:
pdtk > /brainstorm Real-time duel system # Structured AI analysis (2 options)
pdtk > /option 2 # Explore the alternative path
pdtk > /expand architecture # Deep-dive a section
pdtk > /compare # Side-by-side option analysis
pdtk > /refine the hybrid approach # Sharpen a specific idea
pdtk > /report # Generate & save session report
pdtk > /exit # Exit and save session
Natural language is also fully supported:
pdtk > brainstorm WebSocket architecture # Same as /brainstorm
pdtk > tell me more about the risks # Same as /expand risks
pdtk > go with option 1 # Same as /option 1
pdtk > compare them # Same as /compare
pdtk > what do you think about Redis? # Free-form AI chat via Mistral
pdtk > hello # Conversational — Mistral responds
The terminal uses a 3-tier input pipeline: slash command → NL intent detection → free-form Mistral chat. Mapped intents are echoed in dim so you always see what was triggered.
Key features:
- Mistral powered — Runs locally via Ollama, zero cloud dependency, zero latency overhead
- Dedicated window — Launches in its own titled CMD window, separate from your main terminal
- Natural language input — Understands plain English as well as slash commands
- Second Option Logic — Every brainstorm generates two distinct paths to prevent tunnel vision
- Anti-Overthinking — Warns after 2 expansions, blocks at 4 until you decide
- Session Persistence — Auto-saved as JSON, resume anytime with
pdtk brainstorm load <id> - Structured Reports — Full session reports with action items, decisions, and next-focus
Prerequisites: Ollama installed and running (ollama serve), Mistral pulled (ollama pull mistral)
| Command | Description |
|---|---|
pdtk linkedin post |
Post shared content to LinkedIn |
pdtk push |
Push code to GitHub |
pdtk deploy |
Deploy to configured platform |
pdtk/
├── bin/
│ └── pdtk.js # CLI entry point & command router
├── core/
│ ├── config.js # Configuration management
│ ├── identity.js # GitHub identity detection
│ ├── github-api.js # GitHub API interactions
│ ├── linkedin.js # LinkedIn OAuth & API
│ ├── brainstorm.js # Brainstorm REPL, renderers & commands
│ ├── brainstorm-ai.js # Ollama AI integration & structured prompts
│ └── brainstorm-session.js# Session persistence & report generation
├── config/
│ ├── pdtk.config.json # Local config (gitignored)
│ └── brainstorm-sessions/ # Saved brainstorm sessions (gitignored)
├── pdtk-linkedin-extension/ # Chrome extension for LinkedIn sync
├── vscode-pdtk-link/ # VS Code extension for editor snapshots
├── package.json
├── COMMANDS.md # Full command reference
├── CHANGELOG.md
└── README.md
User Command → CLI Parser → Action Router → Whitelisted Executor → Output
- No secrets in code — Credentials are read at runtime, never stored
- SSH key protection — Only checks file existence, never reads contents
- Config excluded — Local config files are gitignored
- Whitelisted execution only — No arbitrary command execution
| Version | Focus | Status |
|---|---|---|
| v0.1.0 | Initial setup + GitHub identity verification | ✅ Complete |
| v0.1.1 | GitHub API, LinkedIn OAuth, Chrome Extension | ✅ Complete |
| v0.2.0 | Brainstorm Terminal (Ollama-powered) | ✅ Complete |
| v0.2.1 | Mistral integration, dedicated window, NL understanding, AI chat | ✅ Complete |
| v1.0.0 | Push, Deploy, LinkedIn Post | 🔜 In Progress |
- Runtime: Node.js (LTS)
- Execution: OS shell via Node.js child_process
- AI Engine: Ollama (local LLM, no cloud dependency)
- Dependencies: None (uses only Node.js built-ins)
- External CLIs:
git,ollama, deployment CLI (e.g.,vercel)
MIT
PDTK v1.0 is focused on finishability. Feature requests are welcome but will be deferred to post-v1.0 if they expand scope.
PDTK exists to help you ship work — not to become work itself.