Last Updated: 2026-02-25
liis a LinkedIn CLI for agents.- It provides command-line workflows for authenticated LinkedIn operations with machine-friendly output for automation.
- This repository operating system exists to keep delivery PR-first, secure, and low-noise while the CLI evolves.
- Keep process lightweight: automate enforcement, avoid manual checklists in PR comments.
- Use GitHub Issues as the only task tracker.
- Deliver PR-first from short-lived
codex/*branches. - Prefer small, reviewable changes with explicit acceptance criteria.
- Keep repository docs current or remove them.
AGENTS.md(this file): workflow and operating rules.docs/SPEC.md: product and technical scope.docs/DECISIONS.md: architecture/process decisions and status.docs/MEMORY.md: append-only corrections and learned constraints.- GitHub Issue + PR templates in
.github/.
- Pull latest
mainand read open Issue scope. - Read
AGENTS.md, thendocs/SPEC.md. - Read recent entries in
docs/DECISIONS.mdanddocs/MEMORY.md. - Create/switch to
codex/<task-id>branch (orscripts/dev-worktree.sh). - Draft implementation plan in the Issue using the role plan field.
- Implement + validate locally (
npm run check,npm run security,bash scripts/check-docs.sh). - Open PR with
scripts/open-pr.shand request review.
- Every task starts with an Issue (
task.ymlorbug.yml). - The Issue must define Summary, Scope, Acceptance Criteria, Role Plan, Active Role, and Artifact.
- Update
Active Roleas work advances (explorer->worker->monitor->reviewer). - Link commits/PRs back to the Issue; PR must include
Closes #<issue>. - Bugs must include reproduction and expected vs actual behavior before coding.
explorer(read-only): gather context, constraints, and unknowns; no file writes.worker(workspace-write): implement code/docs/tests for one scoped issue slice.monitor(read-only): run checks, watch drift/security signals, and summarize failures.reviewer(read-only): assess regressions, missing tests, and policy violations.
- Local pre-commit hook:
- format staged files
- run one TS static check path (
npm run typecheck)
- Local pre-push hook:
- block direct
mainpushes unlessPROJECT_ALLOW_MAIN_PUSH=1 - run
npm run check - run
npm run security
- block direct
- CI pull_request workflow runs:
- docs checks (
bash scripts/check-docs.sh) - core checks (
npm run check) - security checks (
npm run security) - smoke checks (
bash scripts/smoke.sh) when enabled in CI; run this script locally for auth/session or end-to-end CLI changes before opening a PR
- docs checks (
- No secrets, session cookies, or private keys in tracked files.
- Keep
.envlocal; only commit.env.example. - Run
npm run securitybefore pushing. - Review external input handling and command argument validation.
- Prefer least-privilege defaults in scripts and automation.
- Record mistakes, drift causes, and fix patterns in
docs/MEMORY.md. - Add one new memory entry after each non-trivial bug/regression fix.
- Convert repeated failures into guardrail tests or script checks.
- If a correction changes process rules, update this file and log a decision.
- Log architecture/process decisions in
docs/DECISIONS.md. - Required fields: Date, Decision, Status, Rationale, Consequences, Supersedes.
- Mark replaced items as
supersededinstead of deleting history.
- Managed docs must include
Last Updated: YYYY-MM-DD. scripts/check-docs.shenforces date format, non-future dates, and freshness.- Freshness is checked only for docs changed in the PR by default.
- Set
DOC_CHECK_ALL_DOCS=1to force all managed docs freshness. - Remove or archive stale docs rather than keeping conflicting guidance.
- Linked GitHub Issue has acceptance criteria satisfied.
- Code, tests, docs, and templates are updated (if impacted).
- Required checks pass locally and in CI.
- PR includes concise summary, checks, and review notes.
- Any new decision/memory entries are recorded.
- Never force-push shared branches unless explicitly coordinated.
- Do not push directly to
main(hook-enforced). - Do not use destructive git commands (
reset --hard,checkout --) without explicit approval. - Keep branches scoped to a single issue/task.