aiwf 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AI-WORKFLOW.md +285 -0
- package/CHANGELOG.md +1 -0
- package/COMMANDS_GUIDE.md +462 -0
- package/LICENSE +21 -0
- package/PRD.ko.md +96 -0
- package/PRD.md +98 -0
- package/README.ko.md +115 -0
- package/README.md +117 -0
- package/claude-code/docker/Dockerfile +117 -0
- package/claude-code/simone/.simone/00_PROJECT_MANIFEST.md +49 -0
- package/claude-code/simone/.simone/01_PROJECT_DOCS/ARCHITECTURE.md +55 -0
- package/claude-code/simone/.simone/02_REQUIREMENTS/CLAUDE.md +78 -0
- package/claude-code/simone/.simone/02_REQUIREMENTS/M01_Backend_Setup/M01_milestone_meta.md +38 -0
- package/claude-code/simone/.simone/02_REQUIREMENTS/M01_Backend_Setup/PRD_AMEND_01_Auth_Flow_Update.md +69 -0
- package/claude-code/simone/.simone/02_REQUIREMENTS/M01_Backend_Setup/PRD_Backend_Setup.md +98 -0
- package/claude-code/simone/.simone/02_REQUIREMENTS/M01_Backend_Setup/SPECS_API_V1.md +232 -0
- package/claude-code/simone/.simone/03_SPRINTS/CLAUDE.MD +62 -0
- package/claude-code/simone/.simone/03_SPRINTS/S01_M01_Initial_API/S01_sprint_meta.md +42 -0
- package/claude-code/simone/.simone/03_SPRINTS/S01_M01_Initial_API/T01_S01_Setup_Project_Structure.md +56 -0
- package/claude-code/simone/.simone/04_GENERAL_TASKS/CLAUDE.MD +51 -0
- package/claude-code/simone/.simone/04_GENERAL_TASKS/T002_API_Rate_Limiting.md +49 -0
- package/claude-code/simone/.simone/04_GENERAL_TASKS/TX001_Refactor_Logging_Module.md +53 -0
- package/claude-code/simone/.simone/05_ARCHITECTURAL_DECISIONS/ADR001_Chosen_Database_System.md +113 -0
- package/claude-code/simone/.simone/05_ARCHITECTURAL_DECISIONS/ADR002_API_Authentication_Method.md +118 -0
- package/claude-code/simone/.simone/99_TEMPLATES/adr_template.md +49 -0
- package/claude-code/simone/.simone/99_TEMPLATES/milestone_meta_template.md +25 -0
- package/claude-code/simone/.simone/99_TEMPLATES/project_manifest_template.md +39 -0
- package/claude-code/simone/.simone/99_TEMPLATES/sprint_meta_template.md +23 -0
- package/claude-code/simone/.simone/99_TEMPLATES/task_template.md +35 -0
- package/claude-code/simone/.simone/CLAUDE.MD +65 -0
- package/claude-code/simone/.simone/README.md +97 -0
- package/claude-code/simone/CHANGELOG.md +71 -0
- package/claude-code/simone/LICENSE +21 -0
- package/claude-code/simone/README.md +219 -0
- package/claude-code/simone/SYNC_GUIDE.md +172 -0
- package/claude-code/simone/sync-simone.sh +138 -0
- package/index.js +468 -0
- package/package.json +38 -0
- package/rules/global/code-style-guide.md +30 -0
- package/rules/global/coding-principles.md +33 -0
- package/rules/global/development-process.md +41 -0
- package/rules/global/global-rules.md +84 -0
- package/rules/manual/generate-plan-docs.md +280 -0
package/claude-code/simone/.simone/05_ARCHITECTURAL_DECISIONS/ADR001_Chosen_Database_System.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# ADR 001: Chosen Database System (EXAMPLE)
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
Accepted
|
|
6
|
+
|
|
7
|
+
## Date
|
|
8
|
+
|
|
9
|
+
2023-07-05
|
|
10
|
+
|
|
11
|
+
## Context
|
|
12
|
+
|
|
13
|
+
The backend system needs a database to store user accounts, projects, tasks, and other application data. The choice of database system will impact performance, scalability, development speed, and maintenance requirements.
|
|
14
|
+
|
|
15
|
+
**Note: This is an example Architecture Decision Record to demonstrate how ADRs might be structured in the Simone framework.**
|
|
16
|
+
|
|
17
|
+
We evaluated several options including:
|
|
18
|
+
- Relational databases (PostgreSQL, MySQL)
|
|
19
|
+
- Document databases (MongoDB, CouchDB)
|
|
20
|
+
- Key-value stores (Redis, DynamoDB)
|
|
21
|
+
|
|
22
|
+
## Decision
|
|
23
|
+
|
|
24
|
+
We will use **MongoDB** as the primary database for this project.
|
|
25
|
+
|
|
26
|
+
## Rationale
|
|
27
|
+
|
|
28
|
+
The decision was based on the following factors:
|
|
29
|
+
|
|
30
|
+
1. **Schema Flexibility**: The project requirements are expected to evolve rapidly during development. MongoDB's flexible schema allows us to iterate quickly without needing migrations for every model change.
|
|
31
|
+
|
|
32
|
+
2. **JSON-Native Data Model**: Our API communicates in JSON, and MongoDB's BSON format aligns well with our data structures. This reduces the object-relational impedance mismatch.
|
|
33
|
+
|
|
34
|
+
3. **Scalability**: MongoDB's horizontal scaling capabilities via sharding will support our growth projections.
|
|
35
|
+
|
|
36
|
+
4. **Developer Productivity**: The team has prior experience with MongoDB and Mongoose ODM, which will accelerate development.
|
|
37
|
+
|
|
38
|
+
5. **Performance**: For our read-heavy workloads with relatively simple query patterns, MongoDB offers good performance characteristics.
|
|
39
|
+
|
|
40
|
+
6. **Ecosystem**: The robust Node.js ecosystem around MongoDB with libraries like Mongoose provides tools for validation, middleware, and other features that align with our development approach.
|
|
41
|
+
|
|
42
|
+
Some concerns were raised about:
|
|
43
|
+
- Lack of ACID transactions across multiple documents (though MongoDB does support multi-document transactions now)
|
|
44
|
+
- Potential for data duplication in document model
|
|
45
|
+
|
|
46
|
+
We determined these concerns were manageable for our use case and outweighed by the benefits.
|
|
47
|
+
|
|
48
|
+
## Alternatives Considered
|
|
49
|
+
|
|
50
|
+
### PostgreSQL
|
|
51
|
+
|
|
52
|
+
Pros:
|
|
53
|
+
- Mature, proven technology with strong ACID compliance
|
|
54
|
+
- Excellent for complex relational data and joins
|
|
55
|
+
- Support for JSON data types provides some schema flexibility
|
|
56
|
+
|
|
57
|
+
Cons:
|
|
58
|
+
- Schema migrations could slow development velocity
|
|
59
|
+
- Object-relational mapping adds complexity
|
|
60
|
+
- Less natural fit for our document-oriented data model
|
|
61
|
+
|
|
62
|
+
### DynamoDB
|
|
63
|
+
|
|
64
|
+
Pros:
|
|
65
|
+
- Fully managed service with automatic scaling
|
|
66
|
+
- Predictable performance with guaranteed low-latency
|
|
67
|
+
- Strong consistency options
|
|
68
|
+
|
|
69
|
+
Cons:
|
|
70
|
+
- Less flexible query capabilities
|
|
71
|
+
- AWS lock-in
|
|
72
|
+
- Potentially higher cost for our access patterns
|
|
73
|
+
- Less familiar to the development team
|
|
74
|
+
|
|
75
|
+
## Consequences
|
|
76
|
+
|
|
77
|
+
### Positive
|
|
78
|
+
|
|
79
|
+
- Faster initial development due to schema flexibility
|
|
80
|
+
- Easier object mapping between API and database
|
|
81
|
+
- Good performance for our expected read-heavy workloads
|
|
82
|
+
- Simplified deployment with MongoDB Atlas
|
|
83
|
+
|
|
84
|
+
### Negative
|
|
85
|
+
|
|
86
|
+
- Will require care when modeling relationships between data
|
|
87
|
+
- May need supplementary systems (like Redis) for certain use cases
|
|
88
|
+
- Need to handle eventual consistency in some parts of the application
|
|
89
|
+
|
|
90
|
+
### Neutral
|
|
91
|
+
|
|
92
|
+
- Team will need to follow MongoDB best practices for schema design
|
|
93
|
+
- We'll use Mongoose ODM to provide schema validation and middleware
|
|
94
|
+
|
|
95
|
+
## Implementation Notes
|
|
96
|
+
|
|
97
|
+
- We will use MongoDB Atlas as the managed service for all environments
|
|
98
|
+
- Mongoose will be our ODM of choice
|
|
99
|
+
- Initial indexes will be created for user email, project names, and task status
|
|
100
|
+
- We will implement soft deletion for most entities
|
|
101
|
+
- Data validation will happen at both the Mongoose schema level and API input level
|
|
102
|
+
|
|
103
|
+
## Related Decisions
|
|
104
|
+
|
|
105
|
+
- ADR002: API Authentication Method
|
|
106
|
+
- ADR004: Caching Strategy (pending)
|
|
107
|
+
|
|
108
|
+
## References
|
|
109
|
+
|
|
110
|
+
- [MongoDB Documentation](https://docs.mongodb.com/)
|
|
111
|
+
- [Mongoose Documentation](https://mongoosejs.com/docs/)
|
|
112
|
+
- MongoDB vs PostgreSQL comparison analysis (internal document)
|
|
113
|
+
- Performance benchmark results (internal document)
|
package/claude-code/simone/.simone/05_ARCHITECTURAL_DECISIONS/ADR002_API_Authentication_Method.md
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# ADR 002: API Authentication Method (EXAMPLE)
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
Accepted
|
|
6
|
+
|
|
7
|
+
## Date
|
|
8
|
+
|
|
9
|
+
2023-07-08
|
|
10
|
+
|
|
11
|
+
## Context
|
|
12
|
+
|
|
13
|
+
Our API requires a secure authentication mechanism to identify users, protect resources, and control access to endpoints. We needed to select an approach that balances security, usability, and compatibility with our chosen tech stack.
|
|
14
|
+
|
|
15
|
+
**Note: This is an example Architecture Decision Record to demonstrate how ADRs might be structured in the Simone framework.**
|
|
16
|
+
|
|
17
|
+
Several authentication strategies were considered:
|
|
18
|
+
- Session-based authentication with cookies
|
|
19
|
+
- JWT (JSON Web Tokens)
|
|
20
|
+
- OAuth 2.0
|
|
21
|
+
- API keys
|
|
22
|
+
- Combinations of the above
|
|
23
|
+
|
|
24
|
+
## Decision
|
|
25
|
+
|
|
26
|
+
We will use **JWT (JSON Web Tokens)** as our primary authentication method, with OAuth 2.0 support for social logins.
|
|
27
|
+
|
|
28
|
+
## Rationale
|
|
29
|
+
|
|
30
|
+
Our decision was based on the following factors:
|
|
31
|
+
|
|
32
|
+
1. **Statelessness**: JWTs are self-contained and don't require server-side session storage, aligning well with our API-first, potentially distributed architecture.
|
|
33
|
+
|
|
34
|
+
2. **Performance**: Token validation can happen without database lookups for each request, improving API response times.
|
|
35
|
+
|
|
36
|
+
3. **Cross-domain compatibility**: JWTs work well across different domains and in mobile applications, supporting our multi-client strategy.
|
|
37
|
+
|
|
38
|
+
4. **Security feature support**: JWTs support expiration, audience validation, and can be cryptographically signed to ensure integrity.
|
|
39
|
+
|
|
40
|
+
5. **OAuth Integration**: For social logins (Google, GitHub), we can still issue JWTs after OAuth authentication, maintaining a consistent authorization approach.
|
|
41
|
+
|
|
42
|
+
6. **Client-side storage**: JWTs can be securely stored in client-side mechanisms like localStorage or HTTP-only cookies, giving us flexibility in implementation.
|
|
43
|
+
|
|
44
|
+
7. **Industry standard**: JWT is widely adopted, well-documented, and has strong library support in our tech stack.
|
|
45
|
+
|
|
46
|
+
We acknowledged some concerns with JWT:
|
|
47
|
+
- Token revocation requires additional mechanisms (blacklisting or short expiration with refresh tokens)
|
|
48
|
+
- Token size can be larger than simple session IDs
|
|
49
|
+
- Token payload is encoded, not encrypted (sensitive data shouldn't be included)
|
|
50
|
+
|
|
51
|
+
## Alternatives Considered
|
|
52
|
+
|
|
53
|
+
### Session-based Authentication
|
|
54
|
+
|
|
55
|
+
Pros:
|
|
56
|
+
- Well-established, traditional approach
|
|
57
|
+
- Easy to implement and understand
|
|
58
|
+
- Simple to revoke (delete the session)
|
|
59
|
+
|
|
60
|
+
Cons:
|
|
61
|
+
- Requires session storage on the server
|
|
62
|
+
- Can be problematic in distributed/scaled environments
|
|
63
|
+
- Typically relies on cookies which have cross-domain limitations
|
|
64
|
+
|
|
65
|
+
### API Keys
|
|
66
|
+
|
|
67
|
+
Pros:
|
|
68
|
+
- Very simple to implement
|
|
69
|
+
- Good for service-to-service communication
|
|
70
|
+
- No expiration management needed
|
|
71
|
+
|
|
72
|
+
Cons:
|
|
73
|
+
- Not suitable for user authentication
|
|
74
|
+
- Limited granularity for permissions
|
|
75
|
+
- No built-in standard for claims or payload
|
|
76
|
+
|
|
77
|
+
## Consequences
|
|
78
|
+
|
|
79
|
+
### Positive
|
|
80
|
+
|
|
81
|
+
- Simplified server architecture with no session storage requirements
|
|
82
|
+
- Improved performance for authentication checks
|
|
83
|
+
- Enhanced cross-domain and mobile app support
|
|
84
|
+
- Ability to include standard claims (exp, iat, sub, etc.) in the token
|
|
85
|
+
|
|
86
|
+
### Negative
|
|
87
|
+
|
|
88
|
+
- Need to implement token refresh mechanism for long-lived sessions
|
|
89
|
+
- Need for a token blacklist/revocation strategy
|
|
90
|
+
- More complex client-side token management compared to cookies
|
|
91
|
+
|
|
92
|
+
### Neutral
|
|
93
|
+
|
|
94
|
+
- Need to carefully design token payload to balance size and information needs
|
|
95
|
+
- Will use short-lived access tokens (15 minutes) with longer-lived refresh tokens (7 days)
|
|
96
|
+
- Client applications must properly handle token storage and renewal
|
|
97
|
+
|
|
98
|
+
## Implementation Notes
|
|
99
|
+
|
|
100
|
+
- We will use the `jsonwebtoken` library for token creation and validation
|
|
101
|
+
- Tokens will be signed with RS256 (asymmetric) algorithm
|
|
102
|
+
- Access tokens will have a 15-minute expiration
|
|
103
|
+
- Refresh tokens will have a 7-day expiration and be single-use
|
|
104
|
+
- We will implement a token blacklist using Redis for immediate revocation when needed
|
|
105
|
+
- Social login (OAuth) will use Passport.js strategies
|
|
106
|
+
- Authentication middleware will validate tokens on protected routes
|
|
107
|
+
|
|
108
|
+
## Related Decisions
|
|
109
|
+
|
|
110
|
+
- ADR001: Chosen Database System
|
|
111
|
+
- ADR003: API Security Measures (pending)
|
|
112
|
+
|
|
113
|
+
## References
|
|
114
|
+
|
|
115
|
+
- [JWT.io](https://jwt.io/)
|
|
116
|
+
- [IETF RFC 7519 - JSON Web Token](https://tools.ietf.org/html/rfc7519)
|
|
117
|
+
- [Auth0: JWTs vs Sessions](https://auth0.com/blog/cookies-vs-tokens-definitive-guide/)
|
|
118
|
+
- [OWASP: JSON Web Token Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/JSON_Web_Token_for_Java_Cheat_Sheet.html)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
adr_id: ADR{{number}}
|
|
3
|
+
title: "{{title}}"
|
|
4
|
+
status: "proposed" # proposed | accepted | deprecated | superseded
|
|
5
|
+
date: {{YYYY-MM-DD}}
|
|
6
|
+
authors: ["{{author}}"]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# ADR{{number}}: {{title}}
|
|
10
|
+
|
|
11
|
+
## Status
|
|
12
|
+
|
|
13
|
+
{{status}} - {{YYYY-MM-DD}}
|
|
14
|
+
|
|
15
|
+
## Context
|
|
16
|
+
|
|
17
|
+
{{What is the issue that we're seeing that is motivating this decision or change?}}
|
|
18
|
+
|
|
19
|
+
## Decision
|
|
20
|
+
|
|
21
|
+
{{What is the change that we're proposing or have agreed to implement?}}
|
|
22
|
+
|
|
23
|
+
## Consequences
|
|
24
|
+
|
|
25
|
+
### Positive
|
|
26
|
+
|
|
27
|
+
- {{e.g., improvement of quality attribute satisfaction, follows the architectural principles, ...}}
|
|
28
|
+
|
|
29
|
+
### Negative
|
|
30
|
+
|
|
31
|
+
- {{e.g., compromising quality attribute, follows the architectural principles, ...}}
|
|
32
|
+
|
|
33
|
+
## Alternatives Considered
|
|
34
|
+
|
|
35
|
+
### {{Alternative 1}}
|
|
36
|
+
|
|
37
|
+
{{Description and reasoning for why this was not chosen}}
|
|
38
|
+
|
|
39
|
+
### {{Alternative 2}}
|
|
40
|
+
|
|
41
|
+
{{Description and reasoning for why this was not chosen}}
|
|
42
|
+
|
|
43
|
+
## Implementation Notes
|
|
44
|
+
|
|
45
|
+
{{Any specific implementation details, migration steps, or technical considerations}}
|
|
46
|
+
|
|
47
|
+
## Related
|
|
48
|
+
|
|
49
|
+
- {{Links to related ADRs, issues, or documentation}}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
milestone_id: M<ID>
|
|
3
|
+
title: Milestone Title
|
|
4
|
+
status: pending # pending | active | completed | blocked | on_hold
|
|
5
|
+
last_updated: YYYY-MM-DD HH:MM
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Milestone: {{ title }}
|
|
9
|
+
|
|
10
|
+
### Goals
|
|
11
|
+
- Clearly define the primary objectives of this milestone.
|
|
12
|
+
- What should be achieved by the end of this milestone?
|
|
13
|
+
|
|
14
|
+
### Key Documents
|
|
15
|
+
|
|
16
|
+
List the main requirement documents associated with this milestone (e.g., PRD, Technical Specifications).
|
|
17
|
+
|
|
18
|
+
- `PRD_<Milestone_Name>.md`
|
|
19
|
+
- `SPECS_<Milestone_Name>.md`
|
|
20
|
+
|
|
21
|
+
### Definition of Done (DoD)
|
|
22
|
+
- Specific, measurable criteria that must be met for this milestone to be considered complete.
|
|
23
|
+
|
|
24
|
+
### Notes / Context (Optional)
|
|
25
|
+
- Any additional context, high-level strategy, or important notes related to this milestone for Claude.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
project_name: {{project_name}}
|
|
3
|
+
current_milestone_id: {{current_milestone_id}}
|
|
4
|
+
highest_sprint_in_milestone: {{highest_sprint_in_milestone}}
|
|
5
|
+
current_sprint_id: {{current_sprint_id}}
|
|
6
|
+
status: active
|
|
7
|
+
last_updated: {{timestamp}}
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Project Manifest: {{project_name}}
|
|
11
|
+
|
|
12
|
+
This manifest serves as the central reference point for the project. It tracks the current focus and links to key documentation.
|
|
13
|
+
|
|
14
|
+
## 1. Project Vision & Overview
|
|
15
|
+
|
|
16
|
+
{{project_vision}}
|
|
17
|
+
|
|
18
|
+
This project follows a milestone-based development approach.
|
|
19
|
+
|
|
20
|
+
## 2. Current Focus
|
|
21
|
+
|
|
22
|
+
- **Milestone:** {{current_milestone_id}} - {{current_milestone_name}}
|
|
23
|
+
- **Sprint:** {{current_sprint_id}} - {{current_sprint_name}}
|
|
24
|
+
|
|
25
|
+
## 3. Sprints in Current Milestone
|
|
26
|
+
|
|
27
|
+
{{sprint_list}}
|
|
28
|
+
|
|
29
|
+
## 4. Key Documentation
|
|
30
|
+
|
|
31
|
+
- [Architecture Documentation](./01_PROJECT_DOCS/ARCHITECTURE.md)
|
|
32
|
+
- [Current Milestone Requirements](./02_REQUIREMENTS/{{current_milestone_id}}_{{current_milestone_slug}}/)
|
|
33
|
+
- [General Tasks](./04_GENERAL_TASKS/)
|
|
34
|
+
|
|
35
|
+
## 5. Quick Links
|
|
36
|
+
|
|
37
|
+
- **Current Sprint:** [{{current_sprint_id}} Sprint Folder](./03_SPRINTS/{{current_sprint_id}}_{{current_milestone_id}}_{{current_sprint_slug}}/)
|
|
38
|
+
- **Active Tasks:** Check sprint folder for T##_{{current_sprint_id}}_*.md files
|
|
39
|
+
- **Project Reviews:** [Latest Review](./10_STATE_OF_PROJECT/)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
sprint_folder_name: S<SprintSequenceID>_M<MilestoneID>_<Short_Name>
|
|
3
|
+
sprint_sequence_id: S<ID>
|
|
4
|
+
milestone_id: M<ID>
|
|
5
|
+
title: Sprint Title - Focus of this Sprint
|
|
6
|
+
status: pending # pending | active | completed | aborted
|
|
7
|
+
goal: Clearly state the primary objective of this sprint.
|
|
8
|
+
last_updated: YYYY-MM-DDTHH:MM:SSZ
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Sprint: {{ title }} ({{ sprint_sequence_id }})
|
|
12
|
+
|
|
13
|
+
## Sprint Goal
|
|
14
|
+
{{ goal }}
|
|
15
|
+
|
|
16
|
+
## Scope & Key Deliverables (Optional)
|
|
17
|
+
- What specific features, fixes, or outcomes are targeted in this sprint for Claude to work on?
|
|
18
|
+
|
|
19
|
+
## Definition of Done (for the Sprint) (Optional)
|
|
20
|
+
- What conditions must be met for the sprint itself to be considered successfully completed?
|
|
21
|
+
|
|
22
|
+
## Notes / Retrospective Points (Optional)
|
|
23
|
+
- Any specific notes for this sprint.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
task_id: T<TaskNN>_S<SprintSequenceID> # For Sprint Tasks (e.g., T01_S01) OR T<NNN> for General Tasks (e.g., T501)
|
|
3
|
+
sprint_sequence_id: S<ID> # e.g., S01 (If part of a sprint, otherwise null or absent)
|
|
4
|
+
status: open # open | in_progress | pending_review | done | failed | blocked
|
|
5
|
+
complexity: Medium # Low | Medium | High
|
|
6
|
+
last_updated: YYYY-MM-DDTHH:MM:SSZ
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Task: (Filename serves as the descriptive title)
|
|
10
|
+
|
|
11
|
+
## Description
|
|
12
|
+
Briefly explain what this task is about. Provide necessary context to understand the 'why' behind the task.
|
|
13
|
+
|
|
14
|
+
## Goal / Objectives
|
|
15
|
+
Clearly state what needs to be achieved by completing this task. What does success look like?
|
|
16
|
+
- Objective 1
|
|
17
|
+
- Objective 2
|
|
18
|
+
|
|
19
|
+
## Acceptance Criteria
|
|
20
|
+
Specific, measurable conditions that must be met for this task to be considered 'done'.
|
|
21
|
+
- [ ] Criterion 1 is met.
|
|
22
|
+
- [ ] Criterion 2 is verified.
|
|
23
|
+
|
|
24
|
+
## Subtasks
|
|
25
|
+
A checklist of smaller steps to complete this task.
|
|
26
|
+
- [ ] Subtask 1
|
|
27
|
+
- [ ] Subtask 2
|
|
28
|
+
|
|
29
|
+
## Output Log
|
|
30
|
+
*(This section is populated as work progresses on the task)*
|
|
31
|
+
|
|
32
|
+
[YYYY-MM-DD HH:MM:SS] Started task
|
|
33
|
+
[YYYY-MM-DD HH:MM:SS] Modified files: file1.js, file2.js
|
|
34
|
+
[YYYY-MM-DD HH:MM:SS] Completed subtask: Implemented feature X
|
|
35
|
+
[YYYY-MM-DD HH:MM:SS] Task completed
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# CLAUDE.md - Simone Framework Structure Guide
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
This is the root directory of the Simone framework structure. It contains all project documentation, requirements, sprints, and organizational files.
|
|
5
|
+
|
|
6
|
+
## Critical Files
|
|
7
|
+
|
|
8
|
+
### Project Manifest
|
|
9
|
+
**IMPORTANT**: The project manifest file MUST be named:
|
|
10
|
+
```
|
|
11
|
+
00_PROJECT_MANIFEST.md
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**NOT**:
|
|
15
|
+
- ❌ `MANIFEST.md`
|
|
16
|
+
- ❌ `PROJECT_MANIFEST.md`
|
|
17
|
+
- ❌ `project_manifest.md`
|
|
18
|
+
|
|
19
|
+
The manifest is the central reference file that tracks:
|
|
20
|
+
- Project name and status
|
|
21
|
+
- Current milestone and sprint
|
|
22
|
+
- Project metadata
|
|
23
|
+
- Last updated timestamp
|
|
24
|
+
|
|
25
|
+
## Directory Structure
|
|
26
|
+
```
|
|
27
|
+
.simone/
|
|
28
|
+
├── 00_PROJECT_MANIFEST.md # Central project reference (CORRECT NAME)
|
|
29
|
+
├── 01_PROJECT_DOCS/ # General project documentation
|
|
30
|
+
├── 02_REQUIREMENTS/ # Milestone-based requirements
|
|
31
|
+
├── 03_SPRINTS/ # Sprint execution folders
|
|
32
|
+
├── 04_GENERAL_TASKS/ # Non-sprint tasks
|
|
33
|
+
├── 05_ARCHITECTURAL_DECISIONS/ # ADR documentation
|
|
34
|
+
├── 10_STATE_OF_PROJECT/ # Project review snapshots
|
|
35
|
+
└── 99_TEMPLATES/ # Document templates
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Naming Conventions Summary
|
|
39
|
+
|
|
40
|
+
### Files
|
|
41
|
+
- **Project Manifest**: `00_PROJECT_MANIFEST.md`
|
|
42
|
+
- **Milestone Meta**: `M##_milestone_meta.md`
|
|
43
|
+
- **Sprint Meta**: `S##_M##_sprint_meta.md`
|
|
44
|
+
- **Task Files**: `TASK_##_*.md`
|
|
45
|
+
- **ADR Files**: `ADR_###_*.md`
|
|
46
|
+
|
|
47
|
+
### Folders
|
|
48
|
+
- **Milestones**: `M##_Milestone_Name/`
|
|
49
|
+
- **Sprints**: `S##_M##_Sprint_Name/`
|
|
50
|
+
- **State Snapshots**: `YYYY-MM-DD_HH-MM_snapshot/`
|
|
51
|
+
|
|
52
|
+
## Important Notes for Claude Code
|
|
53
|
+
|
|
54
|
+
1. **Always create `00_PROJECT_MANIFEST.md`** when initializing a project
|
|
55
|
+
2. **Use the templates** from `99_TEMPLATES/` for consistency
|
|
56
|
+
3. **Follow the naming conventions exactly** - they enable proper sorting and navigation
|
|
57
|
+
4. **Update the manifest** when creating milestones or sprints
|
|
58
|
+
5. **Use underscores** for spaces in folder and file names
|
|
59
|
+
|
|
60
|
+
## Common Initialization Mistakes
|
|
61
|
+
- Creating `MANIFEST.md` instead of `00_PROJECT_MANIFEST.md`
|
|
62
|
+
- Missing the leading zeros in numbered prefixes
|
|
63
|
+
- Using hyphens instead of underscores
|
|
64
|
+
- Creating files without using templates
|
|
65
|
+
- Not updating the manifest after structural changes
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Simone Framework
|
|
2
|
+
|
|
3
|
+
Simone is a project management system designed to work with Claude Code's strengths and limitations. It provides structure for breaking down software projects into manageable, context-aware tasks.
|
|
4
|
+
|
|
5
|
+
## Core Concept
|
|
6
|
+
|
|
7
|
+
The fundamental challenge: AI context windows are limited and we can't control what information stays or leaves during long sessions. Simone solves this by starting fresh for each task while providing rich, relevant context.
|
|
8
|
+
|
|
9
|
+
## How Simone Works
|
|
10
|
+
|
|
11
|
+
### 1. Requirements First
|
|
12
|
+
|
|
13
|
+
Projects begin with well-documented requirements and specifications:
|
|
14
|
+
|
|
15
|
+
**In `01_PROJECT_DOCS/`:**
|
|
16
|
+
|
|
17
|
+
- Architecture specifications (ARCHITECTURE.md is required)
|
|
18
|
+
- Technical design documents
|
|
19
|
+
- API specifications
|
|
20
|
+
- Database schemas
|
|
21
|
+
- Integration guides
|
|
22
|
+
|
|
23
|
+
**In `02_REQUIREMENTS/`:**
|
|
24
|
+
|
|
25
|
+
- Product Requirements Documents (PRDs) organized by milestone
|
|
26
|
+
- Feature specifications
|
|
27
|
+
- User stories and acceptance criteria
|
|
28
|
+
|
|
29
|
+
Both directories work together to define what gets built and how.
|
|
30
|
+
|
|
31
|
+
### 2. Structured Breakdown
|
|
32
|
+
|
|
33
|
+
Work is organized hierarchically:
|
|
34
|
+
|
|
35
|
+
- **Milestones** (M01, M02...) - Major project phases
|
|
36
|
+
- **Sprints** (S01, S02...) - Focused work periods within milestones
|
|
37
|
+
- **Tasks** (T01, T02...) - Atomic units of work
|
|
38
|
+
|
|
39
|
+
### 3. Task Execution Flow
|
|
40
|
+
|
|
41
|
+
Each task follows a strict workflow:
|
|
42
|
+
|
|
43
|
+
1. Task selected from sprint or general tasks
|
|
44
|
+
2. Status updated to `in_progress`
|
|
45
|
+
3. Work performed following acceptance criteria
|
|
46
|
+
4. Automatic code review against requirements
|
|
47
|
+
5. Task marked `done` only after review passes
|
|
48
|
+
6. File renamed with `TX` prefix to indicate completion
|
|
49
|
+
|
|
50
|
+
### 4. Context Management
|
|
51
|
+
|
|
52
|
+
For each task, Simone provides:
|
|
53
|
+
|
|
54
|
+
- The specific task description and criteria
|
|
55
|
+
- Relevant sprint and milestone context
|
|
56
|
+
- Architecture and requirements documentation
|
|
57
|
+
- Project manifest for current state awareness
|
|
58
|
+
|
|
59
|
+
This ensures Claude has exactly what's needed without information overload.
|
|
60
|
+
|
|
61
|
+
### 5. Quality Control
|
|
62
|
+
|
|
63
|
+
Built-in review processes maintain standards:
|
|
64
|
+
|
|
65
|
+
- **Code Review**: Every task completion triggers requirement validation
|
|
66
|
+
- **Project Review**: Regular health checks create timestamped snapshots
|
|
67
|
+
- **Zero Tolerance**: Any deviation from specifications fails review
|
|
68
|
+
|
|
69
|
+
## Directory Purpose
|
|
70
|
+
|
|
71
|
+
- `00_PROJECT_MANIFEST.md` - Current project state and focus
|
|
72
|
+
- `01_PROJECT_DOCS/` - Technical foundation (architecture, APIs, schemas)
|
|
73
|
+
- `02_REQUIREMENTS/` - Business requirements organized by milestone
|
|
74
|
+
- `03_SPRINTS/` - Sprint organization and task definitions
|
|
75
|
+
- `04_GENERAL_TASKS/` - Non-sprint specific tasks
|
|
76
|
+
- `05_ARCHITECTURE_DECISIONS/` - ADRs for key decisions
|
|
77
|
+
- `10_STATE_OF_PROJECT/` - Project review history
|
|
78
|
+
- `99_TEMPLATES/` - Standardized file templates
|
|
79
|
+
|
|
80
|
+
## Commands Overview
|
|
81
|
+
|
|
82
|
+
Simone commands (`/project:simone:command`) automate the workflow:
|
|
83
|
+
|
|
84
|
+
- Planning: `plan_milestone`, `create_sprint`
|
|
85
|
+
- Execution: `create_task`, `do_task`, `code_review`
|
|
86
|
+
- Maintenance: `commit`, `project_review`, `discuss_review`
|
|
87
|
+
- Utilities: `initialize`
|
|
88
|
+
|
|
89
|
+
## Key Principles
|
|
90
|
+
|
|
91
|
+
1. **Fresh Context**: Each task starts with a clean slate
|
|
92
|
+
2. **Focused Scope**: Tasks are sized for single-session completion
|
|
93
|
+
3. **Rich Context**: Surrounding documentation guides development
|
|
94
|
+
4. **Strict Validation**: Requirements are enforced, not suggested
|
|
95
|
+
5. **Progressive Documentation**: Knowledge accumulates in structured form
|
|
96
|
+
|
|
97
|
+
The result: Claude can always work confidently with full project awareness, regardless of session history.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 2025-05-30
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- `npx hello-simone` quick start command for easy Simone installation
|
|
8
|
+
- Interactive, adaptive initialize command that:
|
|
9
|
+
- Auto-detects project type and framework
|
|
10
|
+
- Guides users through conversational setup
|
|
11
|
+
- Creates documentation through Q&A process
|
|
12
|
+
- Adapts to existing vs new projects
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- initialize command completely rewritten for better user experience
|
|
17
|
+
- Removed complex branching logic in favor of adaptive process
|
|
18
|
+
- Focus on conversational interaction rather than rigid steps
|
|
19
|
+
|
|
20
|
+
### Improved
|
|
21
|
+
|
|
22
|
+
- Better handling of existing documentation during setup
|
|
23
|
+
- Smart project detection (Node.js, Python, PHP, etc.)
|
|
24
|
+
- Milestone creation now interactive and context-aware
|
|
25
|
+
|
|
26
|
+
## 2025-05-29
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
|
|
30
|
+
- ADR template for architecture decision records
|
|
31
|
+
- Task ID filtering in commit command (T01_S02, TX003 patterns)
|
|
32
|
+
- YOLO mode in commit command to skip user approval
|
|
33
|
+
- Code review results now write to task Output Log sections
|
|
34
|
+
- create_general_task command for structured task creation
|
|
35
|
+
- create_sprint_tasks command for detailed sprint planning
|
|
36
|
+
- create_sprints_from_milestone command for milestone-based sprint planning
|
|
37
|
+
- prime command for quick project context loading
|
|
38
|
+
- yolo command for autonomous task execution without user interaction
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- Date format simplified to YYYY-MM-DD HH:MM in templates
|
|
43
|
+
- Milestone template heading structure updated
|
|
44
|
+
- do_task command now uses parallel subagents and updates project manifest
|
|
45
|
+
- project_review command removes timeline pressure and focuses on current state
|
|
46
|
+
|
|
47
|
+
### Removed
|
|
48
|
+
|
|
49
|
+
- create_sprint, create_task, plan_milestone commands (replaced by new workflow)
|
|
50
|
+
|
|
51
|
+
## Developer Notes
|
|
52
|
+
|
|
53
|
+
This update represents a significant evolution based on real-world usage and user feedback. The command architecture has been substantially enhanced with better use of parallel agents, loops, and conditionals, which work surprisingly well in practice.
|
|
54
|
+
|
|
55
|
+
**Command Complexity**: The enhanced commands may behave differently between Claude Opus and Sonnet models. While the complexity might be challenging for Sonnet, testing suggests it should handle the workflows effectively.
|
|
56
|
+
|
|
57
|
+
**Task Quality Improvements**: The new `create_sprint_tasks` and `create_general_task` commands now provide much better context and codebase references, resulting in notably higher quality task generation with specific implementation guidance.
|
|
58
|
+
|
|
59
|
+
**YOLO Mode Warning**: The standalone `yolo` command requires extreme caution. It should only be used:
|
|
60
|
+
|
|
61
|
+
- Within isolated development environments
|
|
62
|
+
- With Claude Code's permission-skipping mode enabled (`claude --dangerously-skip-permissions`)
|
|
63
|
+
- Never on production systems or systems with important data
|
|
64
|
+
|
|
65
|
+
The YOLO mode can potentially modify or delete files outside your project directory. Use at your own risk and only in completely isolated environments.
|
|
66
|
+
|
|
67
|
+
**Feedback Welcome**: Submit issues or pull requests on GitHub. This framework continues to evolve based on real-world usage patterns.
|
|
68
|
+
|
|
69
|
+
## 2025-05-23
|
|
70
|
+
|
|
71
|
+
Initial release of Simone framework
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 moonklabs
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|