Project Memory CLI — developer context in your terminal
Project description
Project Memory CLI
Developer context in your terminal — a Python CLI client for projectmemory.app.
Installation
pip install projectmemory-cli
Or from source:
git clone https://github.com/your-org/projectmemory-cli
cd projectmemory-cli
pip install -e ".[dev]"
Both pm and projectmemory are registered as executable names.
Quick Start
# Authenticate (opens browser)
pm login
# Create a project and start its first session
pm project create
# Or resume an existing project/session
pm resume "My App"
# See your current context
pm memory show
# Work with tasks
pm task list
pm task add "Implement login"
pm task done 42 # completes task, then optionally links a commit
pm done # interactive task completion shortcut
# Capture notes
pm capture "Don't forget to update the Stripe webhook URL"
# Report an issue
pm issue add "Login fails on mobile Safari"
# End your session with the shared backend review
pm session end
Commands
Authentication
| Command | Description |
|---|---|
pm login |
Authenticate via browser |
pm logout |
Revoke token |
pm whoami |
Show current user |
pm auth status |
Check auth status |
pm doctor |
Diagnose CLI config, auth, backend, project, session, and Git state |
Projects
| Command | Description |
|---|---|
pm project list |
List all projects |
pm project create |
Create a project (interactive) |
pm project current |
Show current project + session |
pm project link |
Link this directory to a project |
pm project unlink |
Remove directory mapping |
pm web |
Open project in browser |
Work Sessions
| Command | Description |
|---|---|
pm resume [project] |
Start or resume a session |
pm session status |
Show all active sessions |
pm session end |
End the current session |
Project Memory
| Command | Description |
|---|---|
pm memory show |
Display all memory fields |
pm memory status set [text] |
Update Current Status |
pm memory context set [text] |
Update Important Context |
pm memory update |
Interactive memory update, including open issues |
Next Action
| Command | Description |
|---|---|
pm next |
Show current Next Action |
pm next set [text] |
Set Next Action (interactive menu) |
pm next task <id> |
Link a task as Next Action |
pm next issue <id> |
Link an issue as Next Action |
pm next clear |
Clear Next Action |
Tasks
| Command | Description |
|---|---|
pm task list |
List tasks; supports --open, --completed, --snoozed, --all |
pm task add [title] |
Create a task |
pm task done <id> |
Complete task + optional commit link |
pm done |
Interactive task completion shortcut |
pm task snooze <id> |
Snooze task |
pm task reopen <id> |
Reopen task |
pm task edit <id> |
Edit task |
pm task delete <id> |
Delete task |
Notes
| Command | Description |
|---|---|
pm note list |
List notes |
pm note add [content] |
Create a note; supports --title, --editor, --stdin |
pm note search <query> |
Search notes |
pm capture [text] |
Quick note shortcut |
pm note edit <id> |
Edit a note |
pm note delete <id> |
Delete a note |
Issues
| Command | Description |
|---|---|
pm issue list |
List issues; supports --open, --resolved, --all |
pm issue add [description] |
Report an issue |
pm issue resolve <id> |
Mark issue as resolved |
pm issue reopen <id> |
Reopen issue |
pm issue edit <id> |
Edit issue |
pm issue delete <id> |
Delete issue |
Commits
| Command | Description |
|---|---|
pm commit link |
Interactive recovery flow for linking a commit to a completed task |
pm commit link HEAD --task 24 |
Directly link a commit/ref to a completed task |
Configuration
Configuration is stored at ~/.config/projectmemory/config.toml.
The default api_url is the Project Memory site root, for example https://projectmemory.app. The CLI adds API paths such as /api/cli/... internally.
pm config show # show all settings
pm config set api_url https://your-instance.example.com
pm config reset # restore defaults
Environment variables
| Variable | Description |
|---|---|
PROJECTMEMORY_API_URL |
API base URL |
PROJECTMEMORY_TOKEN |
Token override (skip keyring) |
PROJECTMEMORY_PROJECT |
Current project ID override |
PROJECTMEMORY_NO_COLOR |
Disable color output |
Diagnostics
Run a read-only diagnostic report when troubleshooting local configuration or support issues:
pm doctor
pm doctor --json
pm doctor --verbose
pm doctor --no-network
pm doctor never prints authentication tokens, refresh tokens, passwords, private keys, or OAuth secrets. It exits with 0 when healthy, 1 when warnings are present, and 2 when critical issues prevent normal CLI use.
Directory Linking
Link the current git repository to a project so pm knows which project to use automatically:
cd ~/code/my-app
pm project link "My App"
# Now pm commands in this directory use "My App" automatically
pm task list # no --project needed
How Sessions Work
The CLI shares the session model with the web app. Sessions must be active for write operations (creating tasks, notes, issues, updating memory).
pm resumestarts or resumes the backend session for the selected projectpm session endshows the shared backend Session Review and finalizes that exact session- If the web app ends your session, the CLI will show a clear error and ask you to
pm resumeagain - A user can have active sessions in multiple projects, but the CLI has one current project
- Switching projects can end the current project session, keep it active, or cancel
Development
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run with coverage
pytest --cov=projectmemory_cli --cov-report=term-missing
# Lint
ruff check projectmemory_cli/
# Type check
mypy projectmemory_cli/
Security
- Tokens are stored in the OS keyring (or
~/.config/projectmemory/credentials.jsonwithchmod 600as fallback) - Passwords are never stored
- The
PROJECTMEMORY_TOKENenvironment variable overrides stored credentials (read-only) - Tokens can be revoked remotely via
pm logoutor from the web app at projectmemory.app/settings
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file projectmemory_cli-0.1.0.tar.gz.
File metadata
- Download URL: projectmemory_cli-0.1.0.tar.gz
- Upload date:
- Size: 36.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e71f0f6acbaaf756771dfa245a6c2c2c690996fb7ee5dfa0e5f74a59803addc1
|
|
| MD5 |
188cb870c8405a4f1bfb24b8554cfea2
|
|
| BLAKE2b-256 |
809d8ba0097c4be673ddac56230ec3beadfe75430270e808df98289357470e07
|
File details
Details for the file projectmemory_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: projectmemory_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 49.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31559a54a532913aae9220d55c9a5e9a5e117d07ef43ca106188e5d68ed6efd7
|
|
| MD5 |
2885a8726ae5ca69ea15c3d93952e415
|
|
| BLAKE2b-256 |
eeade90e9035cf36aef50bb4e8067c6aad6e7db9a1fcccf5ba8afbd3d01707c9
|