@apolosan/unified-process
Pi package that bundles the Object-Oriented Unified Process extension and skills for the pi coding agent.
Package details
Install @apolosan/unified-process from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@apolosan/unified-process- Package
@apolosan/unified-process- Version
1.3.0- Published
- Oct 22, 2026
- Downloads
- 334/mo · 66/wk
- Author
- einarcesar
- License
- MIT
- Types
- extension, skill
- Size
- 682.8 KB
- Dependencies
- 0 dependencies · 2 peers
Pi manifest JSON
{
"skills": [
"./skills"
],
"extensions": [
"./extensions/unified-process"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Unified Process pi Extension
Version: 1.3.0
Pi package that bundles an Object-Oriented Unified Process workflow for the pi coding agent.
It ships:
- a custom extension with UP state, commands, and tools
- the full
up-*skill chain - dependency manifests and bootstrap scripts for the MCP/CLI ecosystem referenced by the skills
Canonical public package layout
This repository is organized as a pi package for public distribution:
extensions/unified-process/→ pi extension entrypoint and sourceskills/up-*/→ public skills shipped by the packageresources/→ dependency manifests and MCP templatescripts/→ dependency scanning/bootstrap helpers
This is the recommended layout for public sharing. The old project-local .pi/extensions/... layout is fine for local development, but not ideal as the canonical public/package structure.
Installation
Recommended npm package install:
pi install npm:@apolosan/unified-process
Alternative GitHub install:
pi install git:github.com/apolosan/unified_process_pi_extension
Package contents
Extension
Main extension entrypoint:
extensions/unified-process/index.ts
Registered commands:
/up/up-status/up-next/up-auto/up-artifacts
The extension footer/status now also shows the effective next UP command in real time (up:next). When the orchestrator persists an explicit recommendation, the extension also renders a compact widget above the editor with the recommended command and rationale, varying the label by recommendation type (forward progression, refinement, jump, coordination, risk-aware).
Integration verification (v1.3.0): before declaring implementation or deploy ready, the agent receives a mandatory integration checklist. Run stack/API/smoke/Tier 1 e2e commands, then record evidence with up_record_integration_check. The tool writes structured JSONL records to docs/up/14-implementation/smoke.log and deploy readiness requires all four check types (stack_up, api_health, smoke, tier1_integrated_e2e) with exit_code: 0.
Registered tools:
up_save_artifactup_load_artifactup_update_stateup_list_artifactsup_record_integration_check— record check type, command, exit code, and timestamp tosmoke.logup_require_paths— validate required integration paths (API, tests, matrix, operations, env template)up_test_quality_audit— audit the test battery against the anti-mediocre rules (P1), RF/RNF traceability, the UP test surface (use cases, flows, contracts, operations) and the test-type matrix;mode="strict"blocks the phaseup_generate_handoff— writedocs/up/15-handoff/HANDOFF-iter-{N}-{ISO}.mdwith completion status, uncovered requirements, uncovered surface and the last smoke evidence
Test-quality enforcement
up_test_quality_audit (and /up-audit) enforces four axes over the battery:
- Anti-mediocre (P1) — rejects
toBeDefined-only, trivial names, vendor-targeting and blind-snapshot tests. Fixtures embedded in string literals are not mistaken for tests. - Traceability — every
RF-NN/RNF-NNofdocs/up/02-requirements.mdmust be referenced by an@rf/@rnfmarker (ranges likeRF-09..12are supported). - Surface coverage — every use case, use-case flow, system operation, contract post-condition and contract exception must be claimed by a
@surfacemarker on a non-mediocre test; the TDD plan can justify an exclusion. - Type matrix — the
@typeslots must cover the taxonomy committed indocs/up/10-tdd-plan.md; the audit reportsplanned vs deliveredper type.
Skills
Included UP skills:
up-orchestratorup-5w2hup-visionup-requirementsup-use-casesup-sequence-diagramsup-conceptual-modelup-contractsup-tech-stackup-tddup-design-patternsup-object-designup-interface-designup-design-systemup-data-mappingup-implementationup-deployup-documentation
External dependencies referenced by the skills
The package itself is a pi package, but several skills explicitly rely on external MCP servers and CLIs.
MCP servers
Required/recommended MCPs referenced by the skills:
design-patternsshadcnradix-mcp-serverflyonui
Design Patterns MCP (concrete source + config)
The design-patterns MCP expected by up-design-patterns is the public repository:
https://github.com/apolosan/design_patterns_mcp
Manual install:
git clone https://github.com/apolosan/design_patterns_mcp.git .up-tools/design_patterns_mcp
cd .up-tools/design_patterns_mcp
bun install
bun run db:setup
Recommended MCP config:
{
"mcpServers": {
"design-patterns": {
"command": "node",
"args": ["dist/src/mcp-server.js"],
"cwd": "<INSTALL_PREFIX>/design_patterns_mcp",
"directTools": true,
"env": {
"LOG_LEVEL": "info",
"DATABASE_PATH": "./data/design-patterns.db",
"ENABLE_HYBRID_SEARCH": "true",
"ENABLE_GRAPH_AUGMENTATION": "true",
"EMBEDDING_COMPRESSION": "true",
"ENABLE_FUZZY_LOGIC": "true",
"ENABLE_TELEMETRY": "true",
"ENABLE_MULTI_LEVEL_CACHE": "true"
}
}
}
}
Example MCP configuration template:
resources/unified-process.mcp.example.json
Companion pi skills
Referenced support skills:
context7brave-searchweb-searchweb-fetch
CLI/tooling
Core CLI/tooling referenced directly by the skills:
npmnpxmmdc(@mermaid-js/mermaid-cli)dockerdocker-compose
Conditional toolchain candidates also referenced by the skills are listed in:
resources/unified-process-dependencies.json
That file includes the broader optional ecosystem mentioned in up-tech-stack, such as jest, pytest, playwright, cypress, k6, locust, semgrep, snyk, trivy, lighthouse, pa11y, stryker, mutmut, and others.
Automated dependency procedure
This repository includes an explicit automation layer to check, bootstrap, and template the MCP/CLI dependencies mentioned by the skills.
Check dependency status
npm run deps:check
or, after global install:
up-deps check
Scan skill references against the dependency catalog
npm run deps:scan
npm run check # dependency scan + extension syntax + unit tests
npm test # extension unit tests only
Runtime guarantees
| Capability | The workflow requires | The extension verifies automatically |
|---|---|---|
| Artifact I/O boundary | Artifacts stay under docs/up/ |
Yes: save/load reject traversal, absolute paths, encoded traversal, and mixed separator escapes |
| State updates | Only known UP state fields are persisted | Yes: malformed JSON, arrays/primitives, oversized payloads, and unknown fields are rejected |
| Activity completion | Activities advance only from sufficient artifacts | Partially: recovered state uses explicit completion rules and minimum artifact size; semantic completeness remains a skill/reviewer responsibility |
| Integration evidence | Stack/API/smoke/Tier 1 e2e evidence before deploy readiness | Partially: structured JSONL is parsed and all four check types are required, but commands are still executed outside the recording tool |
| Typecheck | Static TypeScript validation | Not yet: typescript is not installed in this package, so npx tsc --noEmit is a dependency/setup task |
Install known auto-installable dependencies
npm run deps:install
This now also bootstraps the public design_patterns_mcp server automatically when git and bun are available, then regenerates the MCP template.
To also include supported conditional npm/pip-based tools:
node ./scripts/setup-dependencies.mjs install-known --include-conditional
Generate an MCP template
npm run deps:mcp-template
Notes on automation scope
Not every dependency can be installed safely or universally in a single cross-platform script.
Because of that, the automation is intentionally split into:
- auto-installable dependencies: portable npm/pip packages plus the git+bun bootstrap for
design_patterns_mcp - system/manual dependencies: tools such as Docker or OS-level/security-sensitive tooling that depend on platform, credentials, or private infrastructure
This keeps the public package safe, reproducible, and aligned with pi package best practices.
Publishing notes
Recommended npm package name:
@apolosan/unified-process
Recommended GitHub repository:
apolosan/unified_process_pi_extension
Release script
NPM_TOKEN=<automation token with write access to the @apolosan scope> \
node scripts/publish-release.mjs
scripts/publish-release.mjs (also available as npm run release:publish) refuses to
publish unless every pre-flight condition holds: the version in package.json is a
plain semver, the tracked tree matches HEAD (override with --allow-dirty), the
target version is not already on the registry, npm run check passes, and the token
authenticates. The token is read from $NPM_TOKEN, never printed, and kept only in a
temporary 0600 npmrc that is deleted when the process exits. After a successful
publish the script re-reads the registry to confirm the new version is live.
The script publishes the tarball from a neutral working directory: npm gives the
project .npmrc (the one next to package.json) a higher precedence than any user
config, so a stale //registry…:_authToken line there would otherwise silently
shadow $NPM_TOKEN. When the repository has such a line the script says so and
ignores it on purpose.
Useful flags: --dry-run (validate and build the tarball without publishing, no token
needed), --otp <code> (two-factor code), --registry <url> (alternative registry),
--skip-check, --provenance (only honoured by GitHub Actions / GitLab CI).
License
MIT