Technical documentation for GrowthProjects — a self-hosted project management app (workspaces, folders, lists, tasks, Kanban & time tracking) that runs inside WordPress. Covers how it works, the shortcode, custom post types, roles & capabilities, REST API, and the AI / MCP abilities.

Version: 1.0.0  |  Requires: WordPress 6.0+, PHP 8.0+  |  Text domain: growthprojects

1. Overview

GrowthProjects stores its data in native WordPress custom post types and exposes a single-page app (Kanban board, list view and time reports) rendered by a shortcode. Tasks live inside a hierarchy of Workspaces → Folders → Lists → Tasks, with tags, priorities, statuses, due dates, comments and a built-in time tracker. Everything is available three ways: the front-end app, the growthprojects/v1 REST API, and the WordPress Abilities API (optionally over MCP).

2. Installation & setup

  1. Activate the plugin. It registers the post types and grants capabilities, and runs its data migration on load.
  2. Create a WordPress page and add the shortcode [growthprojects].
  3. Give the page a full-width template (the app is a full-screen SPA). Users must be logged in and have app access.

3. Shortcode

[growthprojects]

Renders the project management app (mount node #gproj-app) with a sidebar tree, Kanban / list toggle, task side-panel and time reports. Access requires login and the gproj_access_app capability. Colors can be themed from the plugin’s Settings (theme presets or custom primary/hover colors).

4. Data model (custom post types)

Post typeRepresents
gproj_workspaceTop-level workspace
gproj_folderFolder inside a workspace
gproj_listList (project) inside a folder
gproj_taskTask (Kanban card) with status, priority, due date, comments and time entries

Taxonomy: gproj_tag (task tags). Time entries and comments are attached to tasks.

5. Roles & capabilities

CapabilityGrants
gproj_access_appOpen the app and see assigned work
gproj_manage_tasksCreate / edit / assign / delete tasks
gproj_manage_workspacesCreate / edit workspaces, folders and lists
gproj_track_timeStart / stop timers and log time entries
gproj_manage_timeEdit others’ time entries and view time reports

Post-type capabilities (edit_gproj_items, publish_gproj_items, delete_gproj_items, edit_published_gproj_items) are also mapped for fine-grained control.

6. REST API

Namespace: growthprojects/v1  —  base URL /wp-json/growthprojects/v1. Authentication is standard WordPress (logged-in cookie + X-WP-Nonce). Resource bases:

BasePurpose
/workspacesList / get / create / update / delete workspaces; nested /folders, /lists.
/folders, /listsManage folders and lists; nested /tasks.
/tasksCRUD tasks; nested /{id}/comments and /{id}/time-entries; /reorder.
/commentsTask comments.
/timer/start, /stop, /active — the running timer.
/time-entriesLogged time; /{id} update / delete.
/time-reportsAggregated time reports; /export.
/navigationThe full workspace → task navigation tree.
/usersAssignable users.

7. AI abilities & MCP

GrowthProjects registers a rich set of tools on the WordPress Abilities API, so an assistant can run the whole workflow. Highlights (~40 abilities):

  • Workspaces / folders / lists: list-workspaces, get-workspace, create-workspace, update-workspace, delete-workspace (and the same for folders and lists).
  • Tasks: search-tasks, get-task, create-task, update-task, assign-task, set-task-status, set-task-priority, set-task-due-date, delete-task.
  • Comments: list-task-comments, create-task-comment, delete-task-comment.
  • Time tracking: start-timer, stop-timer, get-active-timer, log-time-entry, update-time-entry, delete-time-entry, list-task-time-entries, get-time-report.
  • Navigation: get-navigation-tree.

All abilities are namespaced growthprojects/*, declare typed JSON schemas, and are capability-gated. Abilities flagged as MCP-public are exposed as callable MCP tools via the WordPress Abilities MCP adapter; destructive ones (e.g. delete-task) are excluded from the MCP surface by default. Required capability and MCP visibility are configurable per ability or per category in the plugin’s Abilities settings.


Back to GrowthProjects product page  |  All docs

Scroll to Top