Skip to content

feat: Linear starter pack and profile #1

@dpup

Description

@dpup

Summary

Ship a Linear profile and starter pack as the first curated content. The pack machinery (loading, override syntax, resolution) is fully built and tested — this is content authoring.

Profile: profiles/linear.yaml

Map Linear's API field names to readable aliases:

name: linear
aliases:
  team: "params.teamId"
  assignee: "params.assigneeId"
  priority: "params.priority"
  title: "params.title"
  description: "params.description"
  state: "params.stateId"
  project: "params.projectId"
  label: "params.labelIds"

Starter Pack: starter-packs/linear-safe-defaults.yaml

Opinionated defaults that prevent common agent mistakes:

name: linear-safe-defaults
profile: linear
rules:
  - name: no-delete
    match:
      operation: "delete_issue"
    action: deny
    message: "Issue deletion is not permitted. Archive instead."

  - name: no-auto-p0
    match:
      operation: "create_issue"
      when: "priority == 0"
    action: deny
    message: "P0 issues must be created by a human. Use priority 1 or lower."

  - name: no-close-issues
    match:
      operation: "update_issue"
      when: "state in ['done', 'cancelled']"
    action: deny
    message: "Agents cannot close or cancel issues directly."

  - name: no-sensitive-content
    match:
      operation: "create_issue"
      when: >
        containsAny(title, ['acquisition', 'merger', 'RIF', 'layoff'])
        || containsAny(description, ['acquisition', 'merger', 'RIF', 'layoff'])
    action: deny
    message: "Issue contains sensitive business terms. Create manually."

  - name: audit-all
    match:
      operation: "*"
    action: log

Fixture tests

Include fixture YAML that validates pack behavior — at minimum: allow normal creation, deny P0, deny delete, deny sensitive content, verify overrides work.

Notes

  • These are the examples referenced in the PRD and throughout the docs
  • Users can import and override: packs: [{name: linear-safe-defaults, overrides: {no-auto-p0: disabled}}]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions