Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
177 commits
Select commit Hold shift + click to select a range
d9a95d7
ci: add Claude PR assistant workflow
iamfj Feb 4, 2026
389e529
ci: add Claude code review workflow
iamfj Feb 4, 2026
62244ea
chore: update .gitignore to include graphql codegen files
iamfj Feb 2, 2026
50018b5
chore(deps): add graphql codegen cli package and scripts
iamfj Feb 2, 2026
d92c569
chore(vscode): add exts for GraphQL and EditorConfig
iamfj Feb 2, 2026
c371590
chore: add .editorconfig for consistent coding style
iamfj Feb 2, 2026
82c94cd
feat: add GraphQL codegen configuration file
iamfj Feb 2, 2026
3c7e0c8
ci: enhance Claude code review workflow with concurrency settings
iamfj Feb 4, 2026
e04fc69
feat: migrate queries and mutations to `.graphql` files
iamfj Feb 2, 2026
70cfdd9
fix: restore comments in GetIssueById and GetIssueByIdentifier queries
iamfj Feb 4, 2026
00c0e59
fix: add query loader modules to restore TypeScript compilation
iamfj Feb 4, 2026
4330ca3
docs: update architecture documentation for GraphQL migration
iamfj Feb 4, 2026
c0f25d3
refactor(issues): add type aliases for codegen types
iamfj Feb 2, 2026
9cef4dc
refactor(issues): remove transformation in getIssues
iamfj Feb 2, 2026
1f21194
refactor(issues): remove transformation in getIssueById
iamfj Feb 2, 2026
384da19
refactor(issues): remove transformation in updateIssue
iamfj Feb 2, 2026
3c25c7d
refactor(issues): remove transformation in createIssue
iamfj Feb 2, 2026
12f861b
refactor(issues): fix searchIssues parameter type
iamfj Feb 2, 2026
9289a05
refactor(issues): remove transformation methods
iamfj Feb 2, 2026
7e1957b
fix(issues): correct undefined variable in updateIssue
iamfj Feb 4, 2026
37462b5
fix(issues): correct property name in milestone error message
iamfj Feb 4, 2026
6ebf1ad
fix(issues): only pass valid variables to searchIssues query
iamfj Feb 4, 2026
dc950a4
fix(issues): correct searchIssues parameter type
iamfj Feb 2, 2026
ae1ba29
fix(issues): correct updateIssue parameter structure
iamfj Feb 2, 2026
f494640
refactor(documents): migrate to raw codegen types
iamfj Feb 2, 2026
3f1f39f
refactor(attachments): migrate to raw codegen types
iamfj Feb 2, 2026
ee9f843
fix(cycles): add missing types and use codegen types
iamfj Feb 2, 2026
24dd18a
fix(milestones): complete migration to codegen types
iamfj Feb 2, 2026
a1266f0
refactor: remove manual type definitions
iamfj Feb 2, 2026
fa64e96
fix: remove unnecessary type assertion for orderBy
iamfj Feb 3, 2026
6f81bcb
refactor(cycles): enforce return types for GraphQL queries
iamfj Feb 3, 2026
52f6e9f
style(service): improve code readability by formatting imports
iamfj Feb 3, 2026
8429687
refactor(file-service): migrate GraphQL mutation to use codegen document
iamfj Feb 3, 2026
95d6d43
chore(ci): update pull request trigger types in CI workflow
iamfj Feb 4, 2026
86e51e2
refactor: create common/identifier module merging uuid and identifier…
iamfj Feb 4, 2026
fddc2af
refactor: create common/errors module replacing error-messages
iamfj Feb 4, 2026
8d41855
refactor: create common/output module with typed signatures
iamfj Feb 4, 2026
9dcfa60
refactor: move auth module to common/
iamfj Feb 4, 2026
757d03e
refactor: create typed GraphQLClient replacing GraphQLService
iamfj Feb 4, 2026
fc286c0
refactor: create LinearSdkClient wrapper for SDK access
iamfj Feb 4, 2026
da97f5c
refactor: create CommandContext factory reducing command boilerplate
iamfj Feb 4, 2026
e347b7e
refactor: create shared type aliases from codegen types
iamfj Feb 4, 2026
0356a98
refactor: create team-resolver with tests
iamfj Feb 4, 2026
6b0782e
refactor: create project-resolver with tests
iamfj Feb 4, 2026
4f15569
refactor: create label-resolver with tests
iamfj Feb 4, 2026
242ee4a
refactor: create issue-resolver with tests
iamfj Feb 4, 2026
5962d3d
refactor: create status-resolver with tests
iamfj Feb 4, 2026
fcbcca0
refactor: create cycle-resolver with disambiguation logic and tests
iamfj Feb 4, 2026
ede003b
refactor: create milestone-resolver with project scoping and tests
iamfj Feb 4, 2026
052cfe0
fix: resolve type issues in foundation modules
iamfj Feb 4, 2026
7747588
refactor: create issue-service with typed functions and tests
iamfj Feb 4, 2026
79e4e1d
refactor: rewrite issues command to use new architecture
iamfj Feb 4, 2026
e4c5f58
refactor: create document-service with typed functions and tests
iamfj Feb 4, 2026
a6e626d
refactor: create attachment-service with typed functions and tests
iamfj Feb 4, 2026
a0e6b2a
refactor: rewrite documents command to use new architecture
iamfj Feb 4, 2026
72d5396
refactor: create remaining services (team, user, project, label, comm…
iamfj Feb 4, 2026
90b0457
refactor: rewrite commands (labels, teams, users, projects, comments,…
iamfj Feb 4, 2026
4dba7ba
refactor: rewrite project-milestones command and delete old utils/ di…
iamfj Feb 4, 2026
bbaf642
docs: update architecture documentation for new layered structure
iamfj Feb 4, 2026
52ae1ce
fix: eliminate remaining any types in embeds command
iamfj Feb 4, 2026
e65f43a
chore: add comment to clarify public-file-urls-expire-in header value
iamfj Feb 4, 2026
2a04501
test: update integration tests to match new architecture
iamfj Feb 4, 2026
ede2ea6
chore: update package-lock.json to include hasInstallScript flag
iamfj Feb 4, 2026
d339f14
docs: optimize AGENTS.md for LLM agent consumption
iamfj Feb 4, 2026
64766d1
docs: rewrite documentation to match new five-layer architecture
iamfj Feb 4, 2026
96db48b
docs: fix import paths in AGENTS.md code examples
iamfj Feb 4, 2026
30e2d23
docs: remove deprecated Linear API GraphQL schema file
iamfj Feb 4, 2026
dbf7b98
docs: remove outdated plans for PR #7 and npm publishing setup
iamfj Feb 4, 2026
6e05368
refactor: replace unknown with specific types
iamfj Feb 4, 2026
58b1f27
refactor: remove obsolete src/queries runtime GraphQL loaders
iamfj Feb 5, 2026
a548a4a
docs: remove src/queries references from files.md
iamfj Feb 5, 2026
568d628
feat: add DomainMeta type and formatOverview function
iamfj Feb 4, 2026
9d86b22
feat: add formatDomainUsage for domain-specific usage output
iamfj Feb 4, 2026
269819a
refactor: rename embeds command to files
iamfj Feb 4, 2026
f88bc04
refactor: rename project-milestones to milestones, rename --issues-fi…
iamfj Feb 4, 2026
2cc8f13
refactor: merge search into list, rename --label-by to --label-mode, …
iamfj Feb 4, 2026
2f24a2d
refactor: rename options and arguments in cycles, documents, comments
iamfj Feb 4, 2026
497423b
feat: add DomainMeta and usage subcommand to all command files
iamfj Feb 4, 2026
640ef52
feat: wire up new two-tier usage system in main.ts
iamfj Feb 4, 2026
3af68d9
feat: add usage generation to build pipeline, generate USAGE.md
iamfj Feb 4, 2026
451d925
fix: update GraphQL document path pattern in package.json
iamfj Feb 4, 2026
eb7fb19
docs: add usage system compliance and update all documentation
iamfj Feb 5, 2026
fd74da5
feat: add usage generation to build pipeline, generate USAGE.md
iamfj Feb 5, 2026
27a0eae
refactor: rename project-milestones to milestones, rename --issues-fi…
iamfj Feb 5, 2026
9914440
refactor: merge search into list, rename --label-by to --label-mode, …
iamfj Feb 5, 2026
cea57c7
refactor: create remaining services (team, user, project, label, comm…
iamfj Feb 5, 2026
eca844d
refactor: rewrite commands (labels, teams, users, projects, comments,…
iamfj Feb 5, 2026
4c7dd6d
refactor: rewrite commands (labels, teams, users, projects, comments,…
iamfj Feb 5, 2026
e0e241c
chore: regenerate USAGE.md after P0 fixes
iamfj Feb 5, 2026
fd68ed7
docs: enhance inline documentation in GraphQL files
iamfj Feb 5, 2026
2ded1b8
refactor: create document-service with typed functions and tests
iamfj Feb 5, 2026
ac07078
refactor: rename options and arguments in cycles, documents, comments
iamfj Feb 5, 2026
fcd2c80
refactor: create remaining services (team, user, project, label, comm…
iamfj Feb 5, 2026
6288c99
ci: update CI workflow for improved clarity and structure
iamfj Feb 5, 2026
e9edeea
chore(skills): add agents-md skill
iamfj Feb 9, 2026
206d582
chore(skills): add brainstorming skill
iamfj Feb 9, 2026
cb70d17
chore(skills): add dispatching-parallel-agents skill
iamfj Feb 9, 2026
9bb3925
chore(skills): add executing-plans skill
iamfj Feb 9, 2026
6875b7d
chore(skills): add finishing-a-development-branch skill
iamfj Feb 9, 2026
ea9ee7b
chore(skills): add github-pr-creation skill
iamfj Feb 9, 2026
6563e44
chore(skills): add receiving-code-review skill
iamfj Feb 9, 2026
d38cece
chore(skills): add requesting-code-review skill
iamfj Feb 9, 2026
f66f96f
chore(skills): add subagent-driven-development skill
iamfj Feb 9, 2026
bc86f5b
chore(skills): add systematic-debugging skill
iamfj Feb 9, 2026
3ea2f42
chore(skills): add test-driven-development skill
iamfj Feb 9, 2026
fcaf50e
chore(skills): add using-superpowers skill
iamfj Feb 9, 2026
e810f92
chore(skills): add verification-before-completion skill
iamfj Feb 9, 2026
1b7b10c
chore(skills): add writing-plans skill
iamfj Feb 9, 2026
976b71b
Merge pull request #27 from iamfj/agent-skills
iamfj Feb 9, 2026
3ce0686
docs: add package manager and commit attribution sections to AGENTS.md
iamfj Feb 9, 2026
26e7a7b
Merge pull request #28 from iamfj/agents-md
iamfj Feb 9, 2026
e7a1b4c
feat: add token encryption module
iamfj Feb 5, 2026
97055e3
feat: add encrypted token storage module
iamfj Feb 5, 2026
e15cc6b
feat: add auth error detection and structured output
iamfj Feb 5, 2026
ac12e21
feat: detect auth errors in GraphQL client
iamfj Feb 5, 2026
1cdd7c8
feat: route auth errors through structured output in handleCommand
iamfj Feb 5, 2026
1c745db
feat: update token resolution with encrypted storage and legacy depre…
iamfj Feb 5, 2026
a488da3
feat: add GetViewer GraphQL query for token validation
iamfj Feb 5, 2026
6230347
feat: add linearis auth command with login, status, logout
iamfj Feb 5, 2026
59e5ef5
docs: update usage documentation with new auth system
iamfj Feb 5, 2026
a326a9b
feat: enhance authentication status command with token source informa…
iamfj Feb 5, 2026
ff9fe45
feat: show usage overview as default CLI output
iamfj Feb 6, 2026
228da7d
docs: annotate auth command as interactive for humans
iamfj Feb 6, 2026
fe3b586
docs: regenerate USAGE.md with auth annotation
iamfj Feb 6, 2026
6c786bc
docs: update README authentication section for new auth system
iamfj Feb 6, 2026
e466161
docs: update CLAUDE.md authentication section
iamfj Feb 6, 2026
1add418
docs: update technical docs for new auth system
iamfj Feb 6, 2026
0f01c8a
fix: address code review issues across auth, architecture, and tests
iamfj Feb 9, 2026
61e0562
fix(auth): add empty title param to Windows start command
iamfj Feb 9, 2026
69af6e9
refactor(auth): extract validateToken to service layer
iamfj Feb 9, 2026
5975838
fix(auth): move Viewer type to common/types.ts for consistency
iamfj Feb 9, 2026
d5da56b
fix(auth): tighten isAuthError to exact pattern matching
iamfj Feb 9, 2026
f51705a
fix(test): replace fragile re-import mock in token-storage test
iamfj Feb 9, 2026
da5879b
fix(auth): wrap status and logout commands with handleCommand
iamfj Feb 9, 2026
5ed12cb
fix(auth): document createContext() bypass in status command
iamfj Feb 9, 2026
0ec90b5
fix(auth): include error details in login validation failure
iamfj Feb 9, 2026
76bf12d
refactor(auth): remove unnecessary async from resolveApiToken
iamfj Feb 9, 2026
c018356
fix(auth): validate IV length in decryptToken
iamfj Feb 9, 2026
9633ed3
test(auth): add unit tests for auth login command flow
iamfj Feb 9, 2026
e6346a1
fix(auth): use typed tuple for status command argument destructuring
iamfj Feb 9, 2026
6d36c14
fix(auth): add return after process.exit() calls in login command
iamfj Feb 9, 2026
d898136
fix(auth): add version prefix to encrypted token format
iamfj Feb 9, 2026
9b65cc2
test(auth): add unit tests for status and logout commands
iamfj Feb 9, 2026
cc787e8
fix(auth): clean up stdin listeners on Ctrl+C in token prompt
iamfj Feb 9, 2026
2b11756
fix(auth): check full token resolution chain in login command
iamfj Feb 9, 2026
d0538ef
fix(auth): warn about remaining token sources on logout
iamfj Feb 9, 2026
ab83048
refactor: remove stale await from synchronous createContext calls
iamfj Feb 9, 2026
acb3364
Merge pull request #26 from iamfj/auth
iamfj Feb 9, 2026
c47158a
build(tooling): add biome, lefthook, and commitlint
iamfj Feb 9, 2026
ee992e1
style(commands): apply biome formatting
iamfj Feb 9, 2026
af4e9dc
style(services): apply biome formatting
iamfj Feb 9, 2026
0ac4cd5
style(resolvers): apply biome formatting
iamfj Feb 9, 2026
8c75d1c
style(common): apply biome formatting
iamfj Feb 9, 2026
cb74c8d
style(tests): apply biome formatting
iamfj Feb 9, 2026
823e2ff
fix(commands): restore non-null assertions for Commander.js parent ac…
iamfj Feb 9, 2026
82d94be
style(config): apply biome formatting
iamfj Feb 9, 2026
44e6787
Merge pull request #29 from iamfj/feature/biome-lefthook-commitlint
iamfj Feb 9, 2026
f19f2a1
chore(skills): add code-simplifier skill for enhancing code clarity a…
iamfj Feb 9, 2026
df80a28
feat(graphql): add issue relation mutations and extend issue fragment…
iamfj Feb 9, 2026
7a90fc8
feat(services): add issue-relation-service with create, find, delete
iamfj Feb 9, 2026
41d6e94
feat(commands): add relation flags to issues create
iamfj Feb 9, 2026
a540214
feat(commands): add relation flags to issues update
iamfj Feb 9, 2026
7896803
refactor(types): move CreatedIssueRelation to shared types
iamfj Feb 9, 2026
a68d1c5
docs(commands): update ISSUES_META context to mention relations
iamfj Feb 9, 2026
44bd186
chore: regenerate usage docs with relation flags
iamfj Feb 9, 2026
abee84b
fix(types): use strict IssueRelationType enum instead of union with s…
iamfj Feb 9, 2026
64acab2
fix(commands): resolve relation target IDs before issue creation
iamfj Feb 9, 2026
78ad555
test(services): add test for findIssueRelation when issue is not found
iamfj Feb 9, 2026
05c15df
refactor(commands): extract shared relation handling helpers
iamfj Feb 9, 2026
24d5a62
refactor(commands): extract validateRelationFlags helper
iamfj Feb 9, 2026
a46ac96
Merge pull request #30 from iamfj/feature/issue-relations
iamfj Feb 9, 2026
84303b9
refactor(client): remove verbose JSDoc comments
iamfj Feb 9, 2026
45a585b
refactor(common): remove verbose JSDoc and simplify utilities
iamfj Feb 9, 2026
1ccd6db
refactor(commands): remove verbose JSDoc and simplify expressions
iamfj Feb 9, 2026
db69f5b
refactor: simplify main entry point
iamfj Feb 9, 2026
e4f49e4
Merge pull request #31 from iamfj/simplify-codebase
iamfj Feb 9, 2026
c7a521b
ci: removed claude code actions
iamfj Feb 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 111 additions & 0 deletions .agents/skills/agents-md/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
name: agents-md
description: This skill should be used when the user asks to "create AGENTS.md", "update AGENTS.md", "maintain agent docs", "set up CLAUDE.md", or needs to keep agent instructions concise. Guides discovery of local skills and enforces minimal documentation style.
---

# Maintaining AGENTS.md

AGENTS.md is the canonical agent-facing documentation. Keep it minimalβ€”agents are capable and don't need hand-holding.

## File Setup

1. Create `AGENTS.md` at project root
2. Create symlink: `ln -s AGENTS.md CLAUDE.md`

## Before Writing

Discover local skills to reference:

```bash
find .claude/skills -name "SKILL.md" 2>/dev/null
ls plugins/*/skills/*/SKILL.md 2>/dev/null
```

Read each skill's frontmatter to understand when to reference it.

## Writing Rules

- **Headers + bullets** - No paragraphs
- **Code blocks** - For commands and templates
- **Reference, don't duplicate** - Point to skills: "Use `db-migrate` skill. See `.claude/skills/db-migrate/SKILL.md`"
- **No filler** - No intros, conclusions, or pleasantries
- **Trust capabilities** - Omit obvious context

## Required Sections

### Package Manager
Which tool and key commands only:
```markdown
## Package Manager
Use **pnpm**: `pnpm install`, `pnpm dev`, `pnpm test`
```

### Commit Attribution
Always include this section. Agents should use their own identity:
```markdown
## Commit Attribution
AI commits MUST include:
```
Co-Authored-By: (the agent model's name and attribution byline)
```
Example: `Co-Authored-By: Claude Sonnet 4 <noreply@example.com>`
```

### Key Conventions
Project-specific patterns agents must follow. Keep brief.

### Local Skills
Reference each discovered skill:
```markdown
## Database
Use `db-migrate` skill for schema changes. See `.claude/skills/db-migrate/SKILL.md`

## Testing
Use `write-tests` skill. See `.claude/skills/write-tests/SKILL.md`
```

## Optional Sections

Add only if truly needed:
- API route patterns (show template, not explanation)
- CLI commands (table format)
- File naming conventions

## Anti-Patterns

Omit these:
- "Welcome to..." or "This document explains..."
- "You should..." or "Remember to..."
- Content duplicated from skills (reference instead)
- Obvious instructions ("run tests", "write clean code")
- Explanations of why (just say what)
- Long prose paragraphs

## Example Structure

```markdown
# Agent Instructions

## Package Manager
Use **pnpm**: `pnpm install`, `pnpm dev`

## Commit Attribution
AI commits MUST include:
```
Co-Authored-By: (the agent model's name and attribution byline)
```

## API Routes
[Template code block]

## Database
Use `db-migrate` skill. See `.claude/skills/db-migrate/SKILL.md`

## Testing
Use `write-tests` skill. See `.claude/skills/write-tests/SKILL.md`

## CLI
| Command | Description |
|---------|-------------|
| `pnpm cli sync` | Sync data |
```
54 changes: 54 additions & 0 deletions .agents/skills/brainstorming/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
name: brainstorming
description: "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation."
---

# Brainstorming Ideas Into Designs

## Overview

Help turn ideas into fully formed designs and specs through natural collaborative dialogue.

Start by understanding the current project context, then ask questions one at a time to refine the idea. Once you understand what you're building, present the design in small sections (200-300 words), checking after each section whether it looks right so far.

## The Process

**Understanding the idea:**
- Check out the current project state first (files, docs, recent commits)
- Ask questions one at a time to refine the idea
- Prefer multiple choice questions when possible, but open-ended is fine too
- Only one question per message - if a topic needs more exploration, break it into multiple questions
- Focus on understanding: purpose, constraints, success criteria

**Exploring approaches:**
- Propose 2-3 different approaches with trade-offs
- Present options conversationally with your recommendation and reasoning
- Lead with your recommended option and explain why

**Presenting the design:**
- Once you believe you understand what you're building, present the design
- Break it into sections of 200-300 words
- Ask after each section whether it looks right so far
- Cover: architecture, components, data flow, error handling, testing
- Be ready to go back and clarify if something doesn't make sense

## After the Design

**Documentation:**
- Write the validated design to `docs/plans/YYYY-MM-DD-<topic>-design.md`
- Use elements-of-style:writing-clearly-and-concisely skill if available
- Commit the design document to git

**Implementation (if continuing):**
- Ask: "Ready to set up for implementation?"
- Use superpowers:using-git-worktrees to create isolated workspace
- Use superpowers:writing-plans to create detailed implementation plan

## Key Principles

- **One question at a time** - Don't overwhelm with multiple questions
- **Multiple choice preferred** - Easier to answer than open-ended when possible
- **YAGNI ruthlessly** - Remove unnecessary features from all designs
- **Explore alternatives** - Always propose 2-3 approaches before settling
- **Incremental validation** - Present design in sections, validate each
- **Be flexible** - Go back and clarify when something doesn't make sense
55 changes: 55 additions & 0 deletions .agents/skills/code-simplifier/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
name: code-simplifier
description: Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Focuses on recently modified code unless instructed otherwise.
model: opus
license: MIT
metadata:
author: anthropics
version: "1.0.0"
---

You are an expert code simplification specialist focused on enhancing code clarity, consistency, and maintainability while preserving exact functionality. Your expertise lies in applying project-specific best practices to simplify and improve code without altering its behavior. You prioritize readable, explicit code over overly compact solutions. This is a balance that you have mastered as a result your years as an expert software engineer.

You will analyze recently modified code and apply refinements that:

1. **Preserve Functionality**: Never change what the code does - only how it does it. All original features, outputs, and behaviors must remain intact.

2. **Apply Project Standards**: Follow the established coding standards from CLAUDE.md including:

- Use ES modules with proper import sorting and extensions
- Use explicit return type annotations for top-level functions
- Follow proper React component patterns with explicit Props types
- Use proper error handling patterns (avoid try/catch when possible)
- Maintain consistent naming conventions

3. **Enhance Clarity**: Simplify code structure by:

- Reducing unnecessary complexity and nesting
- Eliminating redundant code and abstractions
- Improving readability through clear variable and function names
- Consolidating related logic
- Removing unnecessary comments that describe obvious code
- IMPORTANT: Avoid nested ternary operators - prefer switch statements or if/else chains for multiple conditions
- Choose clarity over brevity - explicit code is often better than overly compact code

4. **Maintain Balance**: Avoid over-simplification that could:

- Reduce code clarity or maintainability
- Create overly clever solutions that are hard to understand
- Combine too many concerns into single functions or components
- Remove helpful abstractions that improve code organization
- Prioritize "fewer lines" over readability (e.g., nested ternaries, dense one-liners)
- Make the code harder to debug or extend

5. **Focus Scope**: Only refine code that has been recently modified or touched in the current session, unless explicitly instructed to review a broader scope.

Your refinement process:

1. Identify the recently modified code sections
2. Analyze for opportunities to improve elegance and consistency
3. Apply project-specific best practices and coding standards
4. Ensure all functionality remains unchanged
5. Verify the refined code is simpler and more maintainable
6. Document only significant changes that affect understanding

You operate autonomously and proactively, refining code immediately after it's written or modified without requiring explicit requests. Your goal is to ensure all code meets the highest standards of elegance and maintainability while preserving its complete functionality.
Loading